JavaWeb的生命周期

分為啟動(dòng)(加載web應(yīng)用的有關(guān)數(shù)據(jù),創(chuàng)建ServletContext對(duì)象,對(duì)Filter和一些Servlet初始化)、運(yùn)行時(shí)(主要是Servlet容器調(diào)用service(方法))和終止(釋放資源)三個(gè)階段。

該過程可通過Tomcat的管理應(yīng)用來控制應(yīng)用的生命周期:

《Tomcat與javaweb開發(fā)技術(shù)詳解》

Reload操作: 相當(dāng)于先stop當(dāng)前web應(yīng)用,再start。

Undeploy操作: 從Tomcat卸除,web文件被刪除。


## Servlet生命周期

就是Servlet容器控制的Servlet接口提供的init、service、destroy三個(gè)方法。

在Servlet的生命周期中,初始化和銷毀只會(huì)發(fā)生一次,即init()和destroy()方法只會(huì)被Servlet容器調(diào)用一次。service()取決于客戶端請(qǐng)求的次數(shù)。

實(shí)踐驗(yàn)證:寫一個(gè)繼承于GenericServlet類的xxxservlet,設(shè)置三個(gè)全局變量分別在三個(gè)方法中打印,看結(jié)果,即可。

并且,可以有多個(gè)xxxservlet對(duì)象對(duì)應(yīng)同一個(gè)xxxServlet類,盡管類代碼一模一樣,但屬于不同的servlet,互相沒有關(guān)系?。?/p>

《Tomcat與javaweb開發(fā)技術(shù)詳解》

——————

## ServletContext與Web應(yīng)用范圍

Servlet容器在啟動(dòng)一個(gè)web應(yīng)用時(shí),會(huì)為它創(chuàng)建唯一的ServletContext對(duì)象,終止時(shí)銷毀。

因此,ServletContext對(duì)象與web應(yīng)用具有同樣的生命周期。而且,ServletContext對(duì)象可以被web應(yīng)用中的所有web組件共享。因此,可以利用該對(duì)象來存取web應(yīng)用范圍內(nèi)的共享數(shù)據(jù)(可以是任意類型)。

《Tomcat與javaweb開發(fā)技術(shù)詳解》

實(shí)踐驗(yàn)證: 實(shí)現(xiàn)web統(tǒng)計(jì)訪問次數(shù)的功能。先寫一個(gè)Counter類,將其放入servletContext對(duì)象。(這里有一種技巧,就是怎么放??你總不能每次請(qǐng)求都放一次吧!所以,先從servletContext獲取該對(duì)象,如果為null則將其放入,所以第二次以后都只是取,不會(huì)再執(zhí)行放入的邏輯了,if不符合了啊,當(dāng)且僅當(dāng)?shù)谝淮尾欧?。

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

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

  • 分為啟動(dòng)(加載web應(yīng)用的有關(guān)數(shù)據(jù),創(chuàng)建ServletContext對(duì)象,對(duì)Filter和一些Servlet初始化...
    孤遠(yuǎn)閱讀 375評(píng)論 0 0
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,790評(píng)論 11 349
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 34,645評(píng)論 18 399
  • 這部分主要是與Java Web和Web Service相關(guān)的面試題。 96、闡述Servlet和CGI的區(qū)別? 答...
    雜貨鋪老板閱讀 1,501評(píng)論 0 10
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 4,011評(píng)論 0 11

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