Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Дизайн и архитектура Duke's Bookstore

Duke's Bookstore — это веб-приложение, которое использует многие функции JavaServer Faces в дополнение к функциям Java EE:

  • JavaServer Faces, а также контексты и инъецирование зависимостей в Java EE (CDI)

    • Пользовательский интерфейс приложения представлен набором страниц Facelets с шаблонами.

    • С каждой страницей Facelets связаны Managed-бины CDI.

    • Компонент карты изображения на главной странице позволяет выбрать книгу для входа в магазин. Каждая область карты представлена ​​Managed-бином JavaServer Faces. Для большей доступности присутствуют текстовые гиперссылки.

    • Слушатели действий зарегистрированы на карте изображения и в текстовых ссылках. Эти слушатели получают значение идентификатора для выбранной книги и сохраняют его в сессии, чтобы Managed-бин мог получить его на следующей странице.

    • Тег h:dataTable используется для динамической отрисовки каталога книг и корзины покупок.

    • Кастомный конвертер зарегистрирован в поле кредитной карты на странице оформления заказа bookcashier.xhtml, где также используется тег f:validateRegExдля обеспечения корректного форматирования ввода.

    • Слушатель изменения значения зарегистрирован в поле имени на странице bookcashier.xhtml. Этот слушатель сохраняет имя в параметре, чтобы следующая страница — bookreceipt.xhtml — могла получить к нему доступ.

  • Enterprise-бины: локальный сессионный компонент без сохранения состояния и компонент-синглтон

  • Сущность API персистентности Java

Пакеты Duke’s Bookstore расположены в каталоге tut-install/examples/case-studies/dukes-bookstore/src/main/javaeetutorial/dukesbookstore/:

  • components: включает в себя кастомные классы компонентов пользовательского интерфейса MapComponent и AreaComponent

  • converters: включает класс кастомного конвертера CreditCardConverter

  • ejb: включает два Enterprise-бина:

    • Компонент-синглтон ConfigBean, который инициализирует данные в базе данных

    • Сессионный компонент без сохранения состояния BookRequestBean, который содержит бизнес-логику управления объектами сущности

  • entity: включает класс сущности Book

  • exceptions: включает три класса исключений

  • listeners: включает обработчик событий и классы слушателей событий

  • model: включает класс модели JavaBeans

  • renderers: включает кастомные отрисовщики для кастомных классов компонентов пользовательского интерфейса

  • web.managedbeans: включает Managed-бины для страниц Facelets

  • web.messages: включает файлы bundle-ресурсов для локализованных сообщений


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)