日期:2014-05-18  浏览次数:20690 次

B/S(后台采用Spring+Hibernate)开发中的疑问,请有B/S开发经验的大虾指点
做了一段B/S开发了,编程知识增长了不少,可是,感觉很多理论的东西还不是很清楚:

1.页面的上的一个方法对应一个后台的服务,当多个浏览器同时操作时即同时调用后台的服务时,服务器是如何处理的?比如是完全并发的还是其他的方式?

2.对数据库的操作:同时打开两个页面,对同一个记录,一个进行删除操作,一个进行修改操作(修改分为:查询、更新两步),在查询获得记录还未进行更新操作的时候,该记录被删除了,这种情况会不会发生,如果会的话如何防止?

非常感谢!

------解决方案--------------------
2 存在,无需防止,也无法防止,更新调用的是update,没更新到而已,根据update返回的结果来判断

如果是hibernate记得会抛出异常,提示update了0条数据,你拦截他即可,其他的应该没什么特殊要求
------解决方案--------------------
不同用户登录就在不同的线程中,运行服务也是在他的线程中。如果用到共享资源要实现互斥。

数据库可以设定脏数据是如何读取的,就是两个人同时操作同一个数据。有几种方式是不同的。
------解决方案--------------------
1.我理解的是一个请求一个独立的响应,就是和你想得一样啦b( ̄▽ ̄)d
2.加锁.啥乐观锁,悲观琐的,hibernate似乎是默认乐观锁.
------解决方案--------------------
1、服务器同一实例的servlet多线程进行处理。
2、数据库加锁。