!紧急:tomcat项目,一个用户登录发现是另一个用户的问题,怎么回事?

lona 2008-04-09 08:54:59
我们开发的一个tomcat项目,
很简单的一个java + servlet
用户登录的时候,过程,取用户信息,放到session里,以后每个页面都从session中取

现在出现这样的bug
两台电脑的人,其中一个人刚刚登录,还没有退出 ,
另一个用户从另一台电脑登录,
发现登录信息是刚才这台机器登录的用户信息,(一定的几率)

两台机器为何登录的session会混了呢?
百思不得其解 ,还请高手帮忙解答。
...全文
193 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
awusoft 2008-04-09
  • 打赏
  • 举报
回复
你在 session 里设置一个当前时间看看.如何说相同那么两边取出 来的结果应该是一样.
lona 2008-04-09
  • 打赏
  • 举报
回复
以上是登录代码
loginResult = loginLogic.doCheckUser(userID, userPassword);

if ("success".equals(loginResult) || "tempsuccess".equals(loginResult)) {
// 获得用户信息,并存在Session中
ncuser = loginLogic.getUserInformation(userID, userPassword);
// 把取得的用户信息存到session中。
session.setAttribute("ncuser", ncuser);
// 保存登陆信息到Cookie
if ("on".equals(autoLogin)) {
Cookie userName = new Cookie("uname", userID);
userName.setMaxAge(360 * 24 * 60 * 60);
response.addCookie(userName);
Cookie userPwd = new Cookie("upwd", userPassword);
userPwd.setMaxAge(360 * 24 * 60 * 60);
response.addCookie(userPwd);
} else {
Cookie userName = new Cookie("uname", null);
userName.setMaxAge(0);
response.addCookie(userName);
Cookie userPwd = new Cookie("upwd", null);
userPwd.setMaxAge(0);
response.addCookie(userPwd);
}
}
lona 2008-04-09
  • 打赏
  • 举报
回复
确实遇到了,现在客户正再闹腾 呢
郁闷啊
awusoft 2008-04-09
  • 打赏
  • 举报
回复
应该不会有这样的事!!!!
南南北北 2008-04-09
  • 打赏
  • 举报
回复
设置一下,sessionID的长度,是不是太短了。。。
lona 2008-04-09
  • 打赏
  • 举报
回复
我放再session里的变量是相同的
但是不同的电脑,
不同的浏览器,
不会碰巧都取到同一个ID了吧
每个人登录进来不是都重新创建一个session么

little06 2008-04-09
  • 打赏
  • 举报
回复
request.getSession().getId()
little06 2008-04-09
  • 打赏
  • 举报
回复
session 是通过Sessionid判断的,
是你的放在Session里的信息相同吧

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧