Как получить доступ к «сеансу» EJB?

Как получить объект сеанса объекта сеанса, подобного сессионному компоненту EJB, в JSP (веб-уровень)?

Потому что я хочу добавить атрибут к сеансу и использовать его позже в своем процессе.

С уважением,

1
задан leppie 23 August 2010 в 09:49
поделиться

1 ответ

На веб-уровне вы получаете сеанс с

request.getSession()

. Это возвращает объект сеанса, связанный с этим запросом. Здесь вы можете хранить атрибуты, специфичные для сеанса, которые можно повторно использовать в последующих запросах.

На уровнях EJB у вас есть совершенно разные объекты сеанса, которые не имеют ничего общего с сеансом выше. Существуют сеансовые компоненты без сохранения состояния и сеансовые компоненты с отслеживанием состояния. Сессионные компоненты с отслеживанием состояния также могут сохранять состояние по нескольким запросам, однако с ними очень сложно работать, и они полезны только для очень ограниченного набора сценариев использования. Сессионные компоненты без сохранения состояния не сохраняют (вне обнаруживаемого) состояния между вызовами, поэтому они бесполезны для хранения атрибутов, которые вы хотите повторно использовать позже, если вы не храните их на уровне сохранения или в кеше.

В большинстве случаев проще всего сохранить состояние диалога в объекте сеанса запроса и передать атрибут, который вы хотите повторно использовать позже, из веб-уровня в служебный компонент без сохранения состояния в качестве параметра.

2
ответ дан 2 September 2019 в 21:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: