Web容器維護servlet範例的生命週期。下面來看看servlet的生命週期,主要分為以下幾個步驟:
init
方法。service
方法。destroy
方法。模型流程圖如下所示 -
如上圖所示,servlet有三種狀態:新,就緒和結束。 如果servlet範例被建立,則servlet處於新狀態。 呼叫init()
方法後,Servlet進入就緒狀態。 在就緒狀態下,servlet執行所有任務。當web容器呼叫destroy()
方法時,它轉移到結束狀態。
1.載入Servlet類
類載入器負責載入servlet類。 當Web容器接收到servlet的第一個請求時,將載入servlet類。
2.建立Servlet範例
Web容器在載入servlet類之後建立一個servlet的範例。servlet範例在servlet生命週期中只建立一次。
3.呼叫init方法
Web容器在建立servlet範例後呼叫init
方法一次。 init
方法用於初始化servlet。 它是javax.servlet.Servlet
介面的生命周期方法。init
方法的語法如下:
public void init(ServletConfig config) throws ServletException
4.呼叫service方法
每當接收到servlet的請求時,Web容器都會呼叫service
方法。如果servlet未初始化,則遵循上述前三個步驟,然後呼叫service
方法。 如果servlet被初始化,它呼叫service
方法。 請注意,servlet僅初始化一次。 Servlet介面的service
方法的語法如下:
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException
5.呼叫destroy方法
從服務中刪除servlet範例之前,Web容器呼叫destroy
方法。它使servlet有機會清理所有資源,例如記憶體,執行緒等。Servlet介面的destroy
方法的語法如下:
public void destroy()
下圖描述了一個典型的servlet生命週期場景。
service()
方法之前載入servlet。service()
方法。