过滤器(java.filter)和拦截器(springmvc.interceptor)区别

Posted 琅琊天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过滤器(java.filter)和拦截器(springmvc.interceptor)区别相关的知识,希望对你有一定的参考价值。

①拦截器是基于java的反射机制的,而过滤器是基于函数回调。

②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。

③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。

④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。

⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次

执行顺序:拦截器是被包裹在过滤器

假设doFilter中有代码:sout1;doFilter;sout2

执行顺序:sout1-->preHandle-->doFilter(Controller)-->postHandle-->sout2

以上是关于过滤器(java.filter)和拦截器(springmvc.interceptor)区别的主要内容,如果未能解决你的问题,请参考以下文章

Java--Filter(过滤器)

java filter具体如何应用,需要具体

JAVA—Filter

java8 stream.filter 过滤集合中的数据

Java Filter过滤xss注入非法参数的方法

Java filter中的chain.doFilter详解