listener

来源:互联网 发布:淘宝客插件 查优惠券 编辑:程序博客网 时间:2024/05/01 12:40

Web应用程序生命周期事件及监听器(Servlet V2.3版本以后新增功能)
-----------------------------------------------------------------------------------------------------------------------------------
1. 什么是事件监听器?
答:1) 支持ServletContext、HttpSession(since v2.3)及ServletRequest(since v2.4)中状态改变的事件通知;
    2) 实现了一个或多个servlet事件监听器接口的类型;
    3) 控制ServletContext、HttpSession(since v2.3)及ServletRequest(since v2.4)中的生命周期;
-----------------------------------------------------------------------------------------------------------------------------------
2. Servlet Context事件监听器
答:1) 对于应用程序而言在JVM层别管理资源或保存状态
    2) 有二种类型的事件监听器:
       a. ServletContextListener(以下是该监听器的方法)
          contextDestroyed(ServletContextEvent sce)
          contextInitialized(ServletContextEvent sce)
       b. ServletContextAttributeListener(以下是该监听器的方法)
          attributeAdded(ServletContextAttributeEvent scab)
          attributeRemoved(ServletContextAttributeEvent scab)
          attributeReplaced(ServletContextAttributeEvent scab)
-----------------------------------------------------------------------------------------------------------------------------------
3. HTTP Session事件监听器
答:1) 管理从同一个客户端或用户向一个Web应用程序发出的一系列请求相关的状态或资源;
    2) 有二种类型的事件监听器:
       a. HttpSessionListener(以下是该监听器的方法)
          sessionCreated(HttpSessionEvent se)
          sessionDestroyed(HttpSessionEvent se)
       b. HttpSessionAttributeListener(以下是该监听器的方法)
          attributeAdded(HttpSessionBindingEvent se)
          attributeRemoved(HttpSessionBindingEvent se)
          attributeReplaced(HttpSessionBindingEvent se)
----------------------------------------------------------------------------------------------------------------------------------
4. Servlet Requst事件监听器
   1) 管理整个request生命周期的状态
    2) 有二种类型的事件监听器
       a. ServletRequestListener(以下是该监听器的方法)                     实现监听器的类必须写一个
          requestDestroyed(ServletRequestEvent sre)                  无参构造函数()
          requestInitialized(ServletRequestEvent sre)
       b. ServletRequestAttributeListener(以下是该监听器的方法)
          attributeAdded(ServletRequestAttributeEvent srae)
          attributeRemoved(ServletRequestAttributeEvent srae)
          attributeReplaced(ServletRequestAttributeEvent srae)

----------------------------------------------------------------------------------------------------------------------------------
5. 监听器类的规定
1) 必须在部署描述符中配置实现类;
<listener>
   <listener-class>完整的类名</listener-class>
</listener>

原创粉丝点击