Рекомендация: Проектирование сервлетов
В этом руководстве обсуждаются способы проектирования сервлетов для приложения J2EE.
Взаимосвязи
Связанные элементы
Основное описание

Введение

Это руководство посвящено проектированию сервлетов. Дополнительное руководство о сервлетах, например, о способе их идентификации и моделирования, находится в разделе Руководство по рабочему продукту: Сервлетыs.

Состояние сеанса

Данные о состоянии сеанса, которыми управляет сервлет, должны быть документированы в проекте сервлета. Дополнительная информация о состоянии сеанса находится в разделе Прием: Проектирование состояния для приложений J2EE.

Контекст сервлета

Все взаимодействия с контекстом сервлета, должны быть документированы в проекте сервлета. Контекст сервлета - это глобальные для приложения данные, управление которыми требует осторожности. Дополнительная информация об этом механизме находится в разделе Прием: Проектирование состояния для приложений J2EE.

Долговременное состояние

Сервлет может также управлять данными, которые предназначены для использования в течении нескольких клиентских сеансов. Например, он может иметь непосредственный доступ к базе данных через JDBC, или он может сохранять данные в cookie на стороне клиента.

Если сервлет управляет такими долговременными данными, это должно быть отмечено в его описании в Модели проекта. Проект долговременного состояния обсуждается также в разделе Прием: Проектирование состояния для приложений J2EE.

Уровень дискретности

Сервлеты могут вызывать другие сервлеты, страницы JSP, вспомогательные классы и объекты EJB. Если сервлет становится очень большим, то можно:

  • создать вспомогательные классы, которые могут быть отдельно протестированы;
  • переместить весь исходный код HTML в страницы JSP;
  • перенести всю бизнес-логику в объекты EJB.

Транзакции

Сервлеты обычно имеют дело с временным состоянием сеанса и не требуют транзакций. Если необходимо использовать транзакции, то ситуации, в которых они должны применяться, должны быть указаны в руководстве по проекту.