我正在使用HttpSessionListener的sessionDestroyed()方法来获取当前会话对象,但由于在执行sessionDestroyed()之前会话已被破坏,因此这是不可能的。然后我尝试使用HttpSessionBindingListener的valueUnbound()获得相同的结果,但仍然无法获取当前会话对象。如果我想要这个对象,如何实现它。
最佳答案
您正在使用哪个servlet版本?2.3分?如果Servlet2.4的第21页是这样的话
规范中有一条关于与Servlet版本2.3兼容的说明:
“srv.1.6.1 httpsessionlistener.sessiondestroyed的
在规范的早期版本中,此方法定义为:
不是吗?会话无效的位置。
从版本2.4开始,此方法更改为:
以便在会话失效之前通知。如果代码假定了以前的行为,则必须对其进行修改以匹配新行为。”
在这种情况下,请尝试将web.xml中的声明更改为2.4+版本,并检查库您可以在规范serlvet 2.3和2.4中看到更多详细信息。