您的位置 首页 java

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

Filter过滤器:拦截web访问url地址,在拦截器的访问之前。

HandlerInterceptor:是 Spring MVC项目中的拦截器,它拦截的目标是请求的地址Controller,比MethodInterceptor先执行。

实现一个HandlerInterceptor拦截器可以直接实现HandlerInterceptor接口,也可以继承HandlerInterceptorAdapter类。

这两种方法殊途同归,其实HandlerInterceptorAdapter也就是声明了HandlerInterceptor接口中所有方法的默认实现,而我们在继承他之后只需要重写必要的方法。

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

Filter与Interceptor联系与区别

1. 拦截器是基于java的 反射机制 ,使用代理模式,而过滤器是基于函数回调。

2. 拦截器不依赖 servlet 容器,过滤器依赖于servlet容器。

3. 拦截器只能对Controller起作用,而过滤器可以对几乎所有的请求起作用(可以保护资源)。

4. 拦截器可以访问action上下文,堆栈里面的对象,而过滤器不可以。

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

文章来源:智云一二三科技

文章标题:spring框架之面向切面(Spring Aop)、拦截器、过滤器的区别

文章地址:https://www.zhihuclub.com/187478.shtml

关于作者: 智云科技

热门文章

网站地图