问题描述
公司使用SSH框架做了一个系统,等到上线的时候才发现一个很严重的问题,就是一个用户登录使用没问题,但是多个用户登录数据就全部错乱了.哪位高手知道问题是在哪里.现在不知道从何下手了.
解决方案
解决方案二:
检查一下那些数据是错乱的。分析一下数据存取的范围,看是否是公用的数据
解决方案三:
数据全乱了指的是?分下,是由于用户登录重用某些公用模块导致的错乱还是事务问题导致的如果是公用模块导致的,应该是系统某些公用的部分没处理好,本应根据用户切分的实际却杂糅在一块如果是事务问题首先将模块切分下,明显未涉及事务的不用管,对涉及事务的部分进行测试,找出导致数据混乱的模块加事务.......用Spring很好加的吧
解决方案四:
看楼主的意思不是不你在strutsAction中设置了公共变量哦,导致多用户操作的时候出现了脏数据啊
解决方案五:
问题要说清楚,才好解决,全乱了谁也不知道具体是什么情况。
解决方案六:
你们没有进行专业的测试应该是用户权限没配置好
解决方案七:
引用5楼nanjiwubingqq的回复:
你们没有进行专业的测试应该是用户权限没配置好
我觉得应该不是权限问题!!
解决方案八:
多个用户是在同一台机上登录吗?如果是那就是SESSION一样。。
解决方案九:
怎么乱法?你不能在一个浏览器的多个标签中使用不同的用户登录。浏览器标签会共享一个cookie,使用同一个sessionid
解决方案十:
引用3楼paneyjiang的回复:
看楼主的意思不是不你在strutsAction中设置了公共变量哦,导致多用户操作的时候出现了脏数据啊
好像就是这个问题,使用了很多实例变量,百度了一下还是没找到解决方案.
解决方案十一:
引用1楼archerlei的回复:
检查一下那些数据是错乱的。分析一下数据存取的范围,看是否是公用的数据
数据存取都是在Action里面,例如:privateStringcount=0;然后一个get,set方法.页面上直接调用这个参数.发现他好像是公用的.就是不同的Session进来也都是调用这个变量当前的值
解决方案十二:
spring配置文件里Bean的作用域:scope=singleton(默认,单例,生成一个实例)Bean的作用域:scope=prototype(多线程,生成多个实例)如果你程序逻辑没错,那应该就是这个问题了。
解决方案十三:
楼上正解,如果是annotation,在action前加@Scope("prototype")