session监听器

1. 实现HttpSessionListener接口

监听HttpSession的操作,主要是实现HttpSessionListener。功能是:

  • 监听HttpSession的操作。
  • 创建一个Session时,激发sessionCreateed方法;
  • 销毁一个Session时,激发sessionDestroyed方法。

2. 实现HTTPSessionAttributeListener接口

  • 监听HttpSession中的属性操作。包括:
    • 属性的增加(attributedAdded方法);
    • 属性的删除(attributedRemoved方法);
    • 属性的修改(attributedReplaced方法)。

实现方法

  1. 新建一个类,实现HttpSessionListener或者HTTPSessionAttributeListener接口。

这两个接口在http包中。

  1. 重写接口里面的方法,当这些事件被调用的时候,执行自定义的操作。
  2. web.xml中进行监听器的注册。

3. 实现HttpSessionBindingListener

该事件不需要配置xml文件,对HttpSessionBingdingListener对象所对应的session进行监听。
包含的两个函数:

  • valueUnbound方法将被以下任意条件下触发:
    • 执行session.setAttribute(uocl",非uocl对象)时;
    • 执行session.removeAttribute("uocl")时;
    • 执行session.invalidate()时;
    • 执行session超时后。

和其他监听器的区别

  • HttpSessionListener只需要设置到了web.xml中就可有监听整个应用中的所有session。
    +HttpSessionBindingListener必须实例化后放入某一个session中,才可以进行监听,因此和session是一对一的。

实现方法

  1. 新建一个类,实现HttpSessionBindingListener。
  2. 实现接口内valueBound等方法,实现自定义的操作。
  3. 在要监听的Session的Servlet的定义中,导入该监听类,并实例化一个对象。此时发布后的应用就可以实现一对一的绑定监听了。
// 在session的servlet定义中实例化一个监听器
MyListener myListener = new MyListener();  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文包括:1、Listener简介2、Servlet监听器3、监听三个域对象创建和销毁的事件监听器4、监听三个域对...
    廖少少阅读 11,322评论 6 28
  • 监听器(listener) 监听器简介 :监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个...
    奋斗的老王阅读 7,315评论 0 53
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,894评论 18 399
  •  监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采...
    xdoyf阅读 10,248评论 0 5
  • 第七天,死无葬身之地才是最善良平和的地方。——余华<第七天>
    Gigi熊阅读 1,332评论 0 2