0

私はこのhtml 5を返すJspを持っています:

<html>
    <head>
        <title>Application</title>
        <!-- Some script includes here -->
    </head>
    <body>
        <!-- My html here -->
    </body>
</html>

現時点では、ユーザーはブラウザへのキャッシュを無効にする必要があります。そうしないと、古いページが毎回リロードされます。

その方法でスクリプトレットを使用してキャッシュなしを強制しようとしましたが、成功しませんでした:

<%
response.addHeader("Cache-Control","no-cache");
response.addHeader("Expires","-1");
response.addHeader("Pragma","no-cache");
%>

スクリプトレットが良い解決策ではないという事実に加えて、キャッシュを無効にするために JSP で機能する方法はありますか?

4

3 に答える 3

0
Cache-Control

上記のヘッダーは、クロス ブラウザーのヘッダーである必要があります。問題が発生する可能性があります。

試す

response.addheader('Cache-Control: no-cache, no-store, must-revalidate');
于 2013-09-24T13:04:28.087 に答える
0

Apache Tomcat を使用している場合は、context.xml を変更します

<Context cachingAllowed="false">

http://tomcat.apache.org/tomcat-6.0-doc/config/context.html でドキュメントを読むことができます。

キャッシング許可

このフラグの値が true の場合、静的リソースのキャッシュが使用されます。指定しない場合、フラグのデフォルト値は true です。

于 2013-09-24T13:05:27.840 に答える
0

jsp ファイルを使用している場合、これを Web コンテナーで実行しています。これを行うには、 a を使用しjavax.servlet.Filterてヘッダー値を設定します。

すでにこれを行っているオープンソースのフィルターは知りませんが、自分で書くのはそれほど難しくありません。

HTTP/1.0 用に設定したヘッダー:

httpResponse.setDateHeader("Expires", 0L);
httpResponse.setHeader("Pragma", "no-cache");

HTTP/1.1 用に設定したヘッダー:

httpResponse.setHeader("Cache-Control", "private,no-store,no-cache");
于 2013-09-24T13:06:02.717 に答える