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
posted @ 2019-07-20 12:34  zzfx  阅读(2652)  评论(0编辑  收藏  举报