Filter 和 HandlerInterceptor 以及Spring AOP的异同

相同点 都能将某些横切代码提炼出来,然后通过拦截的方式,添加到被拦截的方法或请求,从而降低代码耦合度和复杂度。 其中Filter和Spring的HandlerInterceptor设计思想相同,都是通过链式的方式。即将一组Filter或者HandlerInterceptor定义好,放在配置文件中,然后通过容器加载,然后顺序调度。Filter的容器是Tomcat,HandlerInterceptor的容器是Spring。 同时Filter和HandlerInterceptor都是针对web请求拦截处理 不同点 Filter更原生,基于Servlet框架即可实现 HandlerInterceptor基于Spring,需要Spring MVC Framework的支持 Spring AOP,基于AspectJ,典型的面向切面编程,他不局限于Web应用, »