Servlet生命周期分為三個階段:
1,初始化階段 調用init()方法
2,響應客戶請求階段 調用service()方法
3,終止階段 調用destroy()方法
Servlet初始化階段:
在下列時刻Servlet容器裝載Servlet:
1,Servlet容器啟動時自動裝載某些Servlet,實現它只需要在web.XML文件中的<Servlet></Servlet>之間添加如下代碼:
<loadon-startup>
1
</loadon-startup>
|
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 執行.
