【Spingboot编程】过滤器与拦截器

本文探讨了Spring Boot中的过滤器Filter和拦截器Interceptor,两者的功能相似但实现方式不同。Filter是Servlet规范的一部分,依赖于Servlet容器,而拦截器基于AOP思想,可在任何情况下使用。过滤器的生命周期由容器管理,拦截器可通过IoC容器管理,使其更便于使用。过滤器可以拦截所有资源,而拦截器仅限于Spring MVC框架中的控制器方法。它们分别适用于登录验证、权限校验、日志记录、性能监控等场景,以及过滤敏感信息、设置编码、URL权限控制等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springmvc中有两种很普遍的实现:

1.过滤器(Filter)

2.拦截器(Interceptor)

过滤器和拦截器,功能上类似,但具体实现上差别很大。

Filter是依赖于Servlet容器,属于Servlet规范的一部分,而拦截器则是独立存在的,可以在任何情况下使用,拦截器是AOP思想的具体应用。

Filter的执行由Servlet容器回调完成,而拦截器通常通过动态代理的方式来执行。

Filter的生命周期由Servlet容器管理,而拦截器则可以通过IoC容器来管理,因此可以通过注入等方式来获取其他Bean的实例,因此使用会更方便

其他:

拦截器和过滤器的区别:

过滤器:任何java web工程都可以使用(因此在web.xml中配置)。在Url-pattern中配置了/*后,可以对所有要访问的资源进行拦截

拦截器:拦截器是Spring MVC框架中的,只有使用Spring MVC框架的工程才能使用(在applicationContext下配置)拦截器只会拦

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值