Java培训课程之Listener分类应用

发布时间:2019年08月23日作者:atguigu浏览次数:795

Listener分类

前边的八个监听器,我们发现很类似,除过两个特殊的外,都是属性监听器,和生命周期监听器。所以我们将以上的监听器划分为两种类型。

1)生命周期监听器:

ServletContextListener、HttpSessionListener、ServletRequestListener

2)属性监听器:

ServletContextAttributeListener、HttpSessionAttributeListener、ServletRequestAttributeListener

3)特殊的两个监听器:

HttpSessionActivationListener、HttpSessionBindingListener

4.Listener使用

1)生命周期、属性监听器的使用

//创建相应的实现类:

public class MyFirstListener implements ServletRequestListener {

    public MyFirstListener() {

    }

    public void requestDestroyed(ServletRequestEvent sre) {

             System.out.println(“requestDestroyed”);

    }

    public void requestInitialized(ServletRequestEvent sre) {

             System.out.println(“requestInitialized”);

    }

}

//配置web.xml

  <listener>

    <listener-class>com.atguigu.MyFirstListener</listener-class>

  </listener>

 

 

2)两个特殊监听器的使用

创建相应的监听器实现类。

public class Student implements HttpSessionBindingListener{

         @Override

         public void valueBound(HttpSessionBindingEvent event) {

                  System.out.println(“valueBound”);

         }

         @Override

         public void valueUnbound(HttpSessionBindingEvent event) {

                  System.out.println(“valueUnbound”);

         }

}

5.生命周期监听器

ServletContextListener、HttpSessionListener、ServletRequestListener

1)ServletContextListener:

web容器启动的时候ServletContext就会被创建,当web服务器关闭的时候这个对象被销毁

2)HttpSessionListener:

在第一次使用session的时候,session会被创建,服务器关闭,session并不会被销毁,而是钝化了。只有显式的调用invalid方法,或者是session过期,session才会被销毁。

3)ServletRequestListener:

每个新的请求都会创建request对象,触发初始化方法。当一次请求完成时,request对象被销毁,触发销毁方法。

6.属性监听器

ServletContextAttributeListener、HttpSessionAttributeListener、ServletRequestAttributeListener

都是域属性变化时触发的。

7.特殊的两个监听器

HttpSessionActivationListener、HttpSessionBindingListener

这两个监听器需要具体的实现类,只要实现这两个监听器即可,不用在web.xml中配置。

HttpSessionActivationListener监听对象随session钝化活化的过程,这个对象要能被钝化必须实现serializable接口。否则不能钝化和活化


上一篇:
下一篇:
相关课程

java培训 大数据培训 前端培训 UI/UE设计培训

关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园2号楼3层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦6层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)