Как Seam хранит состояние разговора в клиентском браузере?
В документации Seam говорится, что диалоговое состояние - см. Последнюю строку ссылки - можно настроить так, чтобы оно хранилось в браузере клиента, а не в сеансе сервлета. Может кто-нибудь сказать мне:
- Как настроена эта конфигурация?
- Как на самом деле Seam хранит диалоговое состояние в браузере?
2 ответа
Дэн Аллен, автор книги Seam in Action и Red Hat, разработчик ядра 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>
Но имейте в виду проблемы пропускной способности при использовании такого рода конфигурации
Вы уверены, что прочитали правильно? Не могли бы вы указать на документацию, в которой говорится, что?
Единственный способ увидеть, что шов может хранить что-либо на клиенте, - это файлы cookie. Но Seam не использует ничего, кроме пользовательского сеанса, который вы получите, если будете аутентифицироваться. (Также известный как jsession id)