系列十二、过滤器 vs 拦截器

一、过滤器 vs 拦截器

1.1、区别

(1)触发时机不一样,过滤器是在请求进入容器后Servlet之前进行预处理的,请求结束返回也是,是在Servlet处理完后,返回给前端之前;

(2)过滤器可以对几乎所有的请求起作用,拦截器只能对action请求起作用;

(3)过滤器不能访问action的上下文,而拦截器可以;

(4)过滤器依赖于Servlet容器,拦截器不依赖;

(5)过滤器是基于函数回调,而拦截器是基于Java的反射机制;

二、应用场景

2.1、过滤器应用场景

(1)过滤敏感词汇;

(2)设置字符编码;

(3)URL级别的权限访问控制;

(4)压缩响应信息;

2.2、拦截器应用场景

(1)登录验证:判断用户是否登录;

(2)权限验证:判断用户是否有权限访问资源,如校验Token;

(3)日志记录:记录请求操作日志(用户的IP、访问时间等),以便统计请求访问量;

(4)处理Cookie、本地化、国际化、主题等;

(5)性能监控:监控请求处理时长;

(6)通用行为:读取cookie得到用户信息并将用户对象放入请求,从而方便后续流程使用,还有如提取Locale、Theme信息等,只要是多个处理器都需要的即可使用拦截器实现;

三、参考

html 复制代码
https://blog.csdn.net/weixin_44830949/article/details/127493342

https://zhuanlan.zhihu.com/p/484289805?utm_id=0
相关推荐
luoluoal1 分钟前
java项目之基于Spring Boot智能无人仓库管理源码(springboot+vue)
java·vue.js·spring boot
ChinaRainbowSea7 分钟前
十三,Spring Boot 中注入 Servlet,Filter,Listener
java·spring boot·spring·servlet·web
小游鱼KF10 分钟前
Spring学习前置知识
java·学习·spring
扎克begod14 分钟前
JAVA并发编程系列(9)CyclicBarrier循环屏障原理分析
java·开发语言·python
青灯文案115 分钟前
SpringBoot 项目统一 API 响应结果封装示例
java·spring boot·后端
我就是程序猿25 分钟前
tomcat的配置
java·tomcat
阳光阿盖尔31 分钟前
EasyExcel的基本使用——Java导入Excel数据
java·开发语言·excel
二十雨辰32 分钟前
[苍穹外卖]-12Apache POI入门与实战
java·spring boot·mybatis
程序员皮皮林33 分钟前
开源PDF工具 Apache PDFBox 认识及使用(知识点+案例)
java·pdf·开源·apache
蔚一33 分钟前
Java设计模式—面向对象设计原则(三) -----> 依赖倒转原则DIP(完整详解,附有代码+案例)
java·开发语言·设计模式·intellij-idea·依赖倒置原则