过滤器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,可以调用业务逻辑。
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,可以调用业务逻辑。
上一篇: 凉拌蕨菜的做法你知多少
下一篇: 过滤器浅谈
推荐阅读
-
ES 23 - 检索和过滤的区别 (query vs. filter)
-
js中for in ,for of,foreach,map和filter的区别
-
基于Django filter中用contains和icontains的区别(详解)
-
Java web Filter, Strurs2 Interceptor 和 SpringMVC Interceptor 三者之间的联系与区别
-
详谈Servlet和Filter的区别以及两者在Struts2和Springmvc中的应用
-
浅谈SpringMVC中Interceptor和Filter区别
-
布隆过滤器(bloom filter)及php和redis实现布隆过滤器的方法
-
JavaScript 数组some()和filter()的用法及区别
-
浅析JAVA中过滤器、监听器、拦截器的区别
-
过滤器 和 拦截器的 6个区别(别再傻傻分不清了)