struts2拦截器的destory方法在拦截器实例销毁前调用,请问这个实例在什么时候销毁啊,重新reload怎么没有调用destory方法啊?

解决方案 »

  1.   

    distroy方法是在拦截器服务方法调用完后自动调用执行来销毁这个拦截器。
      

  2.   

    拦截器是什么..是拦截你的URL地址不...你重新加载看下是重定向还是那个
      

  3.   


    public class MyInterceptor implements Interceptor{ public void destroy() {
    System.out.println("调用拦截器的destroy方法");
    } public void init() {
    System.out.println("调用拦截器的init方法");
    } public String intercept(ActionInvocation invocation) throws Exception {
    Long start = System.currentTimeMillis();
    System.out.println("开始计数");
    String r = invocation.invoke();
    Long end = System.currentTimeMillis();
    System.out.println(end - start);
    System.out.println("计数完毕");
    System.out.println(r);
    return r; //顺便问一下这边为什么可以返回任意的字符串?不懂,麻烦解释下,谢谢!
    }
    }struts.xml<struts>

        <package name="default1" namespace="/" extends="struts-default">
         <interceptors>
         <interceptor name="myIntcpt" class="com.wjf.action.MyInterceptor"></interceptor>
         </interceptors>
    <action name="test" class="com.wjf.action.TestAction">
    <result>/success.jsp</result>
    <result name="add">/add.jsp</result>
    <interceptor-ref name="myIntcpt"></interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>
    </action>
        </package>
        
    </struts>   
      

  4.   

    struts2拦截器的destory方法在拦截器实例销毁前调用,请问这个实例在什么时候销毁啊,重新reload怎么没有调用destory方法啊?
    拦截器:
    public class MyInterceptor implements Interceptor{    public void destroy() {
            System.out.println("调用拦截器的destroy方法");
        }    public void init() {
            System.out.println("调用拦截器的init方法");        
        }    public String intercept(ActionInvocation invocation) throws Exception {
            Long start = System.currentTimeMillis();
            System.out.println("开始计数");
            String r = invocation.invoke();
            Long end = System.currentTimeMillis();
            System.out.println(end - start);
            System.out.println("计数完毕");
            System.out.println(r);
            return r; //顺便问一下这边为什么可以返回任意的字符串?不懂,麻烦解释下,谢谢!
        }
    }
    struts.xml
    <struts>
        
        <package name="default1" namespace="/" extends="struts-default">
            <interceptors>
                <interceptor name="myIntcpt" class="com.wjf.action.MyInterceptor"></interceptor>
            </interceptors>
            <action name="test" class="com.wjf.action.TestAction">
                <result>/success.jsp</result>
                <result name="add">/add.jsp</result>
                <interceptor-ref name="myIntcpt"></interceptor-ref>
                <interceptor-ref name="defaultStack"></interceptor-ref>
            </action>
        </package>
        
    </struts>