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