Класс CatalogServ
Класс, который мы написали для отображения элементов каталога и манипулирования корзиной покупателя (классом ShoppingCart), называется CatalogServ. Здесь мы используем усовершенствованные версии классов для представления каталога сети, описанных в главе 3, и добавляем функции для организации корзины покупателя и мониторинга сеанса. Возможности сервлета CatalogServ перечислены ниже.
Отображение компактных списков товаров каталога с использованием критерия отбора, в частности:
полный каталог;
товары одной серии;
товары, связанные с определенным ключевым словом (результат поиска по ключевому слову).
Отображение детальной информации о товаре, дополненное следующими функциями:
добавление данного товара в корзину;
изменение количества заказанных экземпляров.
Отображение списка выбранных на текущий момент товаров.
Для простоты будем считать, что заказ товара (добавление его в корзину и изменение количества заказанных экземпляров) может происходить только на странице с подробной информацией о данном товаре.
Кроме того, наш сервлет не будет выполнять никаких других функций, свойственных обычному коммерческому сайту. Как показано на рис. 4.1, наш сервлет просто размещает текст «Your site navigation could go here» [Здесь может быть расположен интерфейс для навигации по вашему сайту. — Примеч. перев. ], в то время как в этом месте обычного коммерческого сайта, как правило, находятся логотипы и навигационный интерфейс.
Рис. 4.1. Отображение полного каталога с помощью класса CatalogServ
Перед тем как углубляться в изучение исходного кода CatalogServ, рассмотрим некоторые другие представления, которые он генерирует. На рис. 4.2 показана страница с раскрывающимся списком ключевых слов. Это тот же самый список, который представлен на рис. 3.1 в главе 3, но сервлет CatalogServ добавляет в нижнюю часть страницы дополнительные ссылки:
Full Catalog (Весь каталог);
Books (Книги);
CDs (Компакт-диски):
Widgets (Приборы и устройства);
Search (Поиск).
Рис. 4.2. Отображение раскрывающегося списка ключевых слов
В табл. 4 2 представлен перечень команд отображения (значений параметра action), которые определяют ответ сервлета CatalogServ Команды, управляющие отображением, обычно модифицируются дополнительными параметрами
Таблица 4.2. Команды, распознаваемые сервлетом CatalogServ
Команда (параметр action) |
Дополнительные параметры |
Отображение |
showcatalog | Параметр select = "all" | Таблица со списком всех товаров (см. рис. 4.1) |
showcatalog | Параметр select =одна из серий товаров (books, CDs, widgets) | Таблица со списком товаров определенной серии (см. рис. 4.3) |
selectkeyword | Параметр select = "all" | Раскрывающийся список ключевых слов (см. рис. 4.2) |
showproduct | Параметр id из формы | Полная информация о товаре (см. рис. 4 4) |
keywdsearch | Параметр keyword из формы | Список товаров с этим ключевым словом |
setcart | Параметры id и itemct из формы | Полная информация о товаре с измененным количеством заказанных экземпляров (см. рис. 4.5) |
showcart | Параметры отсутствуют | Список всех товаров в корзине покупателя с указанием количества заказанных экземпляров (см. рис. 4.6) |