zoukankan      html  css  js  c++  java
  • Listener

    监听器介绍

    观察者设计模式:所有的监听器都是基于观察者设计模式的!

    三个组成部分

      事件源:触发事件的对象

      事件:触发的动作,封装了事件源

      监听器:当事件源触发事件后,可以完成功能

    监听器介绍

    在程序当中,我们可以对:对象的创造销毁,域对象中属性的变化,会话相关内容进行监听。

    Servlet规范中共计8个监听器,监听器都是以接口形式提供,具体功能需要我们自己来完成。

    监听对象的监听器

    ServletContextListener:用于监听ServletContext对象的创建和销毁

    核心方法

    返回值 方法名 作用
    void contextInitialized(ServletContextEvent sce) 对象创建时执行该方法
    void contextDestroyed(ServletContextEvent sce) 对象销毁时执行该方法

    参数:ServletContextEvent代表事件对象

    事件对象中封装了事件源,也就是ServletContext

    真正的事件指的是创建或销毁ServletContext对象的操作

    HttpSessionLinstener:用于监听HttpSession对象的创建和销毁

    返回值 方法名 作用
    void sessionCreated(HttpSessionEvent se) 对象创建时执行该方法
    void

    sessionDestroyed(HttpSessionEvent se)

    对象销毁时执行该方法

    参数:HttpSessionEvent代表事件对象

    事件对象中封装了事件源,也就是HttpSession

    真正的事件指的是创建或销毁HttpSession对象的操作

    ServletRequestListener:用于监听ServletRequest对象的创建和销毁

    返回值 方法名 作用
    void requestInitialized(ServletRequestEvent sre) 对象创建时执行该方法
    void

    requestDestroyed(ServletRequestEvent sre)

    对象销毁时执行该方法

    参数:ServletRequestEvent代表事件对象

    事件对象中封装了事件源,也就是HttpSession

    真正的事件指的是创建或销毁HttpSession对象的操作

     监听域对象属性变化的监听器

    ServletContextAttributeListener:用于监听ServletContext应用域中属性的变化

    核心方法

    返回值 方法名 作用
    void attributeAdded(ServletContextAttributeEvent scae) 域中添加属性时执行该方法
    void attributeRemoved(ServletContextAttributeEvent scae) 域中移除属性时执行该方法
    void attributeReplaced(ServletContextAttributeEvent scae) 域中替换属性时执行该方法

    参数ServletContextAttributeEvent代表事件对象

    事件对象中封装了事件源,也就是ServletContext

    真正的事件指的是添加,移除,替换应用域中属性的操作

    HttpSessionAttributeListener:用于监听HttpSession会话域中属性的变化

    返回值 方法名 作用
    void attributeAdded(HttpSessionBindingEvent se) 域中添加属性时执行该方法
    void attributeRemoved(HttpSessionBindingEvent se) 域中移除属性时执行该方法
    void attributeReplaced(HttpSessionBindingEvent se) 域中替换属性时执行该方法

     参数:HttpSessionBindingEvent代表事件对象

    事件对象中封装了事件源,也就是HttpSession

    真正的事件指的是添加,移除,替换会话域中属性的操作

     ServletRequestAttributeListener:用于监听ServletRequest请求域中属性的变化

    返回值 方法名 作用
    void attributeAdded(ServletRequestAttributeEvent srae) 域中添加属性时执行该方法
    void attributeRemoved(ServletRequestAttributeEvent srae) 域中移除属性时执行该方法
    void attributeReplaced(ServletRequestAttributeEvent srae) 域中替换属性时执行该方法

     ServletRequestAttributeEvent代表事件对象

    事件对象中封装了事件源,也就是ServletRequest

    真正的事件指的是添加,移除,替换请求域中属性的操作

     监听会话相关的感知型监听器

    HttpSessionBindingListener:用于感知对象和会话域绑定的监听器

    核心方法

    返回值 方法名 作用
    void valueBound(HttpSessionBindingEvent event) 数据添加到会话域中(绑定)时执行该方法
    void valueUnbound(HttpSessionBindingEvent event) 数据从会话域中移除(解绑)时执行该方法

    HttpSessionBindingEvent代表事件对象

    事件对象中封装了事件源,也就是HttpSession

    真正的事件指的是添加,移除会话域中数据的操作

     HttpSessionActivationListener:用于感知会话域中对象钝化(序列化持久化)和活化(正常的状态)的监听器

    核心方法

    返回值 方法名 作用
    void sessionWillPassivate(HttpSessionEvent se) 会话域中数据钝化时执行该方法
    void sessionDidActivate(HttpSessionEvent se) 会话域中数据活化时执行该方法

    参数: HttpSessionEvent代表事件对象

    事件对象中封装了事件源,也就是HttpSession

    真正的事件指的是会话域中数据钝化,活化的操作

    监听器的使用

    监听对象的

      ServletContextListener

      HttpSessionListener

      ServletRequestListener

    监听属性变化的

      ServletContextAttributeListener

      HttpSessionAttributeListener

      ServletRequestAttributeListener

    会话相关的感知型

      HttpSessionBindingListener

      HttpSessionActivationListener

  • 相关阅读:
    show point on image
    vec2d
    Size类型如何调用和定义
    opencv数据类型和格式的坑
    IplImage 与mat之间的转换及释放内存
    linux平台程序高精度延时问题select-usleep等
    gettimeofday的使用
    列模式编辑文本
    【linux基础】如何开机自启动某个程序-linux工具-ubuntu
    查看camera设备-linux
  • 原文地址:https://www.cnblogs.com/faded8679/p/14588759.html
Copyright © 2011-2022 走看看