从门户网下得到用户ID和用户名, 如何将用户信息存入session中

Rooock 2009-10-28 09:40:02
比如,在门户上登录的用户有:
{
id: 007,
name: bander
},
{
id: 1234,
name: admin
}

我要将这两位的用户信息都存入session中.
session的值肯定是这位用户信息实体.
但是key怎么取值呢,

如果是session.setAttribute("userInfo", user);这样的话,
后面保存到session中的用户信息难道不会把前一位个顶出去了吗.

如何才能在session分别保存他们两位的信息,同时key也好设置?
...全文
449 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
howsun_zh 2009-10-28
  • 打赏
  • 举报
回复
session.setAttribute(user.getId(), user);//这样就顶不出去了^_^
LZ的意思是,在服务器外登录的用户,应该在本服务器可以体现出会话状态?
中医的偏方行不行?
在你的服务器中写一个Http客户端连接程序,仍然利用这个程序访问自己的web容器(例如tomcat),这是容器会创建session,这时你在服务端用session.setAttribute("userInfo", user);就顶不出去,因为session是多线程的。
aellonxie 2009-10-28
  • 打赏
  • 举报
回复
拼成字符串比方说XX,XX然后获取值的时候拆分,也不需要开两个浏览器
l122010953 2009-10-28
  • 打赏
  • 举报
回复
开2个浏览器,一个放007,一个放1234
Rooock 2009-10-28
  • 打赏
  • 举报
回复
session怎么会是客户端对象, session是服务端的吧.
客户端的那是cookie
xiaozejun 2009-10-28
  • 打赏
  • 举报
回复
这里说的session对象是指的客户端的对象
是指一个浏览器他会产生一个sessionID来成为唯一标示符
那么不同的sessionID保存的就是不同的session用户对象
怎么会替换呢
JavaAlpha 2009-10-28
  • 打赏
  • 举报
回复
存多个还是存到数据库里面比较保险。
Rooock 2009-10-28
  • 打赏
  • 举报
回复
呃...
我提问的方式有问题..

在客户端A 员工A登录. 客户端B 员工B登录.
登录的时候, 就需要将员工信息存入session中.

譬如: session.setAttribute("userKey", userInfo);
这里,userKey一样要是唯一的.
然后, 后登录的用户会覆盖前面登录的用户.

那么, 使用user id做键值是个不错的想法..

可是,如何才能得知, 某一时刻, 系统session中保存了哪些键值呢.

员工A登录后, 员工B也登录. 他们不会互相污染.
nowgowin 2009-10-28
  • 打赏
  • 举报
回复
可以用list集合存取,去的时候用Iterator进行遍历。这样就可以避免你的问题再次出现
yasuzhanbo 2009-10-28
  • 打赏
  • 举报
回复
3楼的意识是session是服务器端用来对客户端进行标识的
客户端的对象,这么说还真让人...
yangjitang 2009-10-28
  • 打赏
  • 举报
回复
就是把用户对象放到map里,然后把map存放在session里就可以了
yangjitang 2009-10-28
  • 打赏
  • 举报
回复
用map吧

67,512

社区成员

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

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