java监听器

JavaWeb中监听器的事件源(ServletContext、HttpSession、ServletRequest、JavaBean)

1、ServletContext

  • 生命周期监听:ServletContextListener
  • 属性监听:ServletContextAttributeListener 

2、HttpSession

  • 生命周期监听:HttpSessionListener
  • 属性监听:HttpSessionAttributeListener

3、ServletReques

  • 生命周期监听:ServletRequestListener
  • 属性监听:ServletRequestAttributeListener

4、JaveBean

  • 感知监听:HttpSessionBindingListener
  • 钝化活化监听:HttpSessionActivationListener
前3个都是域对象监听器,需要在web.xml中配置注册一下。其中ServletContxt域的监听器使用的最多。域对象监听器主要有两个作用:1、监听域对象的“创建”与“销毁”;2、监听域对象中属性的变幻(增、删、改);
第4个不是给session添加,而是给Bean添加。即让Bean类实现监听器接口,然后再把Bean对象添加到session域中。不需要在web.xml中注册。
  1. 写一个监听器类,必须实现某个监听器接口;
  2. 在web.xml中配置一下;

监听器类

public class MyServletContextListener implements
    ServletContextListener,HttpSessionListener,ServletRequestListener {
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("ServletContext创建了...");
    }
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("ServletContext销毁了...");
    }
    public void sessionCreated(HttpSessionEvent se) {
        System.out.println("HttpSession创建了...");
    }
    public void sessionDestroyed(HttpSessionEvent se) {
        System.out.println("HttpSession销毁了...");
    }
    public void requestDestroyed(ServletRequestEvent sre) {
        System.out.println("ServletRequest创建了...");
    }
    public void requestInitialized(ServletRequestEvent sre) {
        System.out.println("ServletRequest销毁了...");
    }

}

配置web.xml

<listener>  
    <listener-class>cn.edu.jxau.MyServletContextListener</listener-class>  
</listener>  

 

posted @ 2017-07-13 22:40  H.U.C-王子  阅读(210)  评论(0编辑  收藏  举报