Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Разработка приложений Java EE 7 в NetBeans 8

Покупка
Артикул: 817109.01.99
Доступ онлайн
559 ₽
В корзину
Книга представляет собой практическое руководство по использованию возможностей 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 не требуется.
Хеффельфингер, Д. Разработка приложений Java EE 7 в NetBeans 8 : практическое руководство / Д. Хеффельфингер ; пер. с англ. А. Н. Киселёва. - 2-е изд. - Москва : ДМК Пресс, 2023. - 349 с. - ISBN 978-5-89818-607-4. - Текст : электронный. - URL: https://znanium.com/catalog/product/2108485 (дата обращения: 01.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Дэвид Хеффельфингер

Разработка 
приложений 
Java EE 7 
в NetBeans 8
Java EE 7 Development 
with NetBeans 8 

Develop professional enterprise Java EE 
applications quickly and easily with this 
popular IDE

David R. Heffelfinger

BIRMINGHAM - MUMBAI
Разработка 
приложений Java EE 7 
в NetBeans 8

Простая и быстрая разработка 
корпоративных приложений Java EE 
с помощью среды разработки NetBeans

Дэвид Хеффельфингер

Москва, 2023

2-е издание, электронное
УДК 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-97060-
329-1. — Текст : непосредственный.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими 
бы то ни было средствами без  письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все 
равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи 
с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских 
прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-607-4
© 2015 Packt Publishing
©  Оформление, перевод на русский язык, 
МК Пресс, 2016
Оглавление

Об авторе ........................................................ 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
Оглавление

Глава 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
Оглавление

Глава 5.  
Реализация уровня бизнес-логики на сеансовых 
компонентах 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
Оглавление

Объектная модель 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
Оглавление

Создание веб-службы из существующего файла WSDL ....................... 338
Резюме ....................................................................................... 339

предметный указатель .................................... 341
Об автОре

Дэвид Хеффельфингер (David R. Heffelfinger) – технический директор Ensode Technology LLC – консалтинговой компании, специализирующейся на разработке программного обеспечения и 
расположенной в районе большого Вашингтона, округ Колумбия. Дэвид – профессиональный архитектор, проектировщик и разработчик 
программного обеспечения с 1995 года и использует Java в качестве 
основного языка программирования с 1996 года. Работал во многих 
крупных проектах для ряда клиентов, в числе которых департамент 
США по Национальной безопасности, Freddie Mac, Fannie Mae и 
Министерство обороны США. Имеет степень магистра в области разработки программного обеспечения Южного методического университета. Также является главным редактором Ensode.net (http://www.
ensode.net), веб­сайта, посвященного Java, Linux и другим технологиям. Часто выступает на конференциях Java­разработчиков, таких как 
JavaOne. Вы можете следовать за Дэвидом в Твиттере, его учетная запись: @ensode.
О рецензентах

Саурабх Чхаджед (Saurabh Chhajed) – обладатель сертификатов 
«Cloudera Certified Developer for Apache Hadoop» и «Certified Java/
J2EE Programmer» с 5­летним опытом профессиональной разработки 
корпоративных приложений с применением новейших фреймворков, 
инструментов и шаблонов проектирования. Имеет большой опыт 
применения методологий гибкой разработки и активно продвигает 
новые технологии, такие как NoSQL и приемы обработки Больших 
Данных. Саурабх оказывал помощь некоторым крупным кампаниям из США в создании их корпоративных систем, что называется «с 
нуля». В свободное от работы время любит путешествовать и обожает делиться опытом в своем блоге (http://saurzcode.in).

Халиль Каракосе (Halil Karaköse) – независимый разработчик 
программного обеспечения. В 2005 году закончил университет Işık 
University в Турции с квалификацией инженера по вычислительной 
технике.
Десять лет работал в индустрии телекоммуникаций, в таких компаниях, как Turkcell и Ericsson. В 2014 оставил работу в Ericsson и основал собственную консалтинговую компанию KODFARKI (http://
kodfarki.com).
Основное свое внимание он уделяет разработке программ на Java, 
с применением Java EE, Spring и Primefaces. Также любит проводить 
практические занятия по программированию на Java. Всегда проявлял 
большой интерес к Java­инструментам, повышающим скорость разработки, таким как NetBeans и IntelliJ IDEA. В свободное время занимается бегом, лыжами, иногда любит сразиться в «Pro Evolution Soccer».

Марио Перес Мадуэно (Mario Pérez Madueño) родился в 1975 году в 
Турине, а сейчас живет в Барселоне. В 2010 году закончил Открытый 
университет Каталонии (Open University of Catalonia, UOC) с квали
фикацией инженера по вычислительной технике. Марио – большой 
энтузиаст применения технологий Java SE, ME и EE, и уже много 
лет участвует в программе «приемочных испытаний сообществом» 
NetBeans (NetBeans Community Acceptance Testing program, NetCAT). 
Также был техническим рецензентом книг «Java EE 5 Development 
with NetBeans 6» и «Building SOA­based Composite Applications Using 
NetBeans IDE 6» (обе выпущены издательством Packt Publishing).

Я хотел бы выразить благодарность моей жене Марии (María) за ее 
безоговорочную помощь и поддержку всех моих начинаний, а также 
Мартина (Martín) и Матиаса (Matías), дающих мне силы идти вперед.

Дэвид Салтер (David Salter) – архитектор и разработчик корпоративного программного обеспечения, занимающийся этой работой с 
1991 года. Истоки его отношений с Java восходят к самому началу 
развития этого языка, когда он использовал Java 1.0 для создания 
настольных приложений и апплетов для интерактивных веб­сайтов. 
Дэвид занимается разработкой корпоративных приложений на Java с 
использованием технологии Java EE (и J2EE), а также с применением 
открытых решений, начиная с 2001 года. Его перу принадлежат книги 
«NetBeans IDE 8 Cookbook» и «Seam 2.x Web Development» (обе выпущены издательством Packt Publishing). Также является соавтором 
книги «Building SOA­Based Composite Application Using NetBeans 
IDE 6», Packt Publishing.

Хочу поблагодарить мою семью за поддержку. Особое спасибо 
моей жене – люблю тебя.

Манжит Сингх Сони (Manjeet Singh Sawhney) – в настоящее время 
работает в крупной консалтинговой компании в Лондоне на должности главного консультанта по организации корпоративных данных. 
Прежде работал в разных крупных организациях, занимаясь разработкой программного обеспечения, оказанием помощи в выработке 
технических решений и организации корпоративных данных. Манжит имеет опыт использования множества языков программирования, но отдает предпочтение языку Java. Обучаясь в аспирантуре, он 

О рецензентах
также работал репетитором в одном из 100 лучших университетов 
в мире, где преподавал Java студентам начальных курсов и привлекался к приему экзаменов и оценке дипломных проектов. Свой профессиональный опыт Манжит приобрел в работе над несколькими 
ответственными проектами ПО для обслуживания клиентов в сфере 
финансов, телекоммуникационных услуг, розничной торговли и в государственных учреждениях.

Я очень благодарен своим родителям; моей жене Джаспал 
(Jaspal); моему сыну Кохинуру (Kohinoor); и моей дочери Прабхнур 
(Prabhnoor), за их поддержку и терпение, когда я, занимаясь рецензированием 
этой книги, оторвал от семьи несколько моих вечеров 
и выходных.

О рецензентах
предислОвие

Java EE 7 является последней версией спецификации Java EE, в которую добавлено несколько новых возможностей для упрощения 
разработки корпоративных приложений. В эту последнюю версию 
Java EE были включены новые версии существующих API Java EE. 
Так, например, в JSF 2.2 значительно улучшена поддержка создания 
диалоговых мастеров с применением FaceFlows и добавлена поддержка HTML5. В NetBeans появилась поддержка новых особенностей JPA 2.1, таких как Bean Validation и многих других. Сеансовые 
компоненты EJB теперь могут автоматически генерироваться средой 
NetBeans, что существенно упрощает использование возможностей 
EJB, таких как транзакции и параллельное выполнение. Дополнительные особенности CDI, такие как квалификаторы, стереотипы и 
другие теперь легко могут быть задействованы с помощью мастеров 
NetBeans. Значительно упрощена работа с JMS 2.0, что позволяет легко и быстро разрабатывать приложения, обменивающиеся сообщениями. Java EE включает новый Java API JSON Processing (JSON­P), 
что упрощает обработку данных в формате JSON. Кроме того, в состав NetBeans была включена поддержка некоторых особенностей, 
позволяющих легко и просто разрабатывать веб­службы RESTful и 
SOAP.
В этой книге мы исследуем все возможности NetBeans, которые 
предназначены для разработки корпоративных приложений Java 
EE 7.

Вопросы, освещаемые в книге
Глава 1, «Знакомство с NetBeans», представляет введение в NetBeans, а 
также знакомит с подсказками, экономящими время, и приемами, которые позволяют более эффективно разрабатывать приложения Java.
Глава 2, «Разработка веб­приложений с использованием JavaServer 
Faces 2.2», объясняет, как с помощью NetBeans можно облегчить разработку веб­приложений, использующих преимущества фреймворка 
JavaServer Faces 2.2.
Предисловие

Глава 3, «Библиотека компонентов JSF», показывает, насколько 
просто с помощью NetBeans создавать JSF­приложения с применением популярных библиотек компонентов JSF, таких как PrimeFaces, 
RichFaces и ICEfaces.
Глава 4, «Взаимодействие с базами данных через Java Persistence 
API», объясняет, как с помощью NetBeans упрощается разработка 
приложений, использующих возможности Java Persistence API (JPA), 
включая автоматическое создание сущностей JPA из существующих 
схем баз данных. В этой главе также объясняется, как сгенерировать 
завершенное веб­приложение из существующей схемы базы данных 
всего несколькими щелчками мыши.
Глава 5, «Реализация уровня бизнес­логики на сеансовых компонентах EJB», наглядно демонстрирует, насколько NetBeans упрощает 
разработку сеансовых компонентов EJB 3.1.
Глава 6, «Контексты и внедрение зависимостей», показывает, как 
новый CDI API, введенный в Java EE 6, упрощает интегрирование 
различных уровней корпоративного приложения.
Глава 7, «Обмен сообщениями с применением JMS и компонентов, 
управляемых сообщениями», посвящена технологиям обмена сообщениями Java EE, таким как Java Message Service (JMS) и MessageDriven Beans (MDB), демонстрируя функциональность NetBeans, 
которая упрощает разработку приложений, использующих возможности этих API.
Глава 8, «Прикладной интерфейс JSON Processing», рассказывает, как обрабатывать данные в формате JSON с применением нового 
прикладного интерфейса JSON­P.
Глава 9, «Прикладной интерфейс WebSocket», рассказывает, как 
использовать новый прикладной интерфейс Java к веб­сокетам 
(WebSocket) для создания веб­приложений, поддерживающих полноценные двусторонние взаимодействия между клиентом и сервером.
Глава 10, «Веб­службы RESTful на основе JAX­RS», рассматривает создание веб­служб RESTful на основе JAX­RS, попутно демонстрируя, как NetBeans может автоматически генерировать вебслужбы RESTful, а также клиентские RESTful­приложения на Java 
и JavaScript.
Глава 11, «Веб­службы SOAP на основе JAX­WS», объясняет, как 
с помощью NetBeans можно облегчить разработку веб­служб SOAP с 
применением прикладного интерфейса Java API for XML (JAX­WS).
Доступ онлайн
559 ₽
В корзину