【问题标题】:Java session attribute missing/lostJava 会话属性丢失/丢失
【发布时间】:2011-10-21 19:45:35
【问题描述】:

使用 JSF2 和 Richfaces 4.0。几天来,我一直在尝试调试丢失的会话属性,但没有成功。 我有一个页面流将用户从 page1 带到 page2,然后返回到 page1。当用户单击按钮导航到 page2 时,会添加会话属性。当用户返回到 page2 和 page1 时,会使用此属性。 调试的时候可以看到一直到page2的session属性,但是当用户点击page2中的一个按钮返回page1时,这个属性就消失了。

我不知道为什么会这样。我 100% 确定我将属性添加到会话而不是请求。这几天我一直在分析代码。

我有其他页面将属性添加到会话中并且它们工作正常。

任何调试建议都会有所帮助。

【问题讨论】:

  • 您的请求流中是否还有其他内容可以修改会话?是否有 HTTP/HTTPS 更改?您是否在集群环境中运行?除此之外......会话属性不会出错。
  • 否,page2 在 UIExtendeddatatable 中加载报告。报告末尾的继续按钮将用户带到属性消失的第 1 页。

标签: java session jsf-2


【解决方案1】:

验证浏览器是否在每个请求上发送相同的会话 ID cookie。

您可以为此使用Fiddler。

【讨论】:

  • 我检查了所有方法调用的会话的 getId() 方法及其相同的 Id。
【解决方案2】:

我的错。错过了删除该属性的过滤器。谢谢。

【讨论】:

  • 嘿;是的,我想它会是这样的......远处的怪异动作有时会让调试变得痛苦。
【解决方案3】:

在我的情况下,我在处理过程中在安全页面和非安全页面之间切换,这导致会话丢失。 我确保它一直是 https(安全)并解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 2010-11-12
    • 2013-08-10
    • 2012-05-09
    相关资源
    最近更新 更多