我想为我的网站中的任何静态资源(图像,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>
有什么我错过?
谢谢。