怎样定义一个全局的拦截器?

解决方案 »

  1.   

    没做过,去看看struts2的资料吧
      

  2.   

    default-interceptor貌似有这个东西就是全局的。
      

  3.   

    这个很简单吧,网上拦截器的例子到处都是,public class SessionTimeoutInterceptor extends AbstractInterceptor{ @Override
    public String intercept(ActionInvocation actionInvocation) throws Exception {
    Map session = actionInvocation.getInvocationContext().getSession();
    if (session.get("SPRING_SECURITY_CONTEXT")==null) {
    outString("{timeout:true}");
    return Action.NONE;
    }else {
    return actionInvocation.invoke();
    }
    }

    public void outString(String str) {  
            HttpServletResponse response = ServletActionContext.getResponse();  
            try {  
                response.setHeader("Pragma", "No-cache");  
                response.setHeader("Cache-Control", "no-cache");  
                response.setDateHeader("Expires", 0);  
                response.setContentType("text/html;charset=gbk");  
                PrintWriter out = response.getWriter();  
                out.write(str);  
                out.flush();  
                out.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
    }
      

  4.   

            <interceptors>
         <interceptor name="timeoutInterceptor" class="com.edward.SessionTimeoutInterceptor"></interceptor>
         <interceptor-stack name="timeoutStack">
         <interceptor-ref name="defaultStack"/>
         <interceptor-ref name="timeoutInterceptor"/>
         </interceptor-stack>
         </interceptors>
         <default-interceptor-ref name="timeoutStack"/>lz自己敲个例子,多测试下
      

  5.   

    <servlet-mapping> 
    <servlet-name>actionServlet</servlet-name> 
    <url-pattern>*.*</url-pattern> 
    </servlet-mapping> 
      

  6.   

    <filter>
        <display-name>login</display-name>
        <filter-name>login</filter-name>
        <filter-class>login</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>login</filter-name>
        <url-pattern>/*.jsp</url-pattern>
      </filter-mapping>中的
    <url-pattern>/*.jsp</url-pattern>这样写就对了