通过SessionId取Session?

Andyfly2008 2013-03-11 07:03:20
菜鸟求助:
现欲通过SessionId删除对应的Session,其中Session是以key值保存在一张Map里的,当我对Map操作remove掉对应的key-value对时,其对应的Session还是没有被销毁啊,要想销毁其Session该如何操作?
...全文
3309 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 11 楼 Andyfly2008 的回复:
非常感谢各位的热心…问题已解决,我是通过写了个监听器,然后通过监听器来查找SessionId对应的Session的,然后invalidate()实现的…
你确定真的可以???? 如果session回话时间过了,然后清空map,,这种情况可以,,但是如果 我要强制 踢掉某个在线的人就不行了。。因为你只是清空了map里面的记录,但是真正session的还没有,,其实写个filter 或者拦截器 在里面迭代map 判断当前的session 有否存在于map中,,不存在 就删除,,存在就啥都不做 就可以了。。
Andyfly2008 2013-03-13
  • 打赏
  • 举报
回复
非常感谢各位的热心…问题已解决,我是通过写了个监听器,然后通过监听器来查找SessionId对应的Session的,然后invalidate()实现的…
zhaoyongu 2013-03-12
  • 打赏
  • 举报
回复
你看以下方式能不能实现你想要的效果?

Session session = sessionMap.get(sessionId);//获取session对象
session.invalidate();//销毁该session
liuyuhua0066 2013-03-12
  • 打赏
  • 举报
回复
session也是一个map,找找相应的remove方法
且活且珍惜 2013-03-12
  • 打赏
  • 举报
回复
session.removeAtrribuite(key)
长笛党希望 2013-03-12
  • 打赏
  • 举报
回复
(HttpSession) Session.get(session_id).invalidate();
yof 2013-03-12
  • 打赏
  • 举报
回复
HttpSessionContext HttpSession getSession(String sessionId); 可以取, 但 现在的 容器一般都不实现: for security reasons, with no replacement. This interface will be removed in a future version of this API.
yof 2013-03-12
  • 打赏
  • 举报
回复
HttpSessionContext
Andyfly2008 2013-03-12
  • 打赏
  • 举报
回复
可能是我没描述清楚,现在是管理员的身份来销毁别人的Session能用session.removeAtrribuite(key)?我这的怎么不好使啊?
  • 打赏
  • 举报
回复
开始以为实现HttpSessionListener 可以的,,但是只有sessionCreated()和sessionDestroyed()两个方法,,没有办法去操作别人的session会话 我觉得,现在只能这样,先还是用Map操作remove掉对应的key-value对,然后 循环你的map,, 用当前session取出的会话id和 你map保存的比较,,如果没有,说明需要删除 直接session.removeAtrribuite(key) 、
sunjianbo1126 2013-03-12
  • 打赏
  • 举报
回复
session.remove(key)
wmyasw 2013-03-12
  • 打赏
  • 举报
回复
2楼说 的方法正确啊。。指向key来销毁 session

67,516

社区成员

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

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