Управление областью в проектах Java EE - PullRequest
0 голосов
/ 17 ноября 2011

Что такое метод управления областью в проектах Java EE. Я читаю о сеансе, запросе, области применения и о том, что определенные bean-компоненты должны быть ограничены одним или другим. Как это вообще делается? Это по какому типу проекта создается бин, специальная аннотация или какой-то другой метод? По своему опыту я заметил, что когда за пределами одного пакета ни один из моих бинов, сервлетов или DAO не имеет доступа друг к другу, если я не внедряю или не импортирую связанный класс.

Ответы [ 3 ]

1 голос
/ 17 ноября 2011

Я думаю, что вы смешиваете вещи. Перечисленные вами области действия предназначены для базовых компонентов JSF и обычно связаны с сеансом HTTP или запросом. EJB-s не имеет смысла в этом контексте. Чтобы их использовать, их нужно вводить с помощью аннотаций DI (или, альтернативно, через поиск в контексте JNDI).

1 голос
/ 17 ноября 2011

Область действия относится к тому, как долго переменная живет и доступна для использования.В веб-приложении Java есть четыре области: Страница, Запрос, Сеанс и Приложение.Для переменных / объектов, которые имеют область действия Page, они существуют только внутри страницы JSP.Любой объект или переменная, созданная в JSP, по умолчанию имеет область страницы.

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

Объекты области действия сеанса работают и доступны через все запросы, JSP и сервлеты на время сеанса.«Сеанс» - это, как правило, все страницы, которые пользователь просматривает во время сеанса входа в систему.

Объекты и переменные области приложения являются глобальными по объему и существуют до тех пор, пока приложение работает.Они доступны из всех запросов, JSP, сервлетов и т. Д.

0 голосов
/ 17 ноября 2011

Вы путаете область видимости EE с классом / пакетом / и т. Д. Объем.

Объекты можно открывать для страниц JSP (или другой технологии слоя представления), помещая их в одну из областей, которые вы упомянули. Это не связано с видимостью пакета / класса Java, но является ли объект доступным для всего application, текущего пользователя session, текущего request или текущего page.

Область действия приложения действует в течение всего срока действия приложения. Область действия сеанса зависит от «разговора» конкретного пользователя с приложением, поэтому нам необходим файл cookie сеанса или перезапись URL (вещь jsessionid). Объем запроса длится в течение определенного запроса пользователя, а также зависит от конкретного пользователя. Объем страницы ... честно говоря, я не уверен, как часто он используется.

...