监听器的介绍

监听器:作用域事件发生的时间往往是不确定的,当事件发生的时候需要进行一些处理时,就可以使用监听器,例如监听一个事件的创建,销毁。

  1. 监听器的API事件类和接口
  2. 6种事件

1.上下文事件:

ServletContextEvent:当上下文对象发生改变,入创建,销毁时触发

ServletContextAttributeEvent:当上下文属性发生改变,入增加,删除,覆盖时触发

2.请求相关的事件:

ServletRecuestEvent:该类表示请求事件,当请求对象发生改变,如创建或销毁请求对象时,触发请求事件。

SenvletReocuestAttriuteEvent :该类表示请求属性事件,当请求中的属性改变,如增加、删除、覆盖请求中的属性时,触发请求属性事件。

3.会话相关的事件

HtpsessionEvent :该类表示会话事件,当会话对象发生改变,如创建或销毁会话对象,活化或钝化会话对象时,将触发会话事件。

HttpSessionAttributeEvent :该类表示会话绑定事件,当会话中的属性发生变化时,如增加、删除、覆盖会话中的属性时,将触发绑定的事件

  1. 监听器接口

1.上下文相关的监听器

ServletContextListener :上下文监听器,监听ServletContextEvent事件

ServletContextAttributeListener :上下文属性监听器,用来监听ServletContextAttribute事件

2.请求相关的监听器

ServletRequestListener:请求监听器,监听ServletRequestEvent事件

ServletRequestAttributeListener :请求属性监听器,用来监听

ServletRequestAttributeEvent事件

3.会话相关的监听器

HttpSessionListener :会话监听器,监听HttpSessionEvent

HttpSessionActivationListener:会话活化监听器,监听HttpSessionEvent事件

HttpSessionAttributeListener :会话属性监听器,监听 HttpSessionAttributeEvvent 事件。

HttpSessionBindingListener :会话绑定监听器,监听HttpSessionAttributeEvent事件。

  1. 监听器实现步骤:
  1. 编写一个类,实现对应的接口
  2. 重写接口中的方法,实现监听功能
  3. 在web.xml中进行配置

HttpSessionListener ∶会话监听器,当会话对象被创建后或销毁前需要一些自定义处理时,可以用此监听器监听;

HttpSessionActivationListener :会话活化监听器,会话对象存在于服务器端,只要没有失效,服务器就得分配空间给其使用;为了能够提高使用效率,服务器有内在的活化钝化机制,可以将暂时不使用的会话对象钝化到外存,需要使用时再活化到内存。当活化后或钝化前需要一些自定义处理时,可以使用该监听器;

HttpSessionAttributeListener :会话属性监听器,当会话中的属性被添加、删除替换时,要进行一些自定义处理时,可以使用该监听器,使用时可以用事件对象获取属性的名字等信息

HttpSessionBindingListener:会话绑定监听器,当类实现了HttpSessionBindingListener 接口后,该类对象绑定或解除绑定到会话时,就会被该监听器监听。绑定指的是调用setAttribute方法,解除绑定指的是调用removeAttribute方法,或者会话超时、会话失效等。

  1. HttpSessionAttributeListener和HttpSessionBindinaListener的区别

HttpSessionAttributeListener是只要会话对象中使用setAttriubte,removeAttribute,都会被通知,不管属性是什么类型。

HttpSessionBindinaListener是只有实现了这个接口的类的对象作为属性时,才能被通知,另外,当会话超时,失效时,也会被通知

 

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...