2013-06-21 3 views
3

Есть ли какая-либо связь между сеансовым компонентом состояния и сеансом HTTP? В каких случаях мы нуждаемся в сеансовом компоненте с состоянием и в каких случаях использования HTTP-сеанса. Могу ли я разоблачить сессионный компонент с сохранением состояния как спокойный веб-сервис?Состояние сеанса и сеанс HTTP

+3

Вы смешиваете летучую мышь и битву, потому что у обоих есть «bat» в общем – Freak

+0

Freak спасибо за ваш ответ, я понял, что состояние сеанса http и состояние сеанса java bean не имеют ничего в commong.Do вы не возражаете, чтобы дать мне использовать случаи, когда вы будете использовать http-сессионный bean vs stateful session bean, пожалуйста, –

+0

Я думаю, что вы все еще не понимаете это хорошо. Потому что главное, что они оба имеют разные цели. В любом случае см. Отредактированный ответ – Freak

ответ

3

HTTP является протоколом без Это означает, что фактический транспортный протокол между сервером и клиентом - является «лицом без, потому что он помнит ничего между запусками
Теперь сначала прочитать это, что HTTPSession и что сессия Bean (имейте в виде, что сессия бобы использовать для поддержания состояния данных по несколько запросу так в основном сессионный компонент является сессионным компонентом, поскольку он имеет данные по всей сессии)

HTTP Session
объект HttpSession может содержать диалоговое состояние по нескольким запросам s от одного и того же клиента. Другими словами, он сохраняется для всего сеанса с конкретным клиентом. Мы можем использовать его для хранения всего, что мы получаем от клиента, во всех запросах, которые клиент делает во время сеанса.
Session Bean из wiki
В Java Platform, Enterprise Edition спецификации, сеансный компонент представляет собой тип Enterprise Bean.A сессионного компонента выполняет такие операции, как вычисления или доступ к базе данных, для клиента. Хотя сеансовый компонент может быть транзакционным, он не может быть восстановлен, если произойдет сбой системы. Объекты сессионного компонента могут быть неактивными или могут поддерживать диалоговое состояние в разных методах и транзакциях. Если сеансовый компонент поддерживает состояние, то контейнер EJB управляет этим состоянием, если объект должен быть удален из памяти. Однако сам объект сеансового компонента должен управлять собственными постоянными данными.

Простыми словами
Отслеживание сеансов - это процесс поддержания информации или состояния посетителей веб-сайта при перемещении со страницы на страницу. Это требует некоторой работы со стороны веб-разработчика, поскольку для этого нет встроенного механизма. Подключение с помощью браузера к веб-серверу происходит через протокол передачи гипертекста без гражданства (HTTP)
И
SFSB разработаны для управляемого состояния клиента в течение нескольких вызовов на одной и той же сессионный компонент (т.е. разговор). Если вы посмотрите на JBoss Seam, вы увидите, что очень сильно используется контекст SFSB для разговора.
В EJB3 нет такой вещи, как «апатрид лучше, чем сеансовые бобы с состоянием». Например, один предоставляет такую ​​услугу, как процессор кредитных карт (без гражданства), а другой обеспечивает обработку для использования многоэкранного режима использования (stateful).

На мой взгляд Управление состоянием с использованием HttpSession и сессионных компонентов без состояния является очень сложным и проблематичным.

EDIT: HTTPSession использовать, чтобы сохранить сеанс отслеживания как пользователь сессия
Например Вы хотите создать механизм Войти, Выход Вы должны тогда нужны HTTPSession потому что, когда пользователь начнет навигацию между различными страницами, то это HTTPSession будет помнить, что ВОЗ запрашивает страницы, иначе это невозможно (поскольку HTTP - это протокол без учета состояния)
Теперь в сеансе вы просто задаете сеанс имени пользователя и пароля, и вы проверяете каждую страницу, которая, если этот сеанс существует, показывает страница

Теперь, что, если вам нужно отправить много информации этого пользователя по нескольким запросам?В этом случае вы установите всю эту информацию в сеансовом сеансе состояния.
Но теперь дни. В современном сеансе фреймворков и информации все хранится в сеансовых компонентах, потому что из сеансового компонента их легко управлять.
HTTPSession использовался, когда мы были исключительно на сервлете и как-то JSP-технологиях

+0

Просто прочитайте статью о JAVA EE6, и она говорит, что с CDI и сессиями, обработанной аннотацией, управляемый bean-компонент может сохраняться в нескольких HTTP-запросах в веб-приложении. Поэтому он считает, что функциональность сеанса HTTP может быть реализована через управляемый компонент или сеанс HTTP. –

+0

Да, именно так вы можете это сделать. Термин, используемый для сеансовых компонентов «Stateful Session Bean», используется в EJB, а термин «Управляемый компонент» используется в JSF для сессионных компонентов. – Freak