Servlet生命周期分為三個階段:
1,初始化階段 調用init()方法
2,響應客戶請求階段 調用service()方法
3,終止階段 調用destroy()方法
Servlet初始化階段:
在下列時刻Servlet容器裝載Servlet:
1,Servlet容器啟動時自動裝載某些Servlet,實作它隻需要在web.XML檔案中的<Servlet></Servlet>之間添加如下代碼:
|
2,在Servlet容器啟動後,客戶首次向Servlet發送請求
3,Servlet類檔案被更新後,重新裝載Servlet
Servlet被裝載後,Servlet容器建立一個Servlet執行個體并且調用Servlet的init()方法進行初始化。在Servlet的整個生命周期内,init()方法隻被調用一次。
Servlet響應階段: Servlet在接收和響應客戶請求的過程中,首先客戶發送一個請求。
service()是在javax.servlet.Servlet接口中定義的, 在 javax.servlet.GenericServlet 中實作了這個接口, 而 doGet/doPost 則是在 javax.servlet.http.HttpServlet 中實作的, javax.servlet.http.HttpServlet 是 javax.servlet.GenericServlet 的子類. 所有可以這樣了解, 其實所有的請求均首先由 service() 進行處理, 而在 javax.servlet.http.HttpServlet 的 service() 方法中, 主要做的事情就是判斷請求類型是 Get 還是 Post, 然後調用對應的 doGet/doPost 執行.