2010-11-08 72 views

回答

23

尝试(与改变的值)

<mvc:resources mapping="/static/**" location="/public-resources/" 
     cache-period="31556926"/> 
<mvc:annotation-driven/> 

您也可以使用拦截器:

<mvc:interceptors> 
    <mvc:interceptor> 
    <mvc:mapping path="/static/*"/> 
    <bean id="webContentInterceptor" 
     class="org.springframework.web.servlet.mvc.WebContentInterceptor"> 
     <property name="cacheSeconds" value="31556926"/> 
     <property name="useExpiresHeader" value="true"/> 
     <property name="useCacheControlHeader" value="true"/> 
     <property name="useCacheControlNoStore" value="true"/> 
    </bean> 
    </mvc:interceptor> 
</mvc:interceptors> 

MVC docs

+1

一个微小的更正,正确的标记是“mvc:mapping”而不是“映射”,即正确的完整标记是: 2013-03-26 17:14:51

+0

我应该使用哪一个?目前处于两种情况,并且都想知道是否需要这两种情况,似乎我应该选择其中一种。使用mvc:resources元素有什么好处吗? – 2014-01-07 14:23:57

+1

在'304'的情况下,客户端也会发送一个HTTP请求服务器,然后它是如何受益 – manish 2014-12-02 17:32:23

1

如果使用Spring 3.0,则<mvc:resources>是实现静态资源缓存的一种方法。 This link有一些文档。