Введение
Это руководство посвящено проектированию сервлетов. Дополнительное руководство о сервлетах, например, о способе их
идентификации и моделирования, находится в разделе Руководство
по рабочему продукту: Сервлетыs.
Состояние сеанса
Данные о состоянии сеанса, которыми управляет сервлет, должны быть документированы в проекте сервлета. Дополнительная
информация о состоянии сеанса находится в разделе Прием: Проектирование состояния для приложений J2EE.
Контекст сервлета
Все взаимодействия с контекстом сервлета, должны быть документированы в проекте сервлета. Контекст сервлета - это
глобальные для приложения данные, управление которыми требует осторожности. Дополнительная информация об этом механизме
находится в разделе Прием: Проектирование состояния для приложений J2EE.
Долговременное состояние
Сервлет может также управлять данными, которые предназначены для использования в течении нескольких клиентских сеансов.
Например, он может иметь непосредственный доступ к базе данных через JDBC, или он может сохранять данные в cookie на
стороне клиента.
Если сервлет управляет такими долговременными данными, это должно быть отмечено в его описании в Модели проекта. Проект
долговременного состояния обсуждается также в разделе Прием: Проектирование состояния для приложений J2EE.
Уровень дискретности
Сервлеты могут вызывать другие сервлеты, страницы JSP, вспомогательные классы и объекты EJB. Если сервлет становится
очень большим, то можно:
-
создать вспомогательные классы, которые могут быть отдельно протестированы;
-
переместить весь исходный код HTML в страницы JSP;
-
перенести всю бизнес-логику в объекты EJB.
Сервлеты обычно имеют дело с временным состоянием сеанса и не требуют транзакций. Если необходимо использовать
транзакции, то ситуации, в которых они должны применяться, должны быть указаны в руководстве по проекту.
|