Http 監(jiān)聽器


用來監(jiān)聽特定對象的創(chuàng)建或銷毀、屬性的變化的!
是一個(gè)實(shí)現(xiàn)特定接口的普通java類!

Servlet中哪些對象需要監(jiān)聽?
  • request / session / servletContext
    • 分別對應(yīng)的是request監(jiān)聽器、session相關(guān)監(jiān)聽器、servletContext監(jiān)聽器
監(jiān)聽器(listener)

監(jiān)聽器接口:

  • 監(jiān)聽對象創(chuàng)建/銷毀的監(jiān)聽器接口

    • Interface ServletRequestListener 監(jiān)聽request對象的創(chuàng)建或銷毀
    • Interface HttpSessionListener 監(jiān)聽session對象的創(chuàng)建或銷毀
    • Interface ServletContextListener 監(jiān)聽servletContext對象的創(chuàng)建或銷毀
  • 監(jiān)聽對象屬性的變化

    • Interface ServletRequestAttributeListener 監(jiān)聽request對象屬性變化: 添加、移除、修改
    • Interface HttpSessionAttributeListener 監(jiān)聽session對象屬性變化: 添加、移除、修改
    • Interface ServletContextAttributeListener 監(jiān)聽servletContext對象屬性變化
  • session相關(guān)監(jiān)聽器

    • Interface HttpSessionBindingListener 監(jiān)聽對象綁定到session上的事件
    • Interface HttpSessionActivationListener(了解) 監(jiān)聽session序列化及反序列化的事件
生命周期監(jiān)聽器

聲明周期監(jiān)聽器: 監(jiān)聽對象的創(chuàng)建、銷毀的過程!
監(jiān)聽器開發(fā)步驟:

  1. 寫一個(gè)普通java類,實(shí)現(xiàn)相關(guān)接口;
  2. 配置(web.xml)
ServletRequestListener

監(jiān)聽request對象的創(chuàng)建或銷毀

public class MyRequestListener implements ServletRequestListener {
    @Override
    public void requestDestroyed(ServletRequestEvent servletRequestEvent){
        System.out.println("MyRequestListener.requestDestroyed()");
    }

    @Override
    public void requestInitialized(ServletRequestEvent servletRequestEvent){
        System.out.println("MyRequestListener.requestInitialized()");
    }
}
    <listener>
        <listener-class>com.flynn.MyRequestListener</listener-class>
    </listener>
HttpSessionListener

監(jiān)聽session對象的創(chuàng)建或銷毀。

ServletContextListener

監(jiān)聽servletContext對象的創(chuàng)建或銷毀

屬性監(jiān)聽器

監(jiān)聽:request/session/servletContext對象屬性的變化!

ServletRequestAttributeListener
HttpSessionAttributeListener
ServletContextAttributeListener

與前文的request對象監(jiān)聽一樣的實(shí)現(xiàn)

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

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

  • 監(jiān)聽器(listener) 監(jiān)聽器簡介 :監(jiān)聽器就是一個(gè)實(shí)現(xiàn)特定接口的普通java程序,這個(gè)程序?qū)iT用于監(jiān)聽另一個(gè)...
    奮斗的老王閱讀 2,672評論 0 53
  • 本文包括:1、Listener簡介2、Servlet監(jiān)聽器3、監(jiān)聽三個(gè)域?qū)ο髣?chuàng)建和銷毀的事件監(jiān)聽器4、監(jiān)聽三個(gè)域?qū)?..
    廖少少閱讀 6,636評論 6 28
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • 一、概述 監(jiān)聽器就是一個(gè)實(shí)現(xiàn)特定接口的普通java程序,這個(gè)程序?qū)iT用于監(jiān)聽另一個(gè)java對象的方法調(diào)用或?qū)傩愿淖?..
    yjaal閱讀 2,111評論 0 5
  • 今天看到一個(gè)比喻說,生娃就像在婚姻中扔了一個(gè)手榴彈。等到硝煙散盡的時(shí)候,是一副全新面貌。反正不是以前那樣了。有人糾...
    鼴鼠閱讀 290評論 0 0

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