-
Filter需要在web.xml中配置,依赖于Servlet
-
Interceptor需要在SpringMVC中配置,依赖于框架
-
Filter的执行顺序在Interceptor之前,具体的流程见下图:
-
两者的本质区别:拦截器(Interceptor)是基于Java的反射机制,而过滤器(Filter)是基于函数回调。从灵活性上说拦截器功能更强大些,Filter能做的事情,都能做,而且可以在请求前,请求后执行,比较灵活。Filter主要是针对URL地址做一个编码的事情、过滤掉没用的参数、安全校验(比较泛的,比如登录不登录之类),太细的话,还是建议用interceptor。不过还是根据不同情况选择合适的。
拦截器与过滤器的区别,执行顺序和用法
于 2020-08-07 11:30:07 首次发布