面向切面(Spring Aop)、拦截器、过滤器的区别

时间:2024-10-30 16:03:40
Filter过滤器:拦截web访问url地址。
Interceptor拦截器:拦截以 .action结尾的url,拦截Action的访问。

Spring AOP拦截器:只能拦截Spring管理Bean的访问(业务层Service)

Filter与Interceptor联系与区别
1. 拦截器是基于java的反射机制,使用代理模式,而过滤器是基于函数回调。
2. 拦截器不依赖servlet容器,过滤器依赖于servlet容器。
3. 拦截器只能对action起作用,而过滤器可以对几乎所有的请求起作用(可以保护资源)。
4. 拦截器可以访问action上下文,堆栈里面的对象,而过滤器不可以。

5. 执行顺序:过滤前-拦截前-Action处理-拦截后-过滤后。