<interceptor class="com.xxx.xxx" name="xxx"/>(拦截器实现类 继承abstractInterceptor)
<interceptors>
<interceptor-stack name="myStack">
<interceptor-ref name="xxx">
<interceptor-ref name="defaultStack"/>(这个是struts2默认的拦截器栈)
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack"/>(这句是设置所有Action自动调用的拦截器栈)
Struts2拦截器原理:当请求到达Struts2时,Struts2查找配置文件,并根据配置实例化相对的拦截器对象,串成一个列表,最后一个一个调用列表中的拦截器。Struts2拦截器栈将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,按其之前定义顺序被调用。
Struts2拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。
扩展资料:
拦截器的自定义:
1、自定义一个实现Interceptor接口(或者继承自AbstractInterceptor)的类。
2、在struts.xml中注册Interceptor接口中定义的拦截器。
3、在需要使用的Action中引用struts.xml定义的拦截器,为了方便也可将拦截器定义为默认的拦截器,这样在不加特殊声明的情况下所有的Action都被这个拦截器拦截。
4、开发者自定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式。
参考资料来源:百度百科-拦截器
参考资料来源:百度百科-Struts 2
拦截器拦截请求(Request),阻止非法请求,比如字符乱码,登录,权限。Action就是业务处理请求的中心,所有请求在这里被处理里,处理结果又Action返回一个逻辑视图。这张图最典型了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)