12

GWT を使用してアプリケーションを作成しました。クライアントにとって完璧に機能します。しかし、アプリケーションで何かを変更し、再コンパイルしてからサーバーにデプロイし、クライアントがアプリケーションにアクセスすると、ブラウザはアプリケーションの新しいバージョンを取得せず、以前にキャッシュされたバージョンを使用します。これにより、RPC エラーやその他の問題が発生します。

クライアントのブラウザが私のページにアクセスしているときにアプリケーションの新しいバージョンを強制的に取得し、サーバー上のバージョンと一致する場合はキャッシュされたバージョンを使用するにはどうすればよいですか?

4

2 に答える 2

13

"*.nocache.*"ファイルとスタートページ(通常は「index.html」)に正しいHTTPキャッシュヘッダーが提供されていることを確認してください。この(やや難しい)トピックの説明については、さまざまなタイプのリソースの理想的なHTTPキャッシュ制御ヘッダーを参照してください。基本的に、あなたはおそらく設定したいと思うでしょう

Cache-Control: no-cache

これらのファイルの場合。(ちなみに、これはファイルが変更された場合にのみ再ダウンロードを強制します!)

この設定の方法は、Webサーバーによって異なります(Apache Httpdの場合は、このガイドを使用できます)。

または、JavaEEサーバー(Tomcat、Jettyなど)を使用してこれらのファイルを提供する場合は、サーブレットフィルターを使用できます。ApacheTomcatの単一のJSファイルにExpiresHTTPヘッダーを設定する方法の私の例を使用したいと思うかもしれません。

于 2011-01-27T17:20:45.383 に答える
3

このトピックは、キャッシュをクリアするのに役立ちます : gwt でキャッシュをクリアする方法は?

于 2011-01-28T05:12:31.243 に答える