跟小博老師一起學(xué)Servlet ——Servlet生命周期

上回小傅老師給大家講述Servlet的工作原理,不知同學(xué)們沒有結(jié)合案例進一步思考和操作鞭衩。

我們知道要讓一類運行起來一定要手工創(chuàng)建其實例苛白,一段時間內(nèi)沒有對其使用焰檩,JVM會將其當(dāng)內(nèi)存垃圾回收以釋放空間倾芝。Servlet的實例不需要程序員手功創(chuàng)建讨勤,是由容器負責(zé)創(chuàng)建與回收箭跳。

創(chuàng)建

第一次請求Servlet時,容器會加載Servlet類并生成一個實例潭千,緊接著對其初始化谱姓。HttpServlet中提供了一個init()方法供我們重寫,在此方法中可取得Servlet的配置參數(shù)或者申請外部的資源刨晴。第二次請求Servlet時屉来,容器不會再生成新實例,繼續(xù)使用以生成的實例割捅。

Servlet在其生命周期內(nèi)有且只有一個實例奶躯,這樣做的優(yōu)式可以大幅減小服務(wù)器側(cè)的內(nèi)存開銷帚桩,快速向客戶端做出響應(yīng)亿驾,以達到良好的客戶體驗。

初始

HttpServlet抽象類提供了二個init()方法账嚎,一個帶ServletConfig的參數(shù)另一個不帶參數(shù)莫瞬。帶參數(shù)的方法是供容器內(nèi)部調(diào)用,如要重寫我們要使用不帶參數(shù)的init()郭蕉√垩可通過xml或注解的方式給Servlet配置初始化參數(shù),也可設(shè)定一些描述性的信息召锈。

以下代碼展示參數(shù)的設(shè)定與取得

執(zhí)

初始化完成后旁振,容器調(diào)用service()方法,根據(jù)請求的類型轉(zhuǎn)發(fā)到相應(yīng)的doXXX()方法涨岁。Service()是較底層的執(zhí)行方法拐袜,一般不要重寫。doXXX()方法中的XXX是具體的請求類型梢薪,常用的有g(shù)et,post蹬铺。

銷毀

容器停止服務(wù)器時,會把所有的servlet實例銷毀秉撇。在銷毀前容器調(diào)用servlet的destory()方法,將之前申請的外部資源或新開的線程等都釋放。

結(jié)

Servlet在第一次請求到來時由容器創(chuàng)建并調(diào)用init()對其初始化答恶,在其生命周期內(nèi)有且只有一個實例魔熏。請求經(jīng)service()方法分發(fā)到最終的doXXX()方法中得到處理,容器停止服務(wù)器時主動調(diào)用destroy()方法釋放相關(guān)的資源瘦麸。

“生命周期“知識點小傅老師講解完了谁撼,還沒有實際操作的同學(xué)快動手應(yīng)用一下吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瞎暑,一起剝皮案震驚了整個濱河市彤敛,隨后出現(xiàn)的幾起案子与帆,更是在濱河造成了極大的恐慌,老刑警劉巖墨榄,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玄糟,死亡現(xiàn)場離奇詭異,居然都是意外死亡袄秩,警方通過查閱死者的電腦和手機阵翎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來之剧,“玉大人郭卫,你說我怎么就攤上這事”臣冢” “怎么了贰军?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蟹肘。 經(jīng)常有香客問我词疼,道長,這世上最難降的妖魔是什么帘腹? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任贰盗,我火速辦了婚禮,結(jié)果婚禮上阳欲,老公的妹妹穿的比我還像新娘舵盈。我一直安慰自己,他們只是感情好球化,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布秽晚。 她就那樣靜靜地躺著,像睡著了一般赊窥。 火紅的嫁衣襯著肌膚如雪爆惧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天锨能,我揣著相機與錄音扯再,去河邊找鬼。 笑死址遇,一個胖子當(dāng)著我的面吹牛熄阻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播倔约,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼秃殉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起钾军,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鳄袍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后吏恭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拗小,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年樱哼,在試婚紗的時候發(fā)現(xiàn)自己被綠了哀九。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡搅幅,死狀恐怖阅束,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情茄唐,我是刑警寧澤息裸,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站琢融,受9級特大地震影響界牡,放射性物質(zhì)發(fā)生泄漏簿寂。R本人自食惡果不足惜漾抬,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望常遂。 院中可真熱鬧纳令,春花似錦、人聲如沸克胳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽漠另。三九已至捏雌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笆搓,已是汗流浹背性湿。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留满败,地道東北人肤频。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像算墨,于是被迫代替她去往敵國和親宵荒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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

  • 從三月份找實習(xí)到現(xiàn)在,面了一些公司报咳,掛了不少侠讯,但最終還是拿到小米、百度暑刃、阿里继低、京東、新浪稍走、CVTE袁翁、樂視家的研發(fā)崗...
    時芥藍閱讀 42,272評論 11 349
  • 0 系列目錄# WEB請求處理 WEB請求處理一:瀏覽器請求發(fā)起處理 WEB請求處理二:Nginx請求反向代理 本...
    七寸知架構(gòu)閱讀 13,968評論 22 190
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法婿脸,內(nèi)部類的語法粱胜,繼承相關(guān)的語法,異常的語法狐树,線程的語...
    子非魚_t_閱讀 31,659評論 18 399
  • Servlet Interface 是Java Servlet API的核心抽象焙压。所有的servlets都直接或者...
    Lucky_Micky閱讀 1,700評論 2 2
  • 復(fù)習(xí)復(fù)習(xí)!R种印涯曲!搞起來!在塔!Servlet和JSP是Java EE規(guī)范最基本成員幻件,他們是Java Web開發(fā)的重點知識...
    JackFrost_fuzhu閱讀 2,848評論 1 71