`
ashnl007
  • 浏览: 13725 次
  • 性别: Icon_minigender_1
  • 来自: 江西南昌
社区版块
存档分类
最新评论

Servlet监听器

阅读更多

1、Servlet Context 监听器

1.1、ServletContextListener

         ServletContextListener有两个方法:

 

  void contextInitialized(ServletContextEvent event) 

 

    servlet上下文创建的时候会调用此方法;

 

  void contextDestroyed(ServletContextEvent event)

 

    反之,servlet上下文被销毁的时候会调用此方法;event可以获取ServletContext实例。

1.2、ServletContextAttributeListener

   此接口是和Servlet上下文的中的attribute有关、该接口中有3个方法:

 

void attributeAdded(ServletContextAttributeEvent event)
void attributeRemoved(ServletContextAttributeEvent event)
void attributeReplaced(ServletContextAttributeEvent event)

 

    分别Servlet上下文中属性添加、移除、替换后触发。ServletContextAttributeEvent 可以获取相应的属性名称和值event.getName()、event.getValue()。

 

 

2、Session 监听器

2.1 HttpSessionListener

 

//session创建时触发
void sessionCreated(HttpSessionEvent event)
//session销毁时触发
void sessionDestroyed(HttpSessionEvent event)

 

    HttpSessionEvent可以获取到当前session。

2.2 HttpSessionAttributeListener

void attributeAdded(HttpSessionBindingEvent event)
void attributeRemoved(HttpSessionBindingEvent event)
void attributeReplaced(HttpSessionBindingEvent event)

   分别Sesson中属性添加、移除、替换后触发。HttpSessionBindingEvent可以获取相应的属性名称和值event.getName()、event.getValue()和session。

2.3 HttpSessionActivationListener

//激活
sessionDidActivate(HttpSessionEvent event)
//被传送到别的jvm或 写到硬盘  
sessionWillPassivate(HttpSessionEvent event)

   该接口一般在分布式环境下使用、为了节省内存、将使用较少的对象序列化到硬盘等存储设备中、HttpSessionEvent可以获取当前session。 

2.4 HttpSessionBindingListener

void valueBound(HttpSessionBindingEvent event)
void valueUnbound(HttpSessionBindingEvent event)

  实现该接口的对象,该对象的实例在保存到session或者session移除时会收到通知、然后执行相应的方法、HttpSessionBindingEvent可以获取当前session、属性值和属性名。 

 

 

3、Servlet Request监听器

3.1 ServletRequestListener

//用户请求到达、被初始化时触发该方法
void requestInitialized(ServletRequestEvent event)
//用户请求结束、被销毁时触发该方法
void requestDestroyed(ServletRequestEvent event)

    ServletRequestEvent可以返回当前request和ServletContext 

 3.2 ServletRequestAttributeListener

    该接口用于监听ServletRequest(request)范围内属性的变化,分别对应Request中属性添加、移除和替换:

void attributeAdded(ServletRequestAttributeEvent event)
void attributeRemoved(ServletRequestAttributeEvent event)
void attributeReplaced(ServletRequestAttributeEvent event)

    ServletRequestAttributeEvent可以返回属性名和属性值 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics