更新時間:2020-03-20 09:20:00 來源:動力節點 瀏覽2428次
什么是servlet?
Servlet是基于Java技術的web組件,容器托管的,用于生成動態內容。像其他基于Java的組件技術一樣,
Servlet也是基于平臺無關的Java類格式,被編譯為平臺無關的字節碼,可以被基于Java技術的webserver
動態加載并運行。容器(平時我們所使用的tomcat就是其中一種servlet容器),有時候也叫做servlet引擎,是webserver為支持servlet功能擴展的部分。客戶端
通過Servlet容器實現的請求/應答模型與Servlet交互。
servlet如何處理一個客戶端請求?
servlet的生命周期?
servlet按照一個嚴格定義的生命周期被管理,該生命周期包括:如何被加載?實例化?初始化?處理客戶端請求?何時結束服務?
該生命周期可以通過Servlet接口中的API來表示:init、service、destroy
加載和實例化階段
servlet容器負責加載和實例化servlet,加載和實例化可以發生在容器啟動時,或者延遲初始化直到容器有請求需要處理時。(通過開發者配置來確定)
初始化階段
servlet容器必須在處理客戶端請求之前,對servlet實例進行初始化(即調用Servlet.init接口)。可以完成一些讀取持久化配置數據、初始化資源等一次性的動作。
處理客戶端請求
完成初始化之后,servlet容器可以使用該servlet來處理客戶端請求。(容器通過開發者的配置,即servlet-mapping來尋找適合當前請求的servlet)客戶端請求由ServletRequest類型來封裝表示、Servlet響應由ServletResponse類型來封裝表示。這兩個類型的對象都由容器進行實例化,在調用Servlet處理客戶端請求時傳遞給Servlet的service方法。在Http請求的場景下,容器提供的實現對應為HttpServletRequest、HttpServletResponse。一個servlet實例應對多個客戶端請求的情況,導致了我們需要在處理請求時保證線程安全。
servlet技術中的其他組件?
在servlet技術中,除了Servlet接口用于處理請求這個組件接口外,還存在Filter、Listener這兩個重要的組件接口。
其中Filter是一種代碼重用的技術,運行運行過程中改變進入資源的請求和資源返回的響應中的有效負載和header信息。即可以在分發請求給servlet處理之前對請求進行攔截,之后再servlet完成處理,返回響應后對響應進行攔截。可以用于日志記錄、驗證等需求。
和servlet生命周期一樣,應用同樣存在生命周期。監聽應用生命周期事件可以讓開發人員更好的控制ServletContext、HTTPSession和ServletRequest的生命周期,可以更好的進行代碼分解。Servlet事件監聽器支持在ServletContext、HTTPSession和ServletRequest狀態改變時進行事件通知。
以上就是動力節點Java培訓機構小編介紹的“Javaweb項目學習視頻:Servlet解讀”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習