【发布时间】:2010-11-18 02:10:37
【问题描述】:
我想根据某些事件使用户会话无效。我存储了他们的 sessionID,如何从这个 ID 中获取他们的 HttpSession? HttpSessionContext 类已被弃用,没有替代品。
【问题讨论】:
标签: java servlets httpsession
我想根据某些事件使用户会话无效。我存储了他们的 sessionID,如何从这个 ID 中获取他们的 HttpSession? HttpSessionContext 类已被弃用,没有替代品。
【问题讨论】:
标签: java servlets httpsession
已弃用已执行此操作的方法。 但是您可以使用 HttpSessionListener 实现您的想法,当创建新会话时,将其存储在 HashMap 中,会话 id 作为键,对象是实际的 HttpSessionObject。你可以通过这个获得参考。
【讨论】:
出于安全原因,Servlet 2.2 专门弃用了此功能,因此不应该有任何官方方式来执行此操作。不推荐,但如果您使用 Tomcat,可以尝试使用 Manager.findSession()。
我刚刚从我的应用程序中删除了 HttpSession。当许多服务器正在运行时,很难保持会话同步。我们试图通过编写我们自己的经理来调整它,但永远无法让它正常工作。最后,我们用大约 500 行代码编写了自己的会话实现,并且效果更好。
【讨论】: