如何通过注释在 spring mvc 3 中设置标头无缓存?不是
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
没有这样的选择。您可以使用拦截器:
<mvc:annotation-driven/>
<mvc:interceptors>
<bean id="webContentInterceptor"
class="org.springframework.web.servlet.mvc.WebContentInterceptor">
<property name="cacheSeconds" value="0"/>
<property name="useExpiresHeader" value="true"/>
<property name="useCacheControlHeader" value="true"/>
<property name="useCacheControlNoStore" value="true"/>
</bean>
</mvc:interceptors>
(取自here http://www.i-develop.be/blog/2010/07/30/spring-mvc-3-0-http-cache-control-headers/)
一方面,没有这样的注释是合乎逻辑的。 spring-mvc方法上的注解主要是让容器决定调用哪个方法(通过请求头、请求url或方法来限制)。控制响应不属于这一类。
另一方面 - 是的,拥有这些会很方便,因为当对控制器进行单元测试时,它与测试 http 标头内容无关(或者是吗?)。还有@ResponseBody
and @ResponseStatus
,它确实指定了一些响应属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)