您的位置:首页 > 其它

关于j2ee的session的问题

2011-08-17 16:38 162 查看
下午同事发现了一个问题:同一个应用系统,在同一台电脑上,用不同的用户登录后,后面的用户会把前面用户信息覆盖掉!

代码如下:

....................................

_request.getSessionContext().add("user", user);

....................................

起初,我不以为然:应该如此啊!如果不这样,那反而不正常了!

同事接着问:要是客户要求后面的用户登陆后,不要冲掉前面的用户信息,咋处理?

由此产生了2个问题:

(1)在前面代码不变的情况下,你确定后面登陆用户会把前面登陆用户信息覆盖掉?

(2)如果不想后面用户覆盖前面用户,怎么处理?

为了严谨的证明,不是单靠嘴皮子,我决定写个小程序测试下。

建立一个J2EE工程,里面有一个jsp,用打印session.getId()的办法,来判断两次打开同一个页面是否同一个session!

结果出乎意料,竟然有种情况:

(1)如果两次用同一浏览器(注:ie9和搜狗浏览器不是同一个浏览器),两次打开的sessionid是一样的。

(2)如果两次用不同的浏览器(注:ie9和搜狗浏览器不是同一个浏览器),两次打开的sessionid是不一样的。

有了这个结论,问题的答案并迎刃而解了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: