系列十二、过滤器 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
相关推荐
xcl092510 小时前
北京24小时自助健身房系统软件开发实战:从架构到部署全流程指南
java·spring boot·架构
一 乐12 小时前
动漫书销售商城|基于springboot + vue动漫书销售商城(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
卓怡学长12 小时前
w214基于jsp知道特产网
java·intellij-idea
步行cgn12 小时前
Spring 注解使用详解
java·spring
一条小小yu12 小时前
Spring IoC的理解
java·后端·spring
落魄实习生13 小时前
Agent Scope Java 2.x 系列【7】工具使用
java·开发语言·ai
旺仔学长 哈哈13 小时前
springboot钓鱼爱好者交流平台APP设计与实现
java·spring boot·mysql·充电桩管理系统
自强的小白14 小时前
核心功能(Service接口)
java·mybatis
乌暮15 小时前
深入理解 Java 泛型:把「万能盒子」用对、用稳
java·开发语言·后端·学习