Spring中Interceptor和Filter区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhou920786312/article/details/83870669

本质区别

Interceptor:基于Java的反射机制

filter:基于函数回调。

从灵活性上说拦截器功能更强大些,Filter能做的事情,Interceptor都能做,而且可以在请求前,请求后执行,比较灵活。

其他区别

  filter Interceptor
调用次数 只能在容器初始化时调用一次 可以被多次调用
规范 依赖于Servlet容器 依赖于Spring容器
访问范围 Filter不能访问Action的上下文,值栈里的对象 Action的上下文,值栈里的对象
深度 Filter在只在Servlet前后起作用 拦截器能够深入到方法前后、异常抛出前后等

猜你喜欢

转载自blog.csdn.net/zhou920786312/article/details/83870669