Mar*_*ino 8 java spring spring-mvc java-ee
我的系统是基于Spring MVC的,我检查了Spring自动设置PRAGMA:no-cache.该系统可通过SSL提供给用户.当用户尝试使用INTERNET EXPLORER 7或8下载某些内容时,会出现"Internet Explorer无法从服务器下载文件"之类的错误(更多详细信息:http://support.microsoft.com/default.aspx?scid = KB; EN -US; q316431&).
我尝试像下面的代码一样配置WebContentInterceptor但是不起作用:
<mvc:interceptors>
<bean id="webContentInterceptor" class="org.springframework.web.servlet.mvc.WebContentInterceptor">
<property name="cacheSeconds" value="2100" />
<property name="useExpiresHeader" value="false" />
<property name="useCacheControlHeader" value="false" />
<property name="useCacheControlNoStore" value="false" />
</bean>
</mvc:interceptors>
Run Code Online (Sandbox Code Playgroud)
我能做些什么来避免Spring发送Pragma:no-cache并与Cache Control相关?
问候!
您可以编写自己的自定义拦截器并将标头值设置为响应对象.拦截器只是过滤器,所以重写过滤器并使用
prehandle和posthandle分别设置请求和响应头.
如果您想要具体的示例,请告诉我.
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**" />
<beans:bean id="customInterceptor"
class="org.example.interceptors.CustomInterceptor">
</beans:bean>
</mvc:interceptor>
</mvc:interceptors>
public class CustomInterceptor implements HandlerInterceptor{
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object arg2, ModelAndView modelAndView) throws Exception {
response.setHeader(...);}
}
Run Code Online (Sandbox Code Playgroud)