什么是监听器?
- 监听器是Servlet规范中的一员,就像Filter一样,Filter也是Servlet规范中的一员
- 在Servlet中,所有的监听器接口都是以“Listener”结尾
监听器的作用
- 监听器实际上是Servlet规范留给我们javaweb程序员的特殊时机
- 特殊的时刻如果想执行这段代码,你需要想到使用对应的监听器
Servlet规范中提供了哪些监听器?
- jakarta.servlet包下
- ServletContextListener
- ServletContextAttributeListener
- ServletRequestListener
- ServletRequestAttributeListener
- jakarta.servlet.http包下
- HttpSessionListener
- HttpSessionAttributeListener
- 该监听器需要使用@WebListener注解进行标注
- 该监听器监听的是session域中数据的变化,只要数据变化,则执行相应的方法。
- HttpSessionBindingListener
- 该监听器不需要使用@WebListener标注
- 假设User类实现了该监听器,那么User对象在被放入session的时候触发bind事件,User对象从session中删除的时候,触发unbind事件
- 假设Customer类没有实现该监听器,那么Customer对象放入session或者从session删除的时候,不会触发bind和unbind事件
- HttpSessionIdListener
- HttpSessionActivationListener