servlet的生命週期

2021-09-29 16:39:56 字數 877 閱讀 7874

servlet的生命週期

servlet是單例,在web專案執行期間,乙個servlet只會建立乙個物件

web專案本身就需要在多執行緒的環境中執行,tomcat伺服器會提供這樣的多執行緒環境,當瀏覽器傳送乙個請求,

tomcat接收到這個請求之後會開啟乙個執行緒去處理這個請求

在這種環境下,由於servlet是單例,所以在servlet中宣告的成員變數,就會有執行緒安全的問題。

所以我們應該盡量少的在servlet中定義成員變數

預設情況下,servlet物件是在使用者第一次訪問它的時候,由tomcat伺服器來建立的(可以通過配置進行改變)。

servlet物件建立成功之後,tomcat伺服器還會呼叫servlet裡面的init(servletconfig config),這個有參的init方法會呼叫無參的init()方法,程式設計師就可以重寫這個無參的init()方法,對建立好的servlet物件進行初始化操作.

如果使用者要訪問這個servlet物件,那麼tomcat伺服器會呼叫這個servlet物件中的service方法,只不過service方法中又進行了方法的層層呼叫,最後呼叫到了我們重寫的doget或者是dopost方法

可以通過修改web.xml檔案中的配置,去改變servlet物件建立的時間【也可以用過@webservlet註解進行設定】

只要在標籤中,新增乙個子標籤就可以了

標籤表示當前這個servlet需要在啟動tomcat伺服器期間就被建立出來

標籤裡面需要放乙個正整數,數值的大小可以決定servlet物件被建立的先後順序,數值越小就越先被建立。(如果有多個servlet物件需要在tomcat啟動期間被建立的話)

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容器...