Servlet下监听器、过滤器和SpringMVC的拦截器
Listener
Servlet提供了三种监听器接口,分别是ServletContext事件监听器、ServletRequest事件监听器、HttpSession事件监听器。
声明Listener有两种方式
- 通过WebListener注解
- 通过在web.xml中配置
<listener>
<listener-class>com.huqi.Listener</listener-class>
</listener>
ServletContext事件监听器(web容器生命周期监听器)
1. ServleContextListener
实现ServletContextListener要实现其init和destroy方法,即可以实现对web容器的初始化和销毁做处理。
使用场景减少,多用于容器初始化时加载一些配置文件信息
2. ServletContextAttributeListener
该接口提供三个方法:ServletContext的改变、增加、删除都会触发监听,很少用。
ServletRequest事件监听器(Servlet监听器)
我们知道到Web容器接收到http请求后,然后由其创建一个HttpServlRequest和HttpServletResponse,HttpServletRequest继承自ServletRequest。
1. ServletRequestListener
和ServletContext一样,实现ServletRequestListener需要实现他的init和destroy方法,用于监听请求的初始化和销毁。
2. ServletRequestAttributeListener
该接口提供三个方法: 用于ServletRequest的改变、增加、删除都会触发监听,很少用。
HttpSession事件监听器(用于Session的监听)
1. HttpSessionListener
实现HttpSessionListener,需要实现SessionCreated和SessionDestroy方法,用于监听Session创建和销毁时,自定义动作。
2. HttpSessionAttributeListener
HttpSessionAttributeListener主要是提供了对session的全局属性的增加、移除、修改接口,用于监听session中存放的属性值发送变化时,自定义动作。
2. HttpSess