当前位置:编程学习 > JAVA >>

session 概率性错乱

A帐户在A电脑上登录 显示自己的信息

B帐户在B电脑上登录 显示自己的信息

过一会儿,A帐户刷新页面,出现了B帐户的用户基本信息 

跟踪发现,session串掉了 

使用Strtus2,每一个action方法中,session的获取都是是使用ServletActionContext.getRequest().getSession()方法来获取 

用户的信息是session.setAttribute()来设置,且只在是struts2 action中设置, User定义为实例变量(按道理struts2是线程安全的)。。其他地方没有setAttribute,只有getAttribute 方法读取

出现是概率性,我个人感觉是哪里线程出问题了。同一个浏览器每一次请求都是重新发起一个线程,那使用上面的方式,应该获取的session应该也是同一个。。。 

ps:1、用户是通过公司的正向代理统一访问这个web系统,会不会公司的代理服务器的问题? 跟踪了一下日志,发现用户A提交的request,确实是A的参数,但是A调用request.getSession这个里面的attribute完全变成B的东西了。

2、web部署是 apache一台电脑,tomcat一台电脑。


没分啊,,怎么办,怎么办。。 --------------------编程问答-------------------- 在浏览器和服务器端,严格跟踪cookie的jsessionId,在过滤器中将jessionId和用户提交的其他标识信息一起打印出来,cookie中的jsessionId值决定session。要能先定位出问题的大致范围,才能帮助定位问题。

--------------------编程问答--------------------
补充:Java ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,