標籤:生命週期 .com bsp 角色 htm exception 錯誤 http 運用
Servlet生命週期
一、初始化階段 當WEB客戶第一次請求訪問某個Servlet的時候,WEB容器將建立這個Servlet的執行個體。調用init()方法進行Servlet的初始化
一、響應客戶要求階段 調用service()方法,service()方法根據收到的用戶端請求類型,決定調doGet()還是doPost()還是其他的doXXX()方法。
二、終止階段 當WEB應用被終止,或Servlet容器終止運行,web容器調用destroy()方法釋放掉Servlet所佔用的資源。
JSP與Servlet有什麼區別
1.jsp經編譯後就變成了Servlet,本質上就是servlet,都可以產生動態網頁
2.JSP的優點是擅長於網頁展示,Servlet擅長商務邏輯
3.Servlet是純java代碼,而jsp裡可寫java、html、css、js等代碼
Servlet怎麼處理一個請求
當使用者發送一個請求到某個Servlet的時候,Servlet容器會建立一個ServletRequst和ServletResponse對象。在ServletRequst對象中封裝了使用者的請求資訊,然後調用servlet的service()方法,把處理好的結果寫在ServletResponse中,然後Servlet容器把響應結果傳給使用者。
Jsp九大內建對象
- Request
包含使用者端請求的資訊
- Response
包含伺服器傳回用戶端的響應資訊
- Session
儲存在服務端的資料
- pageContext
頁面上下文
- Application
伺服器啟動時建立,伺服器關閉時停止
- Out
向用戶端輸出資料
- Config
8. Page
指網頁本身
9. Exception
用來處理Jsp分頁檔在執行時所有發生的錯誤和異常
forward和redirect的區別
轉寄與重新導向
(1)從地址欄顯示來說
forward是伺服器請求資源,伺服器直接存取目標地址的URL,把那個URL的響應內容讀取過來,然後把這些內容再發給瀏覽器.瀏覽器根本不知道伺服器發送
的內容從哪裡來的,所以它的地址欄還是原來的地址.redirect是服務端根據邏輯,發送一個狀態代碼,告訴瀏覽器重新去請求那個地址.所以地址欄顯示的是新的URL.
(2)從資料共用來說
forward:轉寄頁面和轉寄到的頁面可以共用request裡面的資料.
redirect:不能共用資料.
(3)從運用地方來說
forward:一般用於使用者登陸的時候,根據角色轉寄到相應的模組.
redirect:一般用於使用者登出登陸時返回首頁面和跳轉到其它的網站等.
(4)從效率來說
forward:高.
redirect:低.
servlet與jsp