1、拦截器是基于java反射机制的而過滤器是基于函数回调的。
2、过滤器依赖于servlet容器而拦截器不依赖于servlet容器。
3、拦截器只能对Action请求起作用而过滤器则可以对几乎所有请求起作用。
4、拦截器可以访问Action上下文、值栈里的对象而过滤器不能。
5、在Action的生命周期中拦截器可以多次调用,而过滤器只能在容器初始囮时被调用一次
struts自定义拦截器2(XWork)提供的拦截器的功能说明:
在不同请求之间将请求参数在不同名字件转换,请求内容不变 |
添加了checkbox自动處理代码将没有选中的checkbox的内容设定为false,而html默认情况下不提交没有选中的checkbox |
提供不同的调试用的页面来展现内部的数据状况。 |
在后台执行Action同时将用户带到一个中间的等待页面。 |
记录用户选择的locale |
存储或者访问实现ValidationAware接口的Action类出现的消息错误,字段错误等 |
将请求中的参数设置到Action中去。 |
首先是一张经典的struts自定义拦截器2原理图
拦截器与过滤器之间的区别:
1、拦截器是基于java反射机制的而过滤器是基于函数回调的。
2、过滤器依赖于servlet容器而拦截器不依赖于servlet容器。
3、拦截器只能对Action请求起作用而过滤器则可以对几乎所有请求起作用。
4、拦截器可以访问Action上下文、值栈里的对象而过滤器不能。
5、茬Action的生命周期中拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。