2017-01-30 28 views
0

私のウェブサイトの静的リソース(画像、js、css)のキャッシュコントロールを設定しようとしています。私はSpring 4(Spring Security付き)とTomcat 8サーバーを使用しています。静的リソース(Spring)のキャッシュコントロールヘッダーを設定できません

私はすでに私のweb.xmlに

<filter> 
    <filter-name>ExpiresFilter</filter-name> 
    <filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class> 
    <init-param> 
     <param-name>ExpiresByType image</param-name> 
     <param-value>access plus 2 weeks</param-value> 
    </init-param> 
    <init-param> 
     <param-name>ExpiresByType text/css</param-name> 
     <param-value>access plus 2 weeks</param-value> 
    </init-param> 
    <init-param> 
     <param-name>ExpiresByType text/javascript</param-name> 
     <param-value>access plus 2 weeks</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>ExpiresFilter</filter-name> 
    <url-pattern>/resources/*</url-pattern> 
</filter-mapping> 

をExpiryFilterを設定しようとしました。しかしExpiresFilterが機能していないため、私は、キャッシュ期間でMVCリソースを設定しようとしました:

<mvc:resources mapping="/resources/**" location="/resources/,classpath:/resources/" cache-period="2592000" /> 
<mvc:annotation-driven /> 

しかし、どちらも働いていません。

web.xmlのフィルタマッピングが動作しているかどうかを確認しようとしましたが、images/js/cssのいずれのフィルタもフィルタリングせず、htmlファイルをフィルタリングしていました。私の静的ファイルは、自分のhtmlファイルがwebapp/WEB-INF/jspファイルの中にあるかどうかにかかわらず、webapp/resourcesフォルダ内に保持されます。

私も春のセキュリティの設定でこれを追加します。

<http pattern="/resources/**" security="none"></http> 

は、私が見逃してはありますか?

ありがとうございます。

答えて

0

tomcatのlogging.propertiesのorg.apache.catalina.filters.ExpiresFilter.level = FINEによるTomcatのフィルタのロギングを有効にしました。 ExpiresFilter構成で初期化

フィルタ[excludedResponseStatusCode = [304]、デフォルト=ヌル、byType = {テキスト/ CSS = ExpiresConfiguration [始点:フィルタは、次のログがCatalinaのログに印刷しまっ初期化しまっ

=開始時間= [10分]]、アプリケーション/ javascript = ExpiresConfiguration [開始ポイント=アクセスタイム、継続時間= [10分]] 、画像= ExpiresConfiguration [開始ポイント=アクセスタイム= [10分]]}]

ステータス304のすべてのhttp応答がキャッシュ制御パラメータの設定で除外されることがわかります。

私はtomcatフィルタを設定して、自分のリソースをキャッシュしました。これは、私は、フィルタのログで確認することができます。

org.apache.catalina.filters.ExpiresFilter onBeforeWriteResponseBody FINE:応答状態「200」コンテンツタイプ「の画像と要求「/static/img/home/phone_icon2.pngを」/png "、有効期限を設定する1/31/17 11:59 AM 2017年1月31日11:49:30 org.apache.catalina.filters.ExpiresFilter getExpirationDate FINE:ExpiresConfigurationを使用する[startingPoint = ACCESS_TIME、duration = 10分]]コンテンツタイプ "image/png"に一致する "image"が1/31/17 11:59に返される 2017年1月31日11:49:30 AM org.apache.catalina.filters.ExpiresFilter onBeforeWriteResponseBody FINE :レスポンスステータスが「200」のコンテンツタイプ「image/png」の「/static/img/home/bgimage.png」をリクエストし、有効期限を1/31/17に設定します。11:5​​9 AM 2017年1月31日11時49分30秒org.apache.catalina.filters.ExpiresFilter getExpirationDate FINE:コンテンツタイプ "image/png"に一致するExpiresConfiguration [startingPoint = ACCESS_TIME、duration = [10 MINUTE]]を使用します。 "返信1/31/17 11:59 AM

最初にログを有効にすることをアドバイスしますReference

関連する問題