2

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

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

2 回答 2

1

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

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

于 2010-05-26T08:32:41.417 回答
1

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

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

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

但是在使用这种配置时请记住带宽问题

于 2010-05-26T18:33:19.770 回答