1

セッションの有効期限が切れた後、現在のページをログイン ページに移動しています。ユーザーがブラウザの戻るボタンまたは進むボタンをクリックすると、ログイン ページが表示されずに前のページにリダイレクトされます。インターセプターを使用してセッションを期限切れにし、キャッシュストアを回避しようとしましたが、ページはログインではなく前のページに移動します。次のように私のコード、

myInterceptor.java

public class myInterceptor extends AbstractInterceptor {

   private static final long serialVersionUID= 1L;
   @Override

   public String intercept(ActionInvocation ai) throws Exception {

      final ActionContext context = ai.getInvocationContext();
      HttpServletResponse response = (HttpServletResponse) context.get(StrutsStatics.HTTP_RESPONSE);
      if(response!=null){
         response.setHeader("Cache-control", "no-cache, no-store");
         response.setHeader("Pragma","no-cache");
         response.setHeader("Expires", "-1");
      }
      return ai.invoke();
   }
}

Struts.xml

<package name="default" namespace="/" extends="struts-default,json-default">
  <interceptors>
       <interceptor name="myInterceptor"  class="com.webapp.myInterceptor"/>
       <interceptor-stack name="defaultinterStack">
             <interceptor-ref name="defaultStack"/>
             <interceptor-ref name="myInterceptor"/>
       </interceptor-stack>
  </interceptors>
<default-interceptor-ref name="defaultinterStack"/>

<action name="home" class="com.webapp.Action" method="home" > 
     <result name="success">/start.jsp</result>
     <result name="error">/error.jsp</result>
</action>

</package>

誰でもこれを解決する方法を教えてもらえますか?

4

0 に答える 0