5

我想根据某些事件使用户会话无效。我存储了他们的 sessionID,如何从这个 ID 中获取他们的 HttpSession?HttpSessionContext 类已被弃用,没有替代品。

4

2 回答 2

6

已经在执行此操作的方法已被弃用。但是您可以使用 HttpSessionListener 实现您的想法,当创建新会话时,将其存储在 HashMap 中,会话 id 作为键,对象是实际的 HttpSessionObject。你可以通过这个获得参考。

于 2009-08-09T13:11:36.403 回答
3

Servlet 2.2 出于安全原因专门弃用了这个,所以不应该有任何官方的方式来做到这一点。不推荐,但如果您使用 Tomcat,可以尝试使用 Manager.findSession()。

我刚刚从我的应用程序中删除了 HttpSession。当许多服务器正在运行时,很难保持会话同步。我们试图通过编写我们自己的经理来调整它,但永远无法让它正常工作。最后,我们用大约 500 行代码编写了自己的会话实现,并且效果更好。

于 2009-08-09T13:44:51.430 回答