servlet生命週期

2021-10-02 07:26:40 字數 683 閱讀 4234

了解了servlet的執行流程後,要講一下servlet的生命週期,包括三個階段:

初始化執行銷毀

初始化 init方法 執行一次

servllet的初始化就是將對應的類例項化並呼叫其init方法,僅執行一次,有兩種初始化方案

在伺服器啟動時執行(需要在web.xml中對應的servlet下增加 load-start-up標籤來標註啟動的順序)

在呼叫對應的servlet時執行

執行 service方法 執行多次

執行過程中每當有對應的請求傳送過來,執行servlet例項的service方法

執行過程如下圖:

注意:servlet的原始碼中定義了,直接呼叫父類的doget/dopost方法時會返回400或405的錯誤相應**,需要在子類中重寫這兩個方法

在api中有說明,不需要重寫父類的service方法,因為該方法只是做一次分發動作

父類的service方法中呼叫doget/dopost方法時,省略了this關鍵字,所以實際執行的方法應該是當前物件的方法即子類重寫的方法

注意這裡用到了單例模式(後面學習)

銷毀 destory方法 執行一次

在伺服器關閉前呼叫對應的destory方法,僅執行一次

Servlet生命週期

servlet生命週期分為三個階段 1,初始化階段 呼叫init 方法 2,響應客戶請求階段 呼叫service 方法 3,終止階段 呼叫destroy 方法 servlet初始化階段 1 自動裝載 servlet容器啟動時自動裝載某些servlet,實現它只需要在web.xml檔案中的之間新增1 ...

Servlet生命週期

什麼時候裝載 servlet 1,servlet容器啟動時自動裝載某些servlet,實現它只需要在web.xml檔案中的 之間新增如下 1 2,在servlet容器啟動後,客戶首次向servlet傳送請求。3,servlet類檔案被更新後,重新裝載servlet。2 初始化階段 呼叫init 方法...

Servlet生命週期

1 webclient向servlet容器 tomcat 發出http請求 2 servlet容器接收webclient的請求,建立servlet物件,呼叫其init方法,3 servlet容器建立乙個httprequest物件,將webclient請求的資訊封裝到這個物件中 4 servlet容器...