struts2多个session管理问题

现在是多个用户登录,每个用户我创建一个session,管理员可以踢出用户。我的问题的是怎么觉得我的用户都是放在一个session中,踢出的时候全部踢出了。用户登录的时候:... 现在是多个用户登录,每个用户我创建一个session,管理员可以踢出用户。我的问题的是怎么觉得我的用户都是放在一个session中,踢出的时候全部踢出了。
用户登录的时候:
用户A登录》》
ServletActionContext.getContext().getSession().put("bguser",bgUser);
用户B登录》》
ServletActionContext.getContext().getSession().put("bguser",bgUser);
踢出用户的时候:
ServletActionContext.getContext().getSession().remove("bguser");
展开
 我来答
xiangjianfanj
2011-09-09 · 超过10用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:31.8万
展开全部
我晕,SESSON他是一个对象,存SESSON就是往对象里面加属性,比如用户A登录时:
ServletActionContext.getContext().getSession().put("bguser",bgUser);
这时SESSION中有了一个名字叫bguser的属性,他的值是bgUser
你用户B登录时又用这个名,相当于你把原来用户A的值覆盖了,SESSION中还是只有一个属性,他的名字叫bguser,这是错的。。
要实现很简单你直接将A登录时存为:
ServletActionContext.getContext().getSession().put("Abguser",bgUser);
ServletActionContext.getContext().getSession().put("Bbguser",bgUser);不就行了么?
当然如果你觉得这样SESSION里放的属性太多的话,你可以先在SESSION中存一个MAP,A登录时你拿到这个MAP还后MAP.put( "A",Abguser)再存,B登录再取到这个MAP还用MAP.put("B",Bbguser)就行了,要踢人,拿到MAP直接用登录的KEY找到这个对象直接MAP.remove就O了
保证轻松搞定,无痛无伤害,哈哈
堵你家马桶
2011-09-09 · 超过29用户采纳过TA的回答
知道答主
回答量:227
采纳率:0%
帮助的人:88.5万
展开全部
session是一次回话,你只有把用户放到application全局对象才可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqyzs03
2011-09-09
知道答主
回答量:11
采纳率:0%
帮助的人:4.9万
展开全部
你是怎么删除的?是根据sessionID删的么?
追问
现在的关键问题就是我感觉所有的用户都放在了一个session中,如果key相同的话,好像创建不成新的session
追答
销毁用户session用session.invalidate();这个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LENGYOUFEI
2011-09-09
知道答主
回答量:37
采纳率:0%
帮助的人:11.6万
展开全部
参考Java EE 基础实用教程 有详细介绍
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
味洋扛590
2011-09-09 · TA获得超过1647个赞
知道小有建树答主
回答量:1640
采纳率:100%
帮助的人:822万
展开全部
把用户登录的信息保存在ServletcContext中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-09-09 · TA获得超过1243个赞
知道小有建树答主
回答量:2126
采纳率:55%
帮助的人:673万
展开全部
session是共享的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式