• javaWeb监听器Listener(一)


    Listener监听器

    一、背景描述

    javaweb中的监听器,是用于监听javaweb对象

    例如:HttpServletRequest、HttpSession、ServletContext
    监听他们的创建和销毁、属性变化、session绑定javaBean

    二、javaWeb常见的监听器

    1、监听域对象的创建和销毁

    (1)如果要监听ServletContext创建和销毁 ---- 需要自定义实现类,来实现监听接口 ServletContextListener

    package javax.servlet;
    
    import java.util.EventListener;
    
    public interface ServletContextListener extends EventListener {
        default void contextInitialized(ServletContextEvent sce) {
        }
    
        default void contextDestroyed(ServletContextEvent sce) {
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    (2)如果要监听HttpSession创建和销毁 ---- 需要自定义实现类,来实现监听接口 HttpSessionListener

    package javax.servlet.http;
    
    import java.util.EventListener;
    
    public interface HttpSessionListener extends EventListener {
        default void sessionCreated(HttpSessionEvent se) {
        }
    
        default void sessionDestroyed(HttpSessionEvent se) {
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    (3)如果要监听HttpServletRequest创建和销毁 ---- 需要自定义实现类,来实现监听接口 ServletRequestListener

    package javax.servlet;
    
    import java.util.EventListener;
    
    public interface ServletRequestListener extends EventListener {
        default void requestDestroyed(ServletRequestEvent sre) {
        }
    
        default void requestInitialized(ServletRequestEvent sre) {
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    2、监听域对象的属性变化

    (1)监听ServletContext属性的变化 – ServletContextAttributeListener

    package javax.servlet;
    
    import java.util.EventListener;
    
    public interface ServletContextAttributeListener extends EventListener {
        default void attributeAdded(ServletContextAttributeEvent event) {
        }
    
        default void attributeRemoved(ServletContextAttributeEvent event) {
        }
    
        default void attributeReplaced(ServletContextAttributeEvent event) {
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    (2)监听HttpSession属性的变化 – HttpSessionAttributeListener

    package javax.servlet.http;
    
    import java.util.EventListener;
    
    public interface HttpSessionAttributeListener extends EventListener {
        default void attributeAdded(HttpSessionBindingEvent event) {
        }
    
        default void attributeRemoved(HttpSessionBindingEvent event) {
        }
    
        default void attributeReplaced(HttpSessionBindingEvent event) {
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    (3)监听HttpServletRequest属性的变化 – ServletRequestAttributeListener

    package javax.servlet;
    
    import java.util.EventListener;
    
    public interface ServletRequestAttributeListener extends EventListener {
        default void attributeAdded(ServletRequestAttributeEvent srae) {
        }
    
        default void attributeRemoved(ServletRequestAttributeEvent srae) {
        }
    
        default void attributeReplaced(ServletRequestAttributeEvent srae) {
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    3、监听session绑定javaBean

    (1)监听javaBean对象是否绑定了session域 – HttpSessionBindingListener

    package javax.servlet.http;
    
    import java.util.EventListener;
    
    public interface HttpSessionBindingListener extends EventListener {
        default void valueBound(HttpSessionBindingEvent event) {
        }
    
        default void valueUnbound(HttpSessionBindingEvent event) {
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    (2)监听javaBean对象的活化或钝化 --HttpSessionActivationListener

    package javax.servlet.http;
    
    import java.util.EventListener;
    
    public interface HttpSessionActivationListener extends EventListener {
        default void sessionWillPassivate(HttpSessionEvent se) {
        }
    
        default void sessionDidActivate(HttpSessionEvent se) {
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案
    【安卓开发】安卓按键响应
    floating-ui react-dom-interactions:如何将浮动元素宽度设置为与参考宽度相同
    SpringBoot+EasyExcel导入导出【加水印】
    动态负荷对电力系统摆幅曲线的影响研究(Matlab代码实现)
    YRX app第八题 python grpc
    Mysql判断字段是否为NULL
    odoo 报表
    机械硬盘HDD
    嵌入式工程师面试题3-硬件
  • 原文地址:https://blog.csdn.net/weixin_43860634/article/details/126782811