springMVC 过滤器与拦截器的执行顺序问题。springboot一样参考

最近项目要搞国际化,发现做国际化的时候是需要添加拦截器的,但是我们项目是通过filter过滤器做登录拦截,此时的报错信息总是国际化失败。折腾半天发现原因是国际化的拦截器没有用到导致。所以在此研究了下过滤器和拦截器的执行顺序问题。

先写结论:过滤器在拦截器之前执行,这也是我国际化失败的原因

分析:

过滤器:最常见的用法就是对所有请求的字符集进行统一,org.springframework.web.filter.CharacterEncodingFilter,也有用他做权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。filter是一种servlet技术,Servlet API中提供了一个Filter接口。

拦截器:SpringMVC 拦截器也是Aop(面向切面)思想构建,但不是 Spring Aop 动态代理实现的, 主要采用责任链和适配器的设计模式来实现,直接嵌入到 SpringMVC 入口代码里面。依赖于web框架,只能对Controller请求做拦截,对其他比如直接访问静态资源的请求则没办法进行拦截处理

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值