Servlet程序的生命周期(重要)
阿新 • • 發佈:2018-03-02
web.xml配置 cat 文件中 clas tom esp 結束 res 編寫
javax.servlet.Servlet的接口中,有三個方法說明了Servlet的生命周期:
1.void init(ServletConfig): 創建後馬上調用init()完成初始化;
2.void service(ServletRequest,ServletResponse):每次處理請求時調用service()方法;
3.void destroy():當Tomcat要消耗 Servlet實例時,先調用destroy()方法;
Servlet是默認在第一次訪問的時候創建(只會創建一個)
默認當服務器關閉的時Servlet銷毀
但也有例外,比如加載框架文件時可以用以下方法:
只要在 web.xml配置文件中加入
<load-on-startup>1</load-on-startup>,
就會在啟動時加載
<servlet> <servlet-name>....</servlet-name> <servlet-class>......</servlet-class> <!--加入了以下的標記,就會在啟動時加載--> <load-on-startup>1</load-on-startup> </servlet>
總結:
Servlet創建的時候會調用init方法,結束時會調destroy方法
現在就應該已經清楚了,Servlet的實例不由我們創建,Servlet的方法不由我們來調用,這一切都是有Tomcat服務器來完成。
這就是說由Tomcat來管理Servlet,而我們只需要去編寫Servlet實現類,並將其部署到web.xml
文件中去。
再次強調,只有這這三個方法是生命周期的方法。通俗的說就是生命周期方法會被Tomcat在不同的
的時間點來強調,而其他的方法就不會被調用了,如果在自己寫的Servlet中添加了其他方法,那麽
Tomcat也是不會去調用他們的,但可以讓生命周期方法去調用你自己寫的方法就行了。
有不對的地方請指正 謝謝
Servlet程序的生命周期(重要)