-2

以下のコードを使用しましたが、まだ機能しません

response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate, 
max-age=0, private");; 
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");

編集:jspタグを追加。

4

3 に答える 3

0

サーバー側でセッションを確認する必要があります。一般的な方法は、セッションが利用できない場合にログイン ページにリダイレクトするフィルターを使用することです。

その方法については、この質問を参照してください。

于 2012-04-20T13:16:45.927 に答える
0

ログアウト ページなどだけでなく、ブラウザ キャッシュを無効にするすべての JSP でこれらの応答ヘッダーを設定する必要があります。

通常、これにはフィルタを使用して、すべての JSP に同じコードをコピーペーストする必要がないようにします。制限されたすべてのページが同じ URL パターンを共有すると仮定すると、フィルターは次のようになります/app/*

@WebFilter("/app/*")
public class NoCacheFilter implements Filter {

    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
        response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
        response.setDateHeader("Expires", 0); // Proxies.
        chain.doFilter(req, res);
    }

    // ...
}
于 2012-04-20T13:34:00.057 に答える
-1

このコードをログアウト ページで使用すると、問題が解決します。

<script language="JavaScript">
javascript:window.history.forward(1);
</script>
于 2012-04-20T11:25:23.390 に答える