Сессионный компонент с сохранением состояния и HTTP-сессия

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

1 ответ

Решение

HTTP - это протокол без сохранения состояния. Это означает, что он является действительным транспортным протоколом между сервером и клиентом. Он является "без сохранения состояния, потому что ничего не запоминает между вызовами".
Теперь сначала прочитайте, что такое HTTPSession и Session Bean (имейте в виду, что сессионные bean-компоненты используются для поддержания состояния данных в нескольких запросах, поэтому в основном сессионный bean-компонент является сессионным bean-компонентом с состоянием, поскольку он содержит данные в течение всего сеанса)

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

Простыми словами
Отслеживание сеансов - это процесс сохранения информации или состояния о посетителях веб-сайта при его перемещении со страницы на страницу. Это требует некоторой работы со стороны веб-разработчика, поскольку для него нет встроенного механизма. Соединение браузера с веб-сервером происходит по протоколу передачи гипертекста без HTTP (HTTP).
А ТАКЖЕ
SFSB предназначены для управляемого состояния клиента по нескольким вызовам одного и того же сессионного компонента (т. Е. Диалога). Если вы посмотрите на JBoss Seam, вы увидите, что SFSB очень интенсивно используется в контексте разговора.
В EJB3 нет такой вещи, как "состояние без состояния лучше, чем сессионные компоненты с состоянием". Например, один предоставляет услугу, такую ​​как процессор кредитных карт (без сохранения состояния), а другой обеспечивает обработку для случая использования мастера с несколькими экранами (с сохранением состояния).
По моему мнению, Управление состоянием с использованием HttpSession и сессионных компонентов без сохранения состояния очень сложно и проблематично.

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

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

Другие вопросы по тегам