Struts2 拦截器的创建

拦截器的创建有三种方式:
1. 实现org.eclipse.jdt.internal.compiler.ast.Invocation接口
2. 继承com.opensymphony.xwork2.interceptor.AbstractInterceptor抽象类
3. 继承com.opensymphony.xwork2.interceptor.MethodFilterInterceptor抽象类,方法过滤拦截器,定制拦截器拦截的方法,定制哪些方法(不)需要拦截
init和destroy方法用来创建销毁所需资源,intercept是执行方法,ActionInvocation类型的参数是下一个拦截器或action

public String intercept(ActionInvocation arg0) throws Exception {
    //拦截方法
    long startTime = System.currentTimeMillis();
    System.out.println("执行Action之前的工作,开始时间:"+startTime);

    //执行后续拦截器或Action
    String result = arg0.invoke();
    //执行Action之后的工作:计算并输出执行时间
    long endTime = System.currentTimeMillis();
    System.out.println("执行Action后的工作,结束时间"+endTime);
    System.out.println("总共时间:"+(endTime-startTime)+"ms");
    System.out.println("result:"+result);

    return result;
}
原文链接:,转发请注明来源!

发表评论