您的当前位置:首页正文

过滤器和拦截器的不同以及执行顺序和使用场景的总结

2024-11-10 来源:个人技术集锦

过滤器filter和拦截器interceptor的比较

之前看过一篇博客有这么一句话:

过滤器是取你所想,拦截器是拒你所不想

但其实两者都可以理解为起过滤的作用。

具体区别而言,总结有如下几点:

方面filterinterceptor
实现原理基于函数回调java反射,动态代理
是否依赖servletjava原生,依赖servletspring框架所有,不依赖servlet
作用范围所有的url,可以配置无法配置url,只是针对实现某接口的类的方法在其前后进行处理,这也正是动态代理的逻辑
是否可以自动注入context中的bean不能,但可以通过getBean方法获得可以
如何选择在纯Java的应用中尽量选择filter,减小第三方在spring应用中官方推荐interceptor

执行顺序

过滤器 -> 拦截器 -> aop -> 业务逻辑 -> 拦截器的post方法 -> filter的destroy

使用场景


推荐阅读:

Top