JavaWeb的生命周期 - 草稿

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

該過程可通過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三個方法。

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

實踐驗證:寫一個繼承于GenericServlet類的xxxservlet蝗敢,設(shè)置三個全局變量分別在三個方法中打印,看結(jié)果足删,即可寿谴。

并且,可以有多個xxxservlet對象對應(yīng)同一個xxxServlet類失受,盡管類代碼一模一樣讶泰,但屬于不同的servlet咏瑟,互相沒有關(guān)系!痪署!

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

——————

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

Servlet容器在啟動一個web應(yīng)用時码泞,會為它創(chuàng)建唯一的ServletContext對象,終止時銷毀狼犯。

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

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

實踐驗證: 實現(xiàn)web統(tǒng)計訪問次數(shù)的功能祝蝠。先寫一個Counter類,將其放入servletContext對象幻碱。(這里有一種技巧绎狭,就是怎么放?褥傍?你總不能每次請求都放一次吧坟岔!所以,先從servletContext獲取該對象摔桦,如果為null則將其放入社付,所以第二次以后都只是取,不會再執(zhí)行放入的邏輯了邻耕,if不符合了啊鸥咖,當(dāng)且僅當(dāng)?shù)谝淮尾欧?。

——————

更進(jìn)一步兄世,將計數(shù)寫入文件啼辣,當(dāng)web重啟時仍然能夠繼續(xù)計數(shù)。那么御滩,什么時候?qū)懭肱概。裁磿r候讀取呢?削解?

我們已經(jīng)知道富弦,ServletContext對象最早被創(chuàng)建,最晚被銷毀氛驮。那么我們的Counter是放到ServletContext對象中的腕柜,生命周期隨著ServletContext一樣。這個時候,就需要ServletContextListner出馬了盏缤,顧名思義砰蠢,它是來監(jiān)聽ServletContext的。只需要寫一個實現(xiàn)該接口的類就可以了唉铜,在contextInitialized()和contextDestroyd()方法寫讀取和寫入文件的邏輯即可台舱。思想如下:

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

——————

提一下Servlet的異常,ServletException和IOException潭流,前者由Servlet容器捕獲竞惋,給客戶端響應(yīng)。后者表示io操作時異常幻枉。

——————

防止頁面被客戶端緩存:

在響應(yīng)時設(shè)置一些header。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诡蜓,一起剝皮案震驚了整個濱河市熬甫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔓罚,老刑警劉巖椿肩,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異豺谈,居然都是意外死亡郑象,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門茬末,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厂榛,“玉大人,你說我怎么就攤上這事丽惭』髂蹋” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵责掏,是天一觀的道長柜砾。 經(jīng)常有香客問我,道長换衬,這世上最難降的妖魔是什么痰驱? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮瞳浦,結(jié)果婚禮上担映,老公的妹妹穿的比我還像新娘。我一直安慰自己叫潦,他們只是感情好另萤,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般四敞。 火紅的嫁衣襯著肌膚如雪泛源。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天忿危,我揣著相機(jī)與錄音达箍,去河邊找鬼。 笑死铺厨,一個胖子當(dāng)著我的面吹牛缎玫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播解滓,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼赃磨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了洼裤?” 一聲冷哼從身側(cè)響起邻辉,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腮鞍,沒想到半個月后值骇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡移国,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年吱瘩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片迹缀。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡使碾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出祝懂,到底是詐尸還是另有隱情部逮,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布嫂易,位于F島的核電站兄朋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏怜械。R本人自食惡果不足惜颅和,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缕允。 院中可真熱鬧峡扩,春花似錦、人聲如沸障本。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至案训,卻和暖如春买置,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背强霎。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工忿项, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人城舞。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓轩触,卻偏偏與公主長得像,于是被迫代替她去往敵國和親家夺。 傳聞我的和親對象是個殘疾皇子脱柱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 從三月份找實習(xí)到現(xiàn)在,面了一些公司拉馋,掛了不少榨为,但最終還是拿到小米、百度椅邓、阿里柠逞、京東昧狮、新浪景馁、CVTE、樂視家的研發(fā)崗...
    時芥藍(lán)閱讀 42,277評論 11 349
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法逗鸣,類相關(guān)的語法合住,內(nèi)部類的語法,繼承相關(guān)的語法撒璧,異常的語法透葛,線程的語...
    子非魚_t_閱讀 31,664評論 18 399
  • 這部分主要是與Java Web和Web Service相關(guān)的面試題。 96卿樱、闡述Servlet和CGI的區(qū)別? 答...
    雜貨鋪老板閱讀 1,412評論 0 10
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,814評論 0 11
  • 第九章 學(xué)會換位思考僚害,你的世界會更寬闊 1.會議之前,如何有技術(shù)的閑聊繁调。 2.發(fā)表演講萨蚕,聽眾是唯一的裁判。 3.面...
    余溫未減閱讀 191評論 0 0