Servlet生命週期

2021-07-22 22:58:47 字數 1913 閱讀 9458

1、webclient向servlet容器(tomcat)發出http請求

2、servlet容器接收webclient的請求,建立servlet物件,呼叫其init方法,

3、servlet容器建立乙個httprequest物件,將webclient請求的資訊封裝到這個物件中

4、servlet容器建立乙個httpresponse物件

5、servlet容器呼叫httpservlet物件的service方法,把httprequest物件與httpresponse物件作為引數

傳給httpservlet物件

6、httpservlet呼叫httprequest物件的有關方法,獲取http請求資訊

7、httpservlet呼叫httpresponse物件的有關方法,生成響應資料

8、servlet容器把httpservlet的響應結果傳給webclient

1、init方法:負責初始化servlet物件。

2、service方法:負責響應客戶的請求。

3、destroy方法:當servlet物件退出生命週期時,負責釋放占用的資源。

1、servlet容器啟動時:讀取web.xml配置檔案中的資訊,構造指定的servlet物件,建立servletconfig物件,同時將servletconfig物件作為引數來呼叫servlet物件的init方法。

2、在servlet容器啟動後:客戶首次向servlet發出請求,servlet容器會判斷記憶體中是否存在指定的servlet物件,如果沒有則建立它,然後根據客戶的請求建立httprequest、httpresponse物件,從而呼叫servlet物件的service方法。

3、servlet的類檔案被更新後,重新建立servlet。servlet容器在啟動時自動建立servlet,這是由在web.xml檔案中為servlet設定的屬性決定的。從中我們也能看到同乙個型別的servlet物件在servlet容器中以單例的形式存在。

1、servlet容器停止或者重新啟動:servlet容器呼叫servlet物件的destroy方法來釋放資源

>action>

>org.apache.struts.action.actionservlet>

>

>config>

>/web-inf/struts-config

.xml

>

>

>

>detail>

>

2>

>

>

>debug>

>

2>

>

-startup

>

2-startup

>

>

>action>

>*.do

>

>

servlet-name:servlet物件的名稱

servlet-class:建立servlet物件所要呼叫的類

param-name:引數名稱

param-value:引數值

load-on

-startup:servlet容器啟動時載入servlet物件的順序

url-pattern:客戶訪問的servlet的相對url路徑

當servlet容器啟動的時候讀取配置節資訊,根據配置節資訊建立servlet物件,同時根據配置節資訊建立httpservletconfig物件,然後執行servlet物件的init方法,並且根據配置節資訊來決定建立servlet物件的順序,如果此配置節資訊為負數或者沒有配置,那麼在servlet容器啟動時,將不載入此servlet物件。當客戶訪問servlet容器時,servlet容器根據客戶訪問的url位址,通過配置節中的配置節資訊找到指定的servlet物件,並呼叫此servlet物件的service方法。

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 構造器 只有第一次請求servlet時,建立servlet例項,呼叫構造器,這說明servlet是單例項的!2 init方法 只被呼叫一次,在建立好例項後立即被呼叫,用於初始化當前servlet 3 service方法 被多次呼叫。每次請求 啟動乙個執行緒為 它服務 都會呼叫service方法,...