JavaWeb之Servlet的生命週期

相關方法

init():只會調用一次,並且是在servlet對象創建的時候的觸發,一般用於做初始化工作
service():處理請求和產生響應的,一次請求調用一次
destroy():只會調用一次,servlet從容器中移除時觸發

tomcat啓動時,servlet默認沒有創建,當在瀏覽器訪問時,纔會創建servlet,觸發init()和service()方法
當關閉tomcat或將項目從tomcat移除時,會觸發servlet的destroy()方法

詳細過程

JavaWeb之Servlet的生命週期

當在瀏覽器輸入http://loclhost/Day03/lifeServlet時,首先會根據域名localhost在hosts文件中查找主機ip,即127.0.0.1,然後根據端口號80找到應用程序tomcat,接着根據URI中的/lifeServlet在web.xml查找是否有對應的Servlet,如果找到就將對應的請求交給相應的servlet處理,找不到就交給默認的servlet處理。tomcat會從Servlet容器中獲取對應的Servlet,如果找不到會反射創建Servlet對象並放入Servlet容器(創建ServletConfig對象並執行init(ServletConfig config)),調用Servlet對象的service()方法處理請求並作出響應,第二次訪問同個目標時,便直接調用service()方法,當tomcat關閉後,會觸發servlet對象的destroy()方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章