我想爲我的網站中的任何靜態資源(圖像,js,css)設置緩存控制。我正在使用Spring 4(與Spring Security)和Tomcat 8服務器。無法爲任何靜態資源設置緩存控制標題(春季)
我已經嘗試設置ExpiryFilter在我的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>
但由於ExpiresFilter不工作,我試圖MVC資源設置與緩存週期:
<mvc:resources mapping="/resources/**" location="/resources/,classpath:/resources/" cache-period="2592000" />
<mvc:annotation-driven />
但也沒有工作。
我也嘗試檢查我的web.xml中的過濾器映射是否正常,但事實證明它沒有過濾任何images/js/css類型,但過濾了我的html文件。我的靜態文件保存在webapp/resources文件夾中,無論我的html文件位於webapp/WEB-INF/jsp文件中。
我也在我的春季安全配置補充一點:
<http pattern="/resources/**" security="none"></http>
有什麼我錯過?
謝謝。