【问题标题】:How does Seam store conversation state in the client browser?Seam 如何在客户端浏览器中存储会话状态?
【发布时间】:2010-05-26 02:25:23
【问题描述】:

Seam 的文档说会话状态——参见link 最后一行——可以配置为存储在客户端浏览器中,而不是 servlet 会话中。谁能告诉我:

  1. 这个配置是怎么设置的?
  2. Seam 实际上是如何在浏览器内部存储会话状态的?

【问题讨论】:

    标签: seam seam-conversation


    【解决方案1】:

    Seam in Action 一书的作者和红帽 Seam 核心开发人员 Dan Allen 表示

    由于会话存储在会话中,因此必须满足两个要求:

    • 对话范围的组件必须实现 java.io.Serializable。
    • 在 web.xml 中定义的会话超时必须超过所有会话超时。

    据我所知 JSF 树 可以存储在客户端,通过 web.xml 上下文参数启用

    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
    </context-param>
    

    但是在使用这种配置时要注意带宽问题

    【讨论】:

      【解决方案2】:

      你确定你没看错吗?您能指出说明这一点的文档吗?

      我可以看到 seam 可以在客户端存储任何内容的唯一方法是通过 cookie。但是Seam 不使用除了用户会话之外的任何其他东西,如果您进行身份验证,您将获得它。 (也称为jsession id)

      【讨论】:

      猜你喜欢
      • 2021-07-25
      • 2018-11-15
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      相关资源
      最近更新 更多