Tomcatのキャッシュを防ぐにはどうすればよいですか?私はajax経由で読み込んで使用するcssと基本的なhtmlファイルを持っています。tomcatを再起動しない限り、変更は反映されないようです。異なるマシン、異なるブラウザー、および更新されたファイルを受け取りません。
考え?
Tomcatのキャッシュを防ぐにはどうすればよいですか?私はajax経由で読み込んで使用するcssと基本的なhtmlファイルを持っています。tomcatを再起動しない限り、変更は反映されないようです。異なるマシン、異なるブラウザー、および更新されたファイルを受け取りません。
考え?
回答:
cacheAllowedフラグを変更した後、/ work / Catalina / localhostのアプリケーションキャッシュフォルダーを削除する必要がある場合があります。
構成は、server.xmlで次のように導入できます。
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="false"
charsetMapperClass="org.apache.catalina.util.CharsetMapper"
cookies="true"
reloadable="false"
wrapperClass="org.apache.catalina.core.StandardWrapper">
</Context>
chachingAllowed
タグはどこで変更しますか?
cachingAllowed
を設定するとfalse
、一致するプロパティが見つかりませんでした。
Tomcat 8 / Tomcat 9のプロパティは、次のようにconf / context.xmlに追加する必要があります
<Context>
<Resources antiResourceLocking="false" cachingAllowed="false" />
...
</Context>
cachingAllowed
フラグを変更した後、/ work / Catalina / localhostのアプリケーションキャッシュフォルダーを削除する必要がある場合があります。また、IntelliJ IDEAのキャッシュをクリアします(Tomcatの実行に使用する場合):
Mac:/ Users / {:user} / Library / Caches / IntelliJIdea {:version} / tomcat / Linux:/home/{:user}/.IntelliJIdea{:version}/system/tomcat/ Windows:C:\ Users \ {:user} \。IntelliJIdea {:version} \ system \ tomcat \
他のパラメーターについては、Apache Tomcat 9構成リファレンスを参照してください。
Tomcat 7でこの問題が発生しました。その理由は、antiResourceLockingをtrueに設定したためです(いい考えのように聞こえました...)。
ドキュメントによると(http://tomcat.apache.org/tomcat-7.0-doc/config/context.html):
これをtrueに設定すると、実行中のサーバーでのJSPリロードの無効化など、いくつかの副作用があることに注意してください。Bugzilla37668を参照してください。
私の場合、プレーンスタティックテキストファイルがキャッシュされることさえありました。
したがって、要約すると、少なくとも迅速な開発のために使用しなければなりませんでした:
antiResourceLocking="false"
cachingAllowed="false"
このドキュメントを確認しました:Apache Tomcat設定リファレンス?
cacheMaxSize
-静的リソースキャッシュの最大サイズ(キロバイト単位)。指定しない場合、デフォルト値は10240(10メガバイト)です。
cacheTTL
-キャッシュエントリの再検証間のミリ秒単位の時間。指定しない場合、デフォルト値は5000(5秒)です。
cachingAllowed
-このフラグの値がtrueの場合、静的リソースのキャッシュが使用されます。指定しない場合、フラグのデフォルト値はtrueです。
これらのパラメーターは、Tomcat 5.5とTomcat 6.0で同じです。