关于session更新的问题

  最近在学习用ssh框架做一个实习生招聘系统,已经做了大半。今天突然想到一个问题,在登录的时候我把用户的所有信息放到session中去,那么我不同用户同时登录的时候session中的信息是否会被覆盖掉(因为在登录时放入用户信息的session的key是同一个名字)。也就是说如果pc1先用张三登录, pc2再用李四登录,pc1接下去的操作中会不会显示了李四的信息?

  然后我尝试了一下,用火狐浏览器同时登录两个用户,结果果然遇到了如上所说的问题,第二个用户登录的时候会覆盖session,导致第一个用户以后的操作读取的是第二个用户信息。得到这个结果后一想完了,这个系统岂不是只能同时一个用户在线。

  而后,加群请教其他有经验的高手,得到的回答是,同样的key没问题,每个用户都有自己的session集,sessionid不同,用之间是隔开的,session依赖于cookie,每个浏览器实例都有自己的一套cookie,所以可以登录不同用户。那我就用不同的浏览器登录的两个用户,结果两个用户之间的信息果然没有影响,问题解决。

  那session到底是怎么实现的呢? 查到了这个资料 http://gongmingwind.iteye.com/blog/587656。

上一篇:基于 getter 和 setter 撸一个简易的MVVM


下一篇:Hibernate,get()和load()区别