拦截器与过滤器
Posted ws-sharecode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拦截器与过滤器相关的知识,希望对你有一定的参考价值。
拦截器与过滤器的区别
过滤器
- 依赖于servlet,是servlet规范中的一部分,任何java web工程都可以使用
- 在url-pattern中配置/*之后,可以对所有要访问的资源进行拦截
- 一个过滤器实例只能在容器初始化时调用一次
拦截器
- 拦截器是AOP思想的具体应用
- 拦截器是Spring MVC框架自己的,只有使用了Spring MVC框架的工程才可以使用
- 拦截器只会拦截访问的控制器方法,如果访问的是jsp/html/css/image/js是不会进行拦截的
- 一个拦截器实例在一个controller生命周期之内可以多次调用
- 拦截器是基于java的反射机制的,而过滤器是基于函数的回调。拦截器不依赖于servlet容器,而过滤器依赖于servlet容器。
- 拦截器只对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
- 拦截器可以访问action上下文、值、栈里面的对象,而过滤器不可以。
- 拦截器可以获取IOC容器中的各个bean,而过滤器不行,这点很重要,在拦截器里注入一个service,可以调用业务逻辑。
以上是关于拦截器与过滤器的主要内容,如果未能解决你的问题,请参考以下文章