Servlet的生命週期(學習筆記)

Servlet本身不是直接在Java虛擬機上運行的,它需要Web容器程序控制這個載入和運行過程。Web容器控制整個Servlet的生命週期。一般分爲以下三總分:

1、創建和初始化

Web容器在載入Web程序時創建程序內每個Servlet類的一個實例。這一般發生在以下幾種情況:當Web服務器啓動時;或當第一個用戶對Servlet的請求傳遞到Web容器時;或者當程序被加入Web服務器時。這意味着,一個Servlet在生命週期內只被初始化一次。

同時,在調用Servlet的init()方法初始化Servlet時,Web容器創建一個Servlet設置對象(ServletConfig)實例並通過該對象向Servlet傳遞初始參數。這個Servlet設置對象在Servlet初始化後一直在內存中存在,直到Servlet被清除(Destroy)。初始化如果成功,Servlet成爲可提供服務的狀態,否則相反。

2、處理Web請求

當用戶請求傳遞到Web服務器時,Web服務器產生一個請求對象和響應對象。Web窗口將這兩個對象傳遞到處於可以服務狀態的Servlet來讓其進行處理。對應Servlet中的Service()、doGet()方法和doPost()方法。處理完成後通過Response對象返回給Web容器。

3、終止服務

當Web容器需要終止Servlet時(比如Web服務器即將被關掉),它會調用Servlet的destroy()方法使Servlet停止服務並被清除掉。

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