struts自定义拦截器 拦截器和过滤器的区别和原理

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的生命周期中拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次

}

我要回帖

更多关于 struts自定义拦截器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信