Listener監(jiān)聽器講解

1、監(jiān)聽器的啟動(dòng)優(yōu)先級(jí)順序:監(jiān)聽器 > 過(guò)濾器 > servlet

2、根據(jù)監(jiān)聽域劃分監(jiān)聽器:

(1)監(jiān)聽ServletContext,實(shí)現(xiàn)ServletContextListener接口。

    兩個(gè)事件處理方法:contextInitialized、contextDestroyed。

    主要用途:定時(shí)器、全局屬性對(duì)象

(2)監(jiān)聽HttpSession,實(shí)現(xiàn)HttpSessionListener接口。

  兩個(gè)事件處理方法:sessionCreated、sessionDestroyed。

  主要用途:統(tǒng)計(jì)在線人數(shù)、記錄訪問(wèn)日志

(3)監(jiān)聽ServletRequest,實(shí)現(xiàn)ServletRequestListener接口。

    兩個(gè)事件處理方法:requestInitialized、requestDestroyed。

    主要用途:讀取參數(shù)、記錄訪問(wèn)歷史

3、監(jiān)聽域?qū)ο笾械膶傩缘脑黾雍蛣h除的事件監(jiān)聽器:

(1)監(jiān)聽ServletContext屬性變化,實(shí)現(xiàn) ServletContextAttributeListener接口。

  3個(gè)事件處理方法:attributeAdded、attributeRemoved、  attributeReplaced。

(2)監(jiān)聽HttpSession屬性變化,實(shí)現(xiàn)HttpSessionAttrubuteListener 接口。

  3個(gè)事件處理方法:attributeAdded、attributeRemoved、  attributeReplaced。

(3)監(jiān)聽ServletRequest屬性變化,實(shí)現(xiàn) ServletRequestAttributeListener接口。

  3個(gè)事件處理方法:attributeAdded、attributeRemoved、  attributeReplaced。

4、監(jiān)聽器在Web.xml中的配置:

image

5、綁定到HttpSession域中的某個(gè)對(duì)象狀態(tài)的監(jiān)聽:

實(shí)現(xiàn)HttpSessionBindingListener、HttpSessionActivationListener、 Serialized接口。

主要處理方法:valueBound、valueUnbound

Session正常存儲(chǔ)在服務(wù)器內(nèi)存中。Session鈍化機(jī)制本質(zhì)就在于把服務(wù)器中不經(jīng)常使用的Session對(duì)象暫時(shí)序列化到系統(tǒng)文件或數(shù)據(jù)庫(kù)系統(tǒng)中,當(dāng)被使用時(shí),反序列化到內(nèi)存中,整個(gè)過(guò)程由服務(wù)器自動(dòng)完成。

鈍化:將Session對(duì)象持久到系統(tǒng)文件上。

活化:將Session對(duì)象從系統(tǒng)文件恢復(fù)到內(nèi)存中。

服務(wù)器關(guān)閉后,把當(dāng)前Session中的監(jiān)聽對(duì)象鈍化 到 tomcat的work目錄下,下次啟動(dòng)后可以活化該文件。

6、案例:監(jiān)聽在線用戶的數(shù)量、ip等信息

(1)監(jiān)聽HttpSession:

image

(2)監(jiān)聽ServletRequest:

[圖片上傳中...(image-24b5ed-1525684433032-4)]

(3)web.xml配置:

image

(4)用戶信息類(略去get、set方法)

image

(5)SessionUtil類:

image

(6)index.jsp展示用戶信息:

[圖片上傳中...(image-8d7378-1525684433032-0)]

?著作權(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)容

  • 本文包括:1、Listener簡(jiǎn)介2、Servlet監(jiān)聽器3、監(jiān)聽三個(gè)域?qū)ο髣?chuàng)建和銷毀的事件監(jiān)聽器4、監(jiān)聽三個(gè)域?qū)?..
    廖少少閱讀 6,636評(píng)論 6 28
  • 監(jiān)聽器(listener) 監(jiān)聽器簡(jiǎn)介 :監(jiān)聽器就是一個(gè)實(shí)現(xiàn)特定接口的普通java程序,這個(gè)程序?qū)iT用于監(jiān)聽另一個(gè)...
    奮斗的老王閱讀 2,672評(píng)論 0 53
  • ?監(jiān)聽器是一個(gè)專門用于對(duì)其他對(duì)象身上發(fā)生的事件或狀態(tài)改變進(jìn)行監(jiān)聽和相應(yīng)處理的對(duì)象,當(dāng)被監(jiān)視的對(duì)象發(fā)生情況時(shí),立即采...
    xdoyf閱讀 4,949評(píng)論 0 5
  • 一、監(jiān)聽器的概覽 監(jiān)聽器是指專門用于對(duì)其他對(duì)象身上發(fā)生的事件或狀態(tài)的改變進(jìn)行監(jiān)聽和相應(yīng)處理的對(duì)象,當(dāng)被監(jiān)視的對(duì)象發(fā)...
    不知名的蛋撻閱讀 1,546評(píng)論 0 3
  • 1. 學(xué)會(huì)講故事,有什么用呢? 那我就講的直白一點(diǎn),人際交往其實(shí)并不單純的看顏值。 很多顏值很低的人,他們卻魅力十...
    time剛剛好閱讀 3,227評(píng)論 12 102

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