欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

过滤器filter和拦截器interceptor的区别

程序员文章站 2022-07-01 19:06:32
...
1、filter是servlet,jsp里面的东西,应该说是属于规范了,而拦截器是struts的东西,不通用。
2、一个请求,get,post等方式,到后台,必须先经过filter,然后经过Interceptor,最后在通过在filter或者Interceptor里面的跳转,跳到指定的页面或者action或者servlet中。
3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
4、filter是链式处理的,也就是一个filter过滤完后,如果还有过滤,那就得继续。顺序根据web.xml里面的顺序来。
5、filter是servlet包里面的一个接口,写一个filter,只要实现它,然后实现它的几个方法就算一个filter了,别忘记还得再web.xml里面配置。
6、拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。
7、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。
8、拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点很重要,在拦截器里注入一个service,可以调用业务逻辑。