УДК 004.438Java EE
ББК 32.973.26-018.2
Х41
Х41
Хеффельфингер, Дэвид.
Разработка приложений Java EE 7 в NetBeans 8 / Д. Хеффельфингер ; пер. с англ.
А.Н. Киселёва. — 2-е изд., эл. — 1 файл pdf : 349 с. — Москва : ДМК Пресс, 2023. —
Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". —
Текст : электронный.
ISBN 978-5-89818-607-4
Книга представляет собой практическое руководство по использованию возможностей IDE
NetBeans 8 для разработки корпоративных приложений, совместимых со стандартом Java EE 7.
В книге показаны приемы эффективного программирования, задействующие контекстные
меню и «горячие» клавиши, мастера и шаблоны среды NetBeans, затрагиваются вопросы создания,
конфигурирования, развертывания, отладки и профилирования корпоративных приложений
с использованием средств, встроенных в IDE NetBeans.
Существенное внимание уделено основным API Java EE в контексте их работы в среде
NetBeans. Подробно рассмотрены возможности NetBeans по автоматизации разработки приложений
с использованием таких API, как Servlet, JSP, JSTL, JSF, JMS, JPA, JDBC, EJB,
JAXWS, JAXRS, а также по созданию для них инфраструктурных, коммуникационных и конфигурационных
элементов. Затронуты вопросы взаимодействия среды NetBeans с различными
серверами приложений, СУБД и внешними службами.
Приводится пример автоматического создания законченного корпоративного приложения
из существующей схемы базы данных, а также примеры создания вебслужб и автоматического
создания их клиентов.
Книга рассчитана на программистов, желающих разрабатывать Java EEприложения c использованием
функциональных возможностей IDE NetBeans.
Для чтения книги необходимо иметь некоторый опыт работы с Java, в то время как начального
знакомства с NetBeans и Java EE не требуется.
УДК 004.438Java EE
ББК 32.973.26-018.2
Электронное издание на основе печатного издания: Разработка приложений Java EE 7 в NetBeans 8 /
Д. Хеффельфингер ; пер. с англ. А.Н. Киселёва. — Москва : ДМК Пресс, 2016. — 348 с. — ISBN 978-5-97060329-1.
— Текст : непосредственный.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими
бы то ни было средствами без письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все
равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи
с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.
В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских
прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.
ISBN 978-5-89818-607-4
© 2015 Packt Publishing
© Оформление, перевод на русский язык,
МК Пресс, 2016
Стр.5
Оглавление
Об авторе ........................................................ 10
О рецензентах.................................................. 11
предисловие ................................................... 14
Вопросы, освещаемые в книге .............................................................. 14
Что нужно для чтения этой книги ........................................................... 16
Для кого эта книга ................................................................................. 16
Соглашения .......................................................................................... 16
Отзывы и пожелания ............................................................................. 17
Скачивание исходного кода примеров .................................................. 17
Список опечаток ................................................................................... 18
Нарушение авторских прав ................................................................... 18
Вопросы ............................................................................................... 18
Глава 1.
Знакомство с NetBeans ...................................... 19
Введение ...................................................................................... 19
Получение NetBeans ...................................................................... 20
Установка NetBeans....................................................................... 23
Microsoft Windows.................................................................................. 24
Mac OSx ................................................................................................ 24
Linux ..................................................................................................... 24
Другие платформы ............................................................................... 25
Процедура установки ............................................................................ 25
Первый запуск NetBeans ............................................................... 31
Настройка NetBeans для разработки Java EE-приложений ............ 32
Интегрирование NetBeans со сторонним сервером приложений .......... 33
Интегрирование NetBeans с СУРБД стороннего производителя ........... 36
Развертывание нашего первого приложения................................. 40
Подсказки NetBeans для эффективной разработки ....................... 43
Автозавершение кода ........................................................................... 43
Шаблоны кода ...................................................................................... 47
Клавиши быстрого вызова .................................................................... 49
Изучение визуальных индикаторов NetBeans ........................................ 53
Функция ускорения разработки HTML5 ......................................... 54
Резюме ......................................................................................... 59
Стр.6
6
Оглавление
Глава 2.
Разработка веб-приложений с использованием
JavaServer Faces 2.2 ......................................... 60
Введение в JavaServer Faces ......................................................... 60
Разработка нашего первого приложения JSF ................................ 61
Создание нового проекта JSF ............................................................... 61
Добавление в страницу возможности ввода данных .............................. 66
Создание именованного компонента CDI .............................................. 73
Реализация страницы подтверждения .................................................. 77
Запуск приложения ............................................................................... 78
Проверка допустимости в JSF ............................................................... 80
Шаблоны фейслетов ..................................................................... 83
Добавление шаблона фейслетов .......................................................... 84
Использование шаблона ....................................................................... 86
Контракты библиотек ресурсов ..................................................... 90
Составные компоненты ................................................................. 96
Потоки Faces Flow ....................................................................... 101
Поддержка HTML5 ....................................................................... 108
HTML5-подобная разметка ................................................................. 108
Сквозные атрибуты ............................................................................. 111
Резюме ....................................................................................... 113
Глава 3.
Библиотеки компонентов JSF ........................... 114
Использование компонентов PrimeFaces в JSF-приложениях ...... 114
Использование компонентов ICEfaces в JSF-приложениях .......... 120
Использование компонентов RichFaces в JSF-приложениях ........ 128
Резюме ....................................................................................... 133
Глава 4.
Взаимодействие с базами данных через
Java Persistence API ........................................ 135
Создание первой сущности JPA .................................................. 136
Добавление сохраняемых полей в сущность ....................................... 145
Создание объекта доступа к данным ................................................... 147
Автоматическое создание сущностей JPA ................................... 153
Именованные запросы и JPQL ............................................................ 162
Проверка допустимости со стороны компонентов .............................. 164
Отношения сущностей ........................................................................ 164
Создание приложений JSF из сущностей JPA .............................. 172
Резюме ....................................................................................... 179
Стр.7
Оглавление
Глава 5.
7
Реализация уровня бизнес-логики на сеансовых
компонентах EJB ............................................ 180
Введение в сеансовые компоненты ............................................. 181
Создание сеансового компонента в NetBeans ............................. 181
Доступ к компонентам из клиента ............................................... 193
Запуск клиента ................................................................................... 196
Управление транзакциями в сеансовых компонентах ................. 197
Реализация аспектно-ориентированного программирования
с помощью интерцепторов .......................................................... 199
Реализация класса интерцептора ....................................................... 200
Декорирование компонентов EJB аннотацией @Interceptors ............... 202
Служба таймеров EJB .................................................................. 203
Автоматическое создание сеансовых компонентов
из сущностей JPA ........................................................................ 206
Резюме ....................................................................................... 211
Глава 6.
Контексты и внедрение зависимостей ............... 213
Введение в CDI ............................................................................ 213
Квалификаторы ........................................................................... 219
Стереотипы ................................................................................. 225
Типы привязки интерцепторов .................................................... 227
Собственные контексты .............................................................. 232
Резюме ....................................................................................... 234
Глава 7.
Обмен сообщениями с применением JMS
и компонентов, управляемых сообщениями ........ 236
Введение в JMS .......................................................................... 236
Создание ресурсов JMS из NetBeans .......................................... 237
Реализация продюсера сообщений JMS ..................................... 243
Обработка сообщений компонентами, управляемыми
сообщениями .............................................................................. 250
Наблюдение за приложением в действии ........................................... 254
Резюме ....................................................................................... 256
Глава 8.
прикладной интерфейс JSON Processing ............ 257
Стр.8
8
Оглавление
Объектная модель JSON-P .......................................................... 257
Создание данных в формате JSON с использованием объектной
модели JSON-P .................................................................................. 258
Пример ............................................................................................... 261
Парсинг данных в формате JSON с использованием объектной модели
JSON-P .............................................................................................. 265
Потоковая модель JSON-P .......................................................... 268
Создание данных JSON с применением потоковой модели JSON-P .... 269
Парсинг данных JSON с применением потоковой модели JSON-P ...... 271
Резюме ....................................................................................... 274
Глава 9.
прикладной интерфейс WebSocket .................... 275
Исследование приемов использования веб-сокетов
на типовых примерах................................................................... 275
Опробование примера приложения Echo ............................................ 277
Программный код на Java .................................................................. 278
Программный код на JavaScript .......................................................... 279
Создание собственных приложений с веб-сокетами ................... 281
Создание пользовательского интерфейса .......................................... 283
Создание серверной конечной точки веб-сокета ................................ 286
Реализация поддержки веб-сокетов на стороне клиента .................... 288
Резюме ....................................................................................... 291
Глава 10.
Веб-службы RESTful на основе JAX-RS ............... 293
Создание веб-службы RESTful на основе существующей базы
данных ........................................................................................ 294
Анализ сгенерированного кода ........................................................... 296
Тестирование веб-службы RESTful .............................................. 300
Создание Java-клиента веб-службы RESTful ................................ 307
Создание JavaScript-клиента веб-службы RESTful ....................... 313
Резюме ....................................................................................... 317
Глава 11.
Веб-службы SOAP на основе JAX-WS .................. 318
Введение в веб-службы ............................................................... 318
Создание простой веб-службы .................................................... 319
Тестирование веб-службы .................................................................. 325
Создание клиента для веб-службы ...................................................... 327
Экспортирование компонентов EJB в виде веб-служб ................. 332
Реализация новых веб-служб в виде EJB ............................................. 332
Экспортирование существующих EJB в виде веб-служб ..................... 335
Стр.9