servlet生命周期

當web應用啟動的時候,we b.xml文件首先被裝載,(這里面包含了整個應用的servlet配置信息,以及每個servlet的初始化信息)。同時創(chuàng)建應用的servletContext對象。

servlet的初始化階段:

一旦一個servlet進入初始化階段,這是需要客戶端首次請求訪問或者在web.xml文件中的<load-on-startup>元素中設置了數(shù)字(即在應用啟動的時候),便開始一系列初始化過程。

1.容器加載servlet.class文件到內(nèi)存中。

2..class文件裝載到內(nèi)存之后,必然可以獲取該servlet的配置信息(位于web.xml文件中的),進而封裝稱為一個servletConfig對象,此時的servletConfig對象與servlet Context對象關聯(lián)。

3.接下來是創(chuàng)建servlet對象。也就是實例化一個servlet對象。

4.servlet容器調(diào)用servlet對象的init(servletConfig)方法,這使得該對象與servletConfig對象關聯(lián)。

經(jīng)過以上的步驟那么,servlet對象與servlet Config對象關聯(lián),servletConfig對象又與servletContext對象關聯(lián),導致servlet與servlet Context對象關聯(lián)。那么也就是說在創(chuàng)建了servlet對象之后,servlet對象只要通過getServletContext()方法就能獲取到當前應用的servlet Context對象。

運行時階段:

就是響應客戶端請求的一系列過程,通過HttpServletRequest獲取請求信息,再通過HttpServletResponse對象生成響應結(jié)果。當響應結(jié)束之后,那么容器會銷毀request/response對象。

銷毀階段:(銷毀servletContext對象)

web應用被終止的時候,Servlet容器會先調(diào)用web應用中所有servlet對象的destroy()方法,然后再銷毀servlet對象。此外容器還會銷毀與servlet對象關聯(lián)的servlet Config對象。

待續(xù)~~~~~~~

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 從三月份找實習到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍閱讀 42,767評論 11 349
  • 局部變量放在棧中,實例變量放在堆中,靜態(tài)變量放在方法區(qū)中 所謂生命周期,指的是Servlet容器如何創(chuàng)建Servl...
    itachi閱讀 235評論 0 1
  • Servlet 生命周期:Servlet 加載--->實例化--->服務--->銷毀。 Servlet生命周期分為...
    重山楊閱讀 830評論 0 2
  • Servlet程序是運行在服務器端的一段Java程序,其生命周期受到Web容器的控制,生命周期包括:加載程序、初始...
    kylelin閱讀 611評論 0 1
  • 本文包括: Servlet簡介關于Servlet的一些類 Servlet生命周期 ServletConfig獲得初...
    廖少少閱讀 4,108評論 1 67

友情鏈接更多精彩內(nèi)容