Seam如何在客户端浏览器中存储会话状态?

时间:2010-05-26 02:25:23

标签: seam seam-conversation

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

  1. 如何设置此配置?
  2. Seam实际上如何在浏览器中内部存储会话状态?

2 个答案:

答案 0 :(得分:1)

你确定你读得正确吗?你能指出那些说明的文件吗?

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

答案 1 :(得分:1)

Dan Allen,Seam in Action一书的作者和红帽Seam核心开发人员,陈述

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

  • 会话范围的组件必须实现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>

但请记住使用此类配置时的带宽问题