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