• 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
  • 相关阅读:
    关于账本数据库:你想知道的这里都有
    SPark学习笔记:10 SparkSQL 数据源之Spark on Hive
    为什么说互联网是最坏的行业
    MongoDB——写入耗时
    vue的h渲染函数和customRender在ant design vue的table组件的使用
    【无标题】
    selenium结合jmeter进行测试
    Spring-事务
    Linux Shell编程
    建模助手:Revit中梁注释设置表达相对净高
  • 原文地址:https://blog.csdn.net/weixin_43860634/article/details/126782811