如何配置Spring以避免设置Pragma No-Cache

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相关?

问候!

Abh*_*bhi 7

您可以编写自己的自定义拦截器并将标头值设置为响应对象.拦截器只是过滤器,所以重写过滤器并使用

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)