javaweb中的三大域?qū)ο蟊O(jiān)聽器

介紹之前束倍,先看下對(duì)這三大作用域的簡(jiǎn)短介紹铣鹏。如果有興趣可以參見這篇博客(http://blog.csdn.net/lvzhiyuan/article/details/4664624

ServletContext,是一個(gè)全局的儲(chǔ)存信息的空間私爷,服務(wù)器開始,其就存在侮邀,服務(wù)器關(guān)閉蒂培,其才釋放。request奠伪,一個(gè)用戶可有多個(gè)跌帐;session,一個(gè)用戶一個(gè)绊率;而servletContext谨敛,所有用戶共用一個(gè)。所以滤否,為了節(jié)省空間脸狸,提高效率,ServletContext中藐俺,要放必須的炊甲、重要的、所有用戶需要共享的線程又是安全的一些信息欲芹。

下面開始正式介紹今天這三大域?qū)ο蟊O(jiān)聽器卿啡。(這里只簡(jiǎn)單介紹三大域?qū)ο笊芷诘谋O(jiān)聽)

先了解下監(jiān)聽器的作用吧


image.png

ServletContext
生命周期監(jiān)聽:ServletContextListener
public void contextInitialized(ServletContextEvent servletContextEvent)ServletContext創(chuàng)建時(shí)調(diào)用
public void contextDestroyed(ServletContextEvent servletContextEvent)ServletContext銷毀時(shí)調(diào)用

代碼


image.png

HttpSession
生命周期監(jiān)聽:HttpSessionListener
public void sessionCreated(HttpSessionEvent httpSessionEvent)HttpSession創(chuàng)建時(shí)調(diào)用
public void sessionDestroyed(HttpSessionEvent httpSessionEvent)HttpSession過期時(shí)調(diào)用

代碼


image.png

HttpRequest
生命周期監(jiān)聽:ServletRequestListener
public void requestDestroyed(ServletRequestEvent servletRequestEvent)在ServletRequest對(duì)象被銷毀前調(diào)用
public void requestInitialized(ServletRequestEvent servletRequestEvent)在ServletRequest對(duì)象被創(chuàng)建后調(diào)用

代碼


image.png

相應(yīng)監(jiān)聽的類都創(chuàng)建好了,但是tomcat容器并不知道菱父,所以需要告訴他我們定義的監(jiān)聽器(為了更好的演示HttpSessionListener颈娜,我們這里設(shè)置了session過期時(shí)效),因?yàn)橛衘ava項(xiàng)目中還有可能出現(xiàn)過濾器浙宜,攔截器官辽,所以下面用一張圖來幫助區(qū)分和各自的生命周期


image.png

所以在web.xml中配置監(jiān)聽器。注意:監(jiān)聽器>過濾器>serlvet粟瞬,配置的時(shí)候要注意先后順序

然后看監(jiān)聽器配置


image.png

項(xiàng)目還配置了攔截器同仆,不過沒有什么區(qū)別,正好來研究下各自的生命的周期
下面是項(xiàng)目啟動(dòng)后的后臺(tái)打印信息裙品,把它拼在一起


image.png
image.png

各監(jiān)聽器俗批,攔截器執(zhí)行順序
1.項(xiàng)目啟動(dòng)時(shí)便進(jìn)入了ServletContext的contextInitialized方法
2.執(zhí)行HttpRequest的requestInitialized方法
3.攔截器的preHandle方法
4.HttpSession的sessionCreated方法
5.攔截器的postHandle方法
6.攔截器的afterCompletion方法
7.執(zhí)行HttpRequest的requestDestroyed方法
8.執(zhí)行HttpSession的sessionDestroyed方法
9.這個(gè)自然是ServletContextcontextDestroyed方法

從上面的執(zhí)行順序可以很好的證明了上面那張生命周期的圖(這里的session是在攔截器之后才執(zhí)行的是因?yàn)椋覀冊(cè)跀r截器里面和模擬的登陸接口才創(chuàng)建了session對(duì)象清酥,攔截器里的session是為了驗(yàn)證當(dāng)前用戶登陸過而使用的)

三大三大域?qū)ο笊芷诘谋O(jiān)聽就到這里了,后面再介紹三大域?qū)ο蟮膶傩员O(jiān)聽蕴侣,希望能幫到前進(jìn)路上的你焰轻,同時(shí)方便自己復(fù)習(xí),謝謝網(wǎng)上眾多的參考博客昆雀,不喜勿噴

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辱志,一起剝皮案震驚了整個(gè)濱河市蝠筑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌揩懒,老刑警劉巖什乙,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異已球,居然都是意外死亡臣镣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門智亮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忆某,“玉大人,你說我怎么就攤上這事阔蛉∑妫” “怎么了?”我有些...
    開封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵状原,是天一觀的道長(zhǎng)聋呢。 經(jīng)常有香客問我,道長(zhǎng)颠区,這世上最難降的妖魔是什么削锰? 我笑而不...
    開封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮瓦呼,結(jié)果婚禮上喂窟,老公的妹妹穿的比我還像新娘。我一直安慰自己央串,他們只是感情好磨澡,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著质和,像睡著了一般稳摄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饲宿,一...
    開封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天厦酬,我揣著相機(jī)與錄音,去河邊找鬼瘫想。 笑死仗阅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的国夜。 我是一名探鬼主播减噪,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了筹裕?” 一聲冷哼從身側(cè)響起醋闭,我...
    開封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎朝卒,沒想到半個(gè)月后证逻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抗斤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年囚企,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豪治。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洞拨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出负拟,到底是詐尸還是另有隱情烦衣,我是刑警寧澤,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布掩浙,位于F島的核電站花吟,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏厨姚。R本人自食惡果不足惜衅澈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谬墙。 院中可真熱鬧今布,春花似錦、人聲如沸拭抬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽造虎。三九已至傅蹂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間算凿,已是汗流浹背份蝴。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留氓轰,地道東北人婚夫。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像署鸡,于是被迫代替她去往敵國(guó)和親案糙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子镐躲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

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

  • 監(jiān)聽器(listener) 監(jiān)聽器簡(jiǎn)介 :監(jiān)聽器就是一個(gè)實(shí)現(xiàn)特定接口的普通java程序,這個(gè)程序?qū)iT用于監(jiān)聽另一個(gè)...
    奮斗的老王閱讀 2,517評(píng)論 0 53
  • 本文包括:1侍筛、Listener簡(jiǎn)介2、Servlet監(jiān)聽器3撒穷、監(jiān)聽三個(gè)域?qū)ο髣?chuàng)建和銷毀的事件監(jiān)聽器4匣椰、監(jiān)聽三個(gè)域?qū)?..
    廖少少閱讀 6,084評(píng)論 6 28
  • ?監(jiān)聽器是一個(gè)專門用于對(duì)其他對(duì)象身上發(fā)生的事件或狀態(tài)改變進(jìn)行監(jiān)聽和相應(yīng)處理的對(duì)象,當(dāng)被監(jiān)視的對(duì)象發(fā)生情況時(shí)端礼,立即采...
    xdoyf閱讀 4,822評(píng)論 0 5
  • 一蛤奥、概述 監(jiān)聽器就是一個(gè)實(shí)現(xiàn)特定接口的普通java程序佳镜,這個(gè)程序?qū)iT用于監(jiān)聽另一個(gè)java對(duì)象的方法調(diào)用或?qū)傩愿淖?..
    yjaal閱讀 2,009評(píng)論 0 5
  • 我愿意 晨起,跑步 面朝大江凡桥,春暖花開 吳淞江的水在太陽的照耀下 波光閃閃 江面上停留著...
    柳立穩(wěn)閱讀 210評(píng)論 0 0