2010-08-23 3 views
1

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

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

С уважением

ответ

2

В вебе-слое вы получите сеанс с

request.getSession() 

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

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

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

Смежные вопросы