0
点赞
收藏
分享

微信扫一扫

Java 过滤器与拦截器的区别

相同点:都是通过 面向切面去完成,对方法实现增强,都可以拦截请求方法。都可以通过Order注解设定执行顺序

1、拦截器基于java反射,过滤器基于函数回调

2、拦截器不依赖servlet容器,过滤器依赖servlet容器

3、拦截器只能对action请求拦截(拦截器可以用于web也可以用于App程序或者Swing程序),过滤器对所有请求拦截

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

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

6、拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点很重要,在拦截器里注入一个service,可以调用业务逻辑。

7、过滤器(Filter)只在Servlet前后起作用。而Inteceptor 能到方法前后、异常抛出前后等,因此拦截器的使用觉有更大的弹性。Java 过滤器与拦截器的区别_servlet容器

举报

相关推荐

0 条评论