【问题标题】:Session map is null when printed打印时会话映射为空
【发布时间】:2010-10-07 19:37:59
【问题描述】:

我正在研究 JSF1.1,使用 JSP 作为表示技术。 我有一个带有 ArrayList 的托管 bean,并将列表显示为行。 一切正常。我有两个服务器节点的会话复制,当我复制会话并将其中一个集群关闭时,应用程序现在位于第二个集群上,但会话属性丢失了。

我尝试使用 ExternalContext 打印 sessionMap 以查看会话属性,但这也是 null。

可能的原因是什么?

【问题讨论】:

  • mali 如果可能的话,请发给我如何设置和获取 ExternalContext 和 sessionMap 的代码。

标签: session jsf


【解决方案1】:

属性可能不是Serializable。这是让它们持久保存在磁盘上和/或通过网络作为字节传输的要求。

要解决这个问题,只需确保所有会话属性(包括会话范围的托管 bean)都像这样实现 Serializable

public class SomeSessionClass implements Serializable {
    // ...
}

在适用的情况下,不要忘记将任何成员设为Serializable。例如

public class SomeSessionClass implements Serializable {
    private SomeNestedClass foo; // Has to implement Serializable as well!
    // ...
}

【讨论】:

  • 我创建了一个实现可序列化的类并声明了一个变量 int,我只想将其视为一个计数器。与上面相同的情况,每当我切换节点时,我都会丢失我的属性值。请帮助我。
猜你喜欢
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
  • 1970-01-01
  • 2017-02-22
  • 1970-01-01
  • 2013-02-05
  • 2016-08-02
  • 1970-01-01
相关资源
最近更新 更多