【问题标题】:Spring Model or HttpServletRequest object is not overriding on controllerSpring Model 或 HttpServletRequest 对象未覆盖控制器
【发布时间】:2012-03-16 08:33:58
【问题描述】:

我正在处理一个春季休眠项目。所有页面都运行良好,但从最后一天开始,我一直在与问题作斗争。
在其中一个页面中,当页面第一次从模型中的控制器加载数据时。所有数据都很好。
但是在发布请求以更新数据库页面中的一些详细信息并重定向到相同的 GET 请求之后。数据库正在提供我之前更新的更新数据并将其打印到 java 代码。服务器端的一切都很好。
但是当模型出现在 jsp 的客户端时。旧数据来了。 即使我在模型中以及 http 请求中都添加了详细信息。
两个对象都没有覆盖。
还有一件事,在我的本地机器上,这个页面工作正常,但在 Live 服务器上我遇到了这个问题。
请帮忙。我从昨天开始就面临这个问题。

【问题讨论】:

标签: spring servlets model


【解决方案1】:

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

你应该添加一些关于 now 的信息来缓存响应的 http 响应。

春天帮你:

<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 文件之外的每个响应进行缓存。

【讨论】:

  • 嘿拉尔夫...它不工作。即使我从模型中的 Math.random() 发送一个随机数。服务器重启后,第一次随机生成;仅来自同一控制器的所有请求。
  • 我仍然无法理解为什么我的 tomcat 只为特定控制器保存数据。
  • 也许我理解错了:是客户端接收旧数据,还是服务器接收旧数据(数据库包含旧数据)?
  • 只有客户端接收旧数据。仅对于此页面或控制器,数据相同,数据库正在更新。更新后,我重定向到 GET url,该 url 使用选择查询从数据库中获取新数据,并且新数据在 java 代码中打印得很好。但是在 jsp 上,新数据不会来
  • @RequestMapping(value="/company/{p_company_id}/campaign/reports/template",method=RequestMethod.GET) public String showUserCampaignReportsTemplateData(@PathVariable String p_company_id, Model p_model, HttpServletRequest p_request, HttpServletResponse p_response) { p_request.setAttribute("reportTemplateRandom", Math.random()); //从数据库中选择新数据 System.out.println("p_model.asMap() : : " + p_model.asMap());返回“动态/模板页面”; }
猜你喜欢
  • 1970-01-01
  • 2020-01-13
  • 2020-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-15
  • 1970-01-01
  • 2014-09-11
相关资源
最近更新 更多