Http 監聽器


用來監聽特定對象的創建或銷毀、屬性的變化的!
是一個實現特定接口的普通java類!

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

監聽器接口:

  • 監聽對象創建/銷毀的監聽器接口

    • Interface ServletRequestListener 監聽request對象的創建或銷毀
    • Interface HttpSessionListener 監聽session對象的創建或銷毀
    • Interface ServletContextListener 監聽servletContext對象的創建或銷毀
  • 監聽對象屬性的變化

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

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

聲明周期監聽器: 監聽對象的創建、銷毀的過程!
監聽器開發步驟:

  1. 寫一個普通java類,實現相關接口;
  2. 配置(web.xml)
ServletRequestListener

監聽request對象的創建或銷毀

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

監聽session對象的創建或銷毀。

ServletContextListener

監聽servletContext對象的創建或銷毀

屬性監聽器

監聽:request/session/servletContext對象屬性的變化!

ServletRequestAttributeListener
HttpSessionAttributeListener
ServletContextAttributeListener

與前文的request對象監聽一樣的實現

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 監聽器(listener) 監聽器簡介 :監聽器就是一個實現特定接口的普通java程序,這個程序專門用于監聽另一個...
    奮斗的老王閱讀 2,565評論 0 53
  • 本文包括:1、Listener簡介2、Servlet監聽器3、監聽三個域對象創建和銷毀的事件監聽器4、監聽三個域對...
    廖少少閱讀 6,129評論 6 28
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 一、概述 監聽器就是一個實現特定接口的普通java程序,這個程序專門用于監聽另一個java對象的方法調用或屬性改變...
    yjaal閱讀 2,043評論 0 5
  • 今天看到一個比喻說,生娃就像在婚姻中扔了一個手榴彈。等到硝煙散盡的時候,是一副全新面貌。反正不是以前那樣了。有人糾...
    鼴鼠閱讀 270評論 0 0