spring中过滤器和拦截器的使用

过滤器和拦截器的使用

拦截器应用场景
拦截器本质上是面向切面编程(AOP),符合横切关注点的功能都可以放在拦截器中来实现,主要的应用场景包括:

登录验证,判断用户是否登录。
权限验证,判断用户是否有权限访问资源,如校验token
日志记录,记录请求操作日志(用户ip,访问时间等),以便统计请求访问量。
处理cookie、本地化、国际化、主题等。
性能监控,监控请求处理时长等。
通用行为:读取cookie得到用户信息并将用户对象放入请求,从而方便后续流程使用,还有如提取Locale、Theme信息等,只要是多个处理器都需要的即可使用拦截器实现)
过滤器应用场景
1)过滤敏感词汇(防止sql注入)
2)设置字符编码
3)URL级别的权限访问控制
4)压缩响应信息
过滤器和拦截器的区别
区别 过滤器 拦截器
1.实现方式不同 函数调用 基于Java的反射机制(动态代理)实现的
2.适用范围不同 依赖tomcat只能用于web程序中 一个spring组件可以单独使用
3.触发机制不同 进入容器之后servlet之前 servlet之后controller之前
4.请求拦截范围不同 所有进入容器的请求 Controller中请求或访问static目录下的资源请求起作用
5.注入bean的不同 拦截器加载的时间点在springcontext之前
6.控制执行顺序不同 order int值越小 级别越高 按照拦截器注入顺序
posted @   ewindstorm  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示