标签归档:spring

Spring MVC 异常响应编码设置

直接代码说话

长期招聘Java/PHP/WebDev工程师

到处打广告,长期招聘Java/PHP/WebDev民工

我们的网站:http://www.lehecai.com

应聘请投递简历到:sunshow@gmail.com,注明应聘职位

我们的要求(部分满足即可):

Java

  • 熟悉Struts2 + Spring + Hibernate
  • 熟悉数据抓取
  • 了解或熟悉多线程的工作方式
  • 有数据分析相关经验,有jfreechart等图表经验尤佳

PHP

  • 熟悉MVC
  • 熟悉MemCached
  • 熟悉smarty等模板技术

WebDev

  • 熟练使用jQuery
  • 精通CSS和基于XHTML+CSS的布局方式

[Spring+Hibernate]小心处理脏数据的自动更新

有并发请求的时候会存在这种隐患
例如请求A和B都是同一个Action的实例,并取了同样的数据做处理
A–>取数据–>调用set方法设置A相关的数据–>(B处理数据的时间点)–>页面展现
B–>取数据–>调用set方法设置B相关的数据–>页面展现

也就是说在A设置完数据到页面展现的中间这个时间段里B又把同样的数据设置成了其他的值
这时候Spring的事务管理就会检测数据的一致性,如果发现有不一致的就做自动更新

解决方法有几种:
1、Action里不对数据进行处理
比如我碰到的情况时间原因就把不同的处理放到JS去处理了
2、自己管理事务,不使用Spring的事务管理
3、实现数据对象的Clone方法,页面展现使用的数据都通过Clone脱离和Spring管理的数据库session的关系

由于我没有对Spring和Hibernate做过深入研究,以上分析仅为猜测,谢绝拍砖
不过这个问题确实是存在的,解决方法也是有效的,也从另一个角度说明要想驾驭框架就得掌握其处理机制