SpringBoot 过滤器, 拦截器, 监听器 对比及使用场景
过滤器:输入参量只有请求响应
拦截器:除了请求、响应还有处理函数。
1. 过滤器 (实现 javax.servlet.Filter 接口)
① 过滤器是在web应用启动的时候初始化一次, 在web应用停止的时候销毁.
② 可以对请求的URL进行过滤, 对敏感词过滤,
③ 挡在拦截器的外层
④ Filter 是 Servlet 规范的一部分
2. 拦截器 (实现 org.springframework.web.servlet.HandlerInterceptor 接口)
① 不依赖Spring容器, 可以使用 Spring 容器管理的Bean
② 拦截器通过动态代理进行
③ 拦截器应用场景, 性能分析, 权限检查, 日志记录
3. 监听器 (实现 javax.servlet.ServletRequestListener, javax.servlet.http.HttpSessionListener, javax.servlet.ServletContextListener 等等接口)
① 主要用来监听对象的创建与销毁的发生, 比如 session 的创建销毁, request 的创建销毁, ServletContext 创建销毁
https://my.oschina.net/zdtdtel
我思故我在