struts2拦截器配置详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Struts2拦截器详细配置过程
1:所有拦截器的超级接口Interceptor,拦截器去实现这个接口; Interceptor它其中有三个方法
(init(),destroy(),interceptor()):Init()方法:在服务器起动的时候加载一次,并且只加载一次;
Destroy()方法:当拦截器销毁时执行的方法;
Interceptor()方法:其中里边有一个参数invocation
public String intercept(ActionInvocation invocation)throws xception
{
System.out.println("interceptor!!");
String result=invocation.invoke();
return result;
}Invocation.invoke()是如果只有一个拦截器执行完这个方法后,会返回给视图,如果有多
个拦截器,它顺序的执行完所有的拦截器,才返回给视图.
2:可以在系统初始化中给拦截器指定默认的参数(也包括了定义拦截器方式)如下:在拦截器类中把hello当做属性set/get方式注入到拦截器类中;
class="com.zzz.struts2.interceptor.MyInterceptor "> 张钊钊
ref> 也可以在使用拦截器的时候给它设置参数: 就是在一个action的reslut下面配置上如下: class="com.zzz.struts2.action.RegisterAction "> welcome
2.拦截器,拦截器栈和默认的拦截器之间的关系
1:拦截器和拦截器栈是一个级别的,也就是说一个拦截器栈中包括许多拦截器,一个拦截器栈中还可以包括许多拦截器栈,配置如下方式:
class="com.zzz.struts2.interceptor.MyInterceptor "> 张钊钊
ref> 拦截器的使用:1.先定义;2.在引用使用; class="com.zzz.struts2.interceptor.MyInterceptor ">
2:struts2中有一个系统默认的拦截器栈是defaultStack,如果你手动引用自己的拦截器,系统默认的拦截器栈将不起作用;这样必需手动引入系统的拦截器栈
如果想改变系统默认的拦截器栈,可以这样配置: