【问题标题】:HttpSessionBindingListener and HttpSessionListenerHttpSessionBindingListener 和 HttpSessionListener
【发布时间】:2013-05-16 06:25:21
【问题描述】:

我正在使用 HttpSessionListener 的 sessionDestroyed() 方法来获取当前会话对象,但这是不可能的,因为在执行 sessionDestroyed() 之前会话已经被销毁。然后我尝试使用 HttpSessionBindingListener 的 valueUnbound() 来获得相同的结果,但我仍然无法获取当前会话对象。如果我想要这个对象,如何实现。

【问题讨论】:

  • 当你event.getSession() 时你得到了什么?

标签: java jakarta-ee


【解决方案1】:

您使用的是哪个 servlet 版本? 2.3?如果是 servlet 2.4 第 21 页上的情况 规范有关于与 servlet 2.3 版兼容性的说明:

"SRV.1.6.1 HttpSessionListener.sessionDestroyed 在之前的规范版本中,这种方法被定义为: 会话无效的通知。 从 2.4 版开始,此方法更改为: 以便它在会话失效之前通知。如果代码采用以前的行为,则必须对其进行修改以匹配新行为。”

在这种情况下,请尝试将 web.xml 中的声明更改为 2.4+ 版本并检查您的库您可以在规范 serlvet 2.3 和 2.4 中查看更多详细信息

【讨论】:

    猜你喜欢
    • 2012-07-14
    • 2013-07-20
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    相关资源
    最近更新 更多