servlet的生命週期

servlet 運行在servlet 容器中,其生命週期由容器來管理。servlet 的生命週期通過 javax.servlet.Servlet接口中的init(),servce(),和destory();方法表示。

1,加載和實例化

servlet 容器負責加載和實例化servlet 當容器啓動或在容器中檢測到需要這個servlet來響應一個請求 時。創建servlet實例。容器通過java 的反射API來創建servlet實例.所以servlet中不應該提供帶參數的構造函數。

2,初始化

在servlet實例化後,容器必須調用 init() 方法來初始化這個對象。初始化的目的是爲了讓servlet對象在處理客戶請求之前完成一些初始工作。對於每一個servlet實例,init() 方法只會調用一次。

3,請求處理

servlet 容器調用service()方法對請求處理。servlet 實例通過ServletRequest對象獲得客戶端的相關信息和請求信息。在對請求處理後調用ServletResponse對象設置響應信息。

4,服務終止

當容器檢測到一個servlet實例應該從服務器中移除時,容器調用實例的destory方法。讓實例釋放它所佔用的資源。如果在次發請求就會 創建一個新的servlet 實例。

      在整個servlet 的生命週期中,創建servlet實例,調用實例的init()和destory()方法都只執行一次,當初始話完成後,servlet容器將該實例保存在內存中,通過servlce()  方法爲接受請求服務。

發佈了43 篇原創文章 · 獲贊 6 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章