JavaWeb 的监听器

来源:互联网 发布:织梦dedecms 编辑:程序博客网 时间:2024/05/18 03:36

JavaEE中一共有8个监听器,分为了3种:

    1、用来监听三大作用域的创建和销毁的监听器,都是接口:

             ServletContextListener:用来监听ServletContext对象创建和销毁的监听器。

             HttpSessionListener:用来监听HttpSession对象创建和销毁的监听器。

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


   2、用来监听三大作用域中属性变化的监听器
             ServletContextAttributeListener

             HttpSessionAttributeListener

             ServletRequestAttributeListener


    3、使 JavaBean 自己感知自己在 Session中状态变化的监听器,
        这两个监听器很特殊,不需要自己去写类实现也不需要在 web.xml 中注册,
        只要使 JavaBean 实现这个接口就能起作用:

              HttpSessionBindingListener

                public void valueBound(HttpSessionBindingEvent event) {
                    System.out.println("当当前javabean对象被绑定到session域中时,javabean自己感知到自己被绑定到了session中,从而触发此方法...");
                }

                public void valueUnbound(HttpSessionBindingEvent event) {
                    System.out.println("当当前javabean对象被移除出session时,javabean自己感知到自己被移除出session从而触发此方法...");
                }



              HttpSessionActivationListener

                public void sessionDidActivate(HttpSessionEvent se) {
                    System.out.println("javabean感知到自己随着session被活化了..触发此方法...");
                }

                public void sessionWillPassivate(HttpSessionEvent se) {
                    System.out.println("javabean感知到自己随着session被钝化了..触发此方法..");
                }

注册监听器
                <listener>
                    <listener-class>com.itheima.listener.MyHSesssionListener</listener-class>
                </listener>

0 0