servlet生命週期

2021-09-07 10:17:24 字數 1230 閱讀 9431

1 servlet生命週期中的4個重要方法

1)構造方法:建立servlet物件,預設情況下,第一次訪問servlet的時候建立servlet物件,只呼叫一次。servlet物件是單例項的。

2)init方法:建立完servlet物件後呼叫,只呼叫一次。

3)service方法:每次發出請求時呼叫一次。

4)destroy方法:銷毀servlet物件時候呼叫。停止tomcat伺服器時呼叫。

2 tomtcat內部**執行:

1)通過對映找到到servlet-class的內容,字串

2)通過反射構造servlet物件

2.1 得到位元組碼物件

class clazz = class.forname("servlet");

2.2 呼叫無引數的構造方法來構造物件

object obj = clazz.newinstance();     ---1.servlet的構造方法被呼叫

3)建立servletconfig物件,通過反射呼叫init方法

3.1 得到方法物件

method m = clazz.getdeclaremethod("init",servletconfig.class);

3.2 呼叫方法

m.invoke(obj,config);             --2.servlet的init方法被呼叫

4)建立request,response物件,通過反射呼叫service方法

4.1 得到方法物件

4.2 呼叫方法

m.invoke(obj,request,response);  --3.servlet的service方法被呼叫

5)當tomcat伺服器停止或web應用重新部署,通過反射呼叫destroy方法

5.1 得到方法物件

method m = clazz.getdeclaremethod("destroy",null);

5.2 呼叫方法

m.invoke(obj,null);            --4.servlet的destroy方法被呼叫

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