Spring Model或HttpServletRequest对象不会覆盖控制器

时间:2012-03-16 08:33:58

标签: spring servlets model

我正在使用spring hibernate项目。所有页面工作正常,但从最后一天起我正在与一个问题作斗争。
在其中一个页面中,当页面第一次从模型中的控制器加载数据时。所有数据都很好。
但是在发布请求后,从数据库中的页面更新一些细节并重定向到相同的GET请求。数据库提供更新的数据,我之前更新并将其打印到Java代码。服务器端的每件事都很好。
但是当模型在jsp的客户端上。旧数据即将到来。 甚至我也在http请求中将细节放在模型中。
两个对象都没有覆盖。
还有一件事,在我的本地机器上,这个页面工作正常,但在Live服务器上我遇到了这个问题。
请帮忙。我从最后一天开始面对这个问题。

1 个答案:

答案 0 :(得分:0)

我认为问题在于,GET请求的页面会被浏览器或某些服务器缓存。

您应该添加一些关于now的信息,以便将http响应缓存到响应中。

Spring帮助你:

<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" />
        <property name="alwaysUseFullPath" value="true" />
        <property name="cacheMappings">
            <props>
                 <!-- 2678400 seconds = 31 days -->
                 <prop key="/resources/images/favicon*.ico">2678400</prop>
                 <prop key="/resources/images/*.png">2678400</prop>

            </props>
        </property>
    </bean>
 </mvc:interceptors>

例如,这个配置将指示Spring阻止对每个响应的缓存,并删除favicon和png文件。