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

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

Покупка
Артикул: 458082.02.99
Доступ онлайн
479 ₽
В корзину
Книга представляет собой практическое руководство по использованию возможностей IDE NetBeans 7 для разработки корпоративных приложений, совместимых со стандартом Java EE 6. В книге показаны приемы эффективного программирования, задействующие контекстные меню и «горячие» клавиши, мастера и шаблоны среды NetBeans, затрагиваются вопросы создания, конфигурирования, развертывания, отладки и профилирования корпоративных приложений с использованием средств встроенных в IDE NetBeans. Существенное внимание уделено основным API Java EE в контексте их работы в среде NetBeans. Подробно рассмотрены возможности NetBeans по автоматизации разработки приложений с использованием таких API, как Servlet, JSP, JSTL, JSF, JMS, JPA, JDBC, EJB, JAX-WS, JAX-RS, а также по созданию для них инфраструктурных, коммуникационных и конфигурационных элементов. Затронуты вопросы взаимодействия среды NetBeans с различными серверами приложений, СУБД и внешними службами. Приводится пример автоматизированной генерации законченного корпоративного приложения из существующей схемы базы данных, а также примеры создания веб-сервисов и автоматизированной генерации их клиентов. Книга рассчитана на разработчиков желающих разрабатывать Java EE-приложения c использованием функциональных возможностей IDE NetBeans. Для чтения книги необходимо иметь некоторый опыт работы с Java, в то время как начального знакомства с NetBeans и Java EE не требуется.
Хеффельфингер, Д. Разработка приложений Java EE 6 в NetBeans 7 : практическое руководство / Д. Хеффельфингер ; пер. с англ. Е. Н. Карышева. - 2-е изд. - Москва : ДМК Пресс, 2023. - 332 с. - ISBN 978-5-89818-520-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/2107195 (дата обращения: 22.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Дэвид Хеффельфингер

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

Москва, 2023
Java EE 6 Development with 
NetBeans 7

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

David R. Heffelfinger
Разработка приложений  
Java EE 6 в NetBeans 7

Профессиональная разработка корпоративных приложений Java EE 6 
осуществляется быстро и просто с помощью этой популярной IDE.

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

2-е издание, электронное

Москва, 2023
УДК 004.438Java EE
ББК 32.973.26-018.2
Х41

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

Разработка приложений Java EE 6 в NetBeans 7 / Д. Хеффельфингер ; пер. с англ. 
Е. Н. Карышева. — 2-е изд., эл. — 1 файл pdf : 332 с. — Москва : ДМК Пресс, 2023. — 
Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — 
Текст : электронный.

ISBN 978-5-89818-520-6

Книга представляет собой практическое руководство по использованию возможностей IDE 
NetBeans 7 для разработки корпоративных приложений, совместимых со стандартом Java EE 6.
В книге показаны приемы эффективного программирования, задействующие контекстные 
меню и «горячие» клавиши, мастера и шаблоны среды NetBeans, затрагиваются вопросы создания, 
конфигурирования, развертывания, отладки и профилирования корпоративных приложений 
с использованием средств встроенных в IDE NetBeans.
Существенное внимание уделено основным API Java EE в контексте их работы в среде 
NetBeans. Подробно рассмотрены возможности NetBeans по автоматизации разработки приложений 
с использованием таких API, как Servlet, JSP, JSTL, JSF, JMS, JPA, JDBC, EJB, JAX-
WS, JAX-RS, а также по созданию для них инфраструктурных, коммуникационных и конфигурационных 
элементов. Затронуты вопросы взаимодействия среды NetBeans с различными 
серверами приложений, СУБД и внешними службами.
Приводится пример автоматизированной генерации законченного корпоративного приложения 
из существующей схемы базы данных, а также примеры создания веб-сервисов и автоматизированной 
генерации их клиентов.
Книга рассчитана на разработчиков желающих разрабатывать Java EE-приложения c использованием 
функциональных возможностей IDE NetBeans.
Для чтения книги необходимо иметь некоторый опыт работы с Java, в то время как начального 
знакомства с NetBeans и Java EE не требуется.

УДК 004.438Java EE 
ББК 32.973.26-018.2

Электронное издание на основе печатного издания: Разработка приложений Java EE 6 в NetBeans 7 / 
Д. Хеффельфингер ; пер. с англ. Е. Н. Карышева. — Москва : ДМК Пресс, 2013. — 330 с. — ISBN 978-5- 
94074-914-1. — Текст : непосредственный.

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

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

ISBN 978-5-89818-520-6
© Published by Packt Publishing Ltd.
©  Оформление, перевод на русский язык 
ДМК Пресс, 2013
Об авторе 

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

Я хотел бы поблагодарить всех, кто помогал мне в создании 
этой книги. Выражаю благодарность редакторам Картикею Панди 
(KartikeyPandey) и Тарику Раханжу (Tariq Rakhange), а также координатору 
проекта Шубханджану Чаттерджи (Shubhanjan Chat-
terjee).

Отдельное спасибо техническим рецензентам Аллану Бонду 
(Allan Bond), Аруну Гупте (Arun Gupta) и Бруно Верни (Bruno 
Vernay) за их важные замечания и предложения. 

Кроме того, хочу поблагодарить группу NetBeans в Oracle за разработку 
такой замечательной IDE. 

И наконец, я признателен моей жене и дочери за их терпеливое 
отношение к моей дополнительной работе, в силу которой я был 
вынужден уделять меньше времени семье.
О рецензентах 

Аллан Бонд (Allan Bond) – разработчик программного обеспечения, более 10 лет 
работающий в сфере ИТ. Он уделяет основное внимание разработке систем с использованием 
Java и связанных с ней технологий. Аллан работал и проводил консультации 
во множестве организаций, от малых предприятий до компаний, входящих 
в список Fortune 500, а также государственных учреждений. Имеет степень магистра 
в области управления информационными системами Университета Бригама 
Янга. 

Я хотел бы поблагодарить свою жену и детей за их терпение 
в ночные часы (а иногда и выходные дни), когда мне нужно бы ло 
завершить рецензирование этой книги. 

Арун Гупта (Arun Gupta) – апологет Java EE и GlassFish, работающий в компании 
Oracle. Арун имеет более чем 15-летний опыт в индустрии программного обеспечения 
и работает с платформой Java(TM) и несколькими связанными с ней интернет-
технологиями. В настоящий момент его деятельность направлена на создание 
и укрепление сообщества пользователей Java EE 6 и GlassFish. Арун сотрудничал 
с несколькими организациями по стандартизации и осуществлял взаимодействие 
с представителями других компаний. Он входил в команду Java EE начиная с момента 
ее создания и в той или иной степени внес свой вклад во все релизы Java EE. 
Имеет обширный опыт обсуждения множества тем в международном сообществе 
и обожает широкомасштабные проекты.

Арун является активным блогером (https://blogs.oracle.com/arungupta/). 
В этом блоге более 1000 записей, и его часто читают посетители со всего мира; посещаемость 
блога достигает 25 000 посещений в день.

Бруно Верни (Bruno Vernay) занимался разработкой баз данных и веб-разработкой, 
сетевой безопасностью, системами обмена сообщениями и разработкой поведенческих 
механизмов, анализом данных, разработкой порталов входа в корпоративные 
системы. Все это в Java под Linux и в виде Open Source. После почти 13 лет работы 
в этой сфере он по-прежнему ищет новые точки практического приложения своего 
опыта. Ему нравятся «Приключения», он взаимодействует с сообществом на глобальном 
и местном уровнях, а также участвует в группе AlpesJUG.FR. Ему по душе 
новые технологии, приходящие на смену старым и отжившим свой век. По мере 
возможности он пытается уделять время изучению нового, читая книги. А еще ему 
нравится быть полезным.
Содержание

Об авторе   5

О рецензентах   6

Предисловие 
13

Вопросы, освещаемые в книге  13

Что нужно для чтения этой книги  14

Для кого эта книга   15

Соглашения   15

Поддержка клиентов  16

Сообщения об ошибках   16

Незаконное воспроизведение содержимого книги   16

Вопросы  16

1. Знакомство с NetBeans 
17

Введение   17

Получение NetBeans   18

Установка NetBeans   21
Microsoft Windows  21
Mac OSx  21
Linux и Solaris  22
Другие платформы  22
Процедура установки  22

Первый запуск NetBeans  27
Конфигурирование NetBeans для разработки  
Java EE-приложений  28
Интегрирование NetBeans со сторонним сервером приложений  28
Интегрирование NetBeans с СУРБД стороннего производителя  30
 

Содержание
8

Развертывание нашего первого приложения   34

Подсказки NetBeans для эффективной разработки   37
Автозавершение кода  37
Шаблоны кода   40
Клавиши быстрого вызова   41
Изучение визуальных индикаторов NetBeans  44

Резюме  46

2. Разработка веб-приложений, содержащих 
Сервлеты и JSP  
47

Создание нашего первого веб-приложения   47
Изменение кода, сгенерированного NetBeans   52

Разработка сервлета  67
Добавление сервлета к нашему приложению  67

Безопасность веб-приложений  75
Реализация аутентификации на основе формы  77
Конфигурирование безопасности, специфичной для GlassFish  83

Фрагменты JSP   87
Создание фрагмента JSP в NetBeans   87

Резюме  90

3. Улучшение функциональности JSP с помощью 
JSTL и пользовательских тегов 
91

Базовые теги JSTL 92
Условное отображение части страницы тегом <c:if>  92

Отображение взаимоисключающей разметки с помощью  
тега <c:choose>  95

Итерация по массивам или коллекциям с помощью  
тега <c:forEach>  98

SQL-теги JSTL   101
Извлечение данных из базы данных с помощью  
тега <sql:query>  103
Изменение данных в базе данных с помощью  
тега <sql:update>  107
Вставка данных в базу данных  107
Обновление данных базы данных   110
Удаление данных из базы данных   112

Заключительные замечания о JSTL  115

Пользовательские теги JSP  115

Резюме  121

4. Разработка веб-приложений с использованием 
JavaServer Faces 2.0 
122

Введение в JavaServer Faces  122

Разработка нашего первого приложения JSF  123
Создание нового проекта JSF   123

Шаблоны фэйслетов   142
Добавление шаблона фэйслета к нашему проекту   144
Использование шаблона  144

Составные компоненты   148

Резюме   152

5. Создание изящных веб-приложений 
с помощью PrimeFaces 
153

Наш первый проект PrimeFaces   153
Использование компонентов PrimeFaces в наших 
приложениях JSF   156

Представления, снабженные вкладками  160

Интерфейсы мастера  165

Дополнительная информация   170

Резюме  170
 

Содержание
10

6. Взаимодействие с базами данных через API 
Персистентности Java 
171

Создание нашей первой JPA-сущности  172
Добавление к сущности сохраняемых полей  179
Создание DAO  180

Автоматизированная генерация JPA-сущностей  186
Именованные запросы и JPQL   192
Проверка допустимости со стороны бинов  193

Отношения сущностей  194

Генерация JSF-приложений из сущностей JPA   199

Резюме   205

7. Реализация уровня бизнес-логики  
на сеансовых бинах  
206

Введение в Сеансовые бины  206

Создание сеансового бина в NetBeans   207

Доступ к бину из клиента  216
Выполнение клиента   219

Транзакции, управляемые сеансовым бином  219
Реализация аспектно-ориентированного  
программирования с помощью перехватчиков  221
Реализация класса перехватчика   222
Декорирование EJB аннотацией @Interceptors   223

Служба таймера EJB   224

Генерация сеансовых бинов из JPA-сущностей   225

Резюме  230

8. Контексты и Инжекция зависимости  
231

Введение в CDI   231

Квалификаторы   238

Стереотипы   242

Типы привязки перехватчика   245

Резюме  248
9. Обмен сообщениями в JMS и Управляемых 
сообщением бинах  
249

Введение в JMS   249

Создание проекта и ресурсов JMS   251
Создание пункта назначения JMS  252
Отправка сообщений пункту назначения  255
Обработка сообщений JMS с помощью управляемых  
сообщением бинов  259

Резюме  263

10. Веб-сервисы SOAP в JAX-WS 
264

Введение в веб-сервисы 264

Создание простого веб-сервиса   265
Тестирование нашего веб-сервиса   270
Разработка клиента для нашего веб-сервиса   272

Представление EJB в качестве веб-сервисов  277
Реализация новых веб-сервисов в виде EJB  277
Представление существующего EJB в виде веб-сервисов  280
Создание веб-сервиса из существующего WSDL  282

Резюме   284

11. RESTful веб-сервисы в JAX-RS 
285

Создание RESTful веб-сервиса из существующей  
базы данных  286
Анализ сгенерированного кода   288

Тестирование нашего RESTful веб-сервиса  292

Разработка клиента RESTful веб-сервиса  296

Резюме  301

Приложение А. Отладка корпоративного 
приложения отладчиком NetBeans 
302

Отладка корпоративных приложений  302

Резюме   308
 

Содержание
12

Приложение Б. Выявление проблем 
с производительностью при помощи 
профилировщика NetBeans 
309

Профилирование нашего приложения   309

Резюме  313

Алфавитный указатель 
314
Предисловие 

Java EE 6 является последней версией спецификации Java EE, в которую добавлено 
несколько новых возможностей для упрощения разработки корпоративных приложений. 
В эту последнюю версию Java EE были включены новые версии существующих API Java EE. Так, например, JSF 2.0 значительно упрощает разработку 
веб­приложений, а в JPA 2.0 появилась возможность использования нового API 
Критериев, кроме этого, имеется несколько других улучшений. Были улучшены Сеансовые 
бины EJB для поддержки асинхронных вызовов метода, а также произведено 
несколько других серьезных улучшений. Сервлет 3.0 добавляет несколько новых 
возможностей, таких как вызовы дополнительного метода и необязательность 
создания дескриптора развертывания web.xml. Дополнительно к Java EE было 
добавлено несколько новых API, включая JAX­RS, который упрощает разработку  
RESTful веб­сервисов, и CDI, помогающий интегрировать различные уровни типичного 
корпоративного приложения.

NetBeans также претерпел обновление для поддержки полной функциональности, 
предоставляемой Java EE 6, чтобы еще больше упростить и ускорить разработку 
Java EE 6­совместимых приложений. В этой книге мы исследуем все возможности 
NetBeans, которые предназначены для разработки корпоративных приложений Java 
EE 6. 

Вопросы, освещаемые в книге

Глава 1 «Знакомство с NetBeans» на стр. 17 представляет введение в NetBeans, а 
также знакомит нас с подсказками, экономящими время, и приемами, которые позволяют 
более эффективно разрабатывать приложения Java.

Глава 2 «Разработка веб-приложений содержащих Сервлеты и JSP» на стр. 47 
демонстрирует, как с помощью NetBeans упрощается разработка веб­приложений 
путем использования API Сервлета и JavaServer Pages.

Глава 3 «Улучшение функциональности JSP с помощью JSTL и пользовательских 
тегов» на стр. 91 показывает, как с помощью NetBeans можно создавать удобные 
в сопровождении веб­приложения, используя преимущества Стандартной библиотеки 
тегов JSP (JSTL), а также поясняет, как написать наши собственные теги JSP.

Глава 4 «Разработка веб-приложений с использованием JavaServer Faces 2.0» на 
стр. 122 объясняет, как с помощью NetBeans можно существенно облегчить раз-
 

 Предисловие
14

работку веб­приложений, использующих возможности стандартного каркаса компонентов 
JavaServer Faces 2.0.

Глава 5 «Создание изящных веб-приложений с помощью PrimeFaces» на стр. 153 
посвящена вопросу разработки изящных полнофункциональных веб­приложений 
Ajax путем использования библиотеки компонентов PrimeFaces JSF, поставляемой 
с NetBeans.

Глава 6 «Взаимодействие с базами данных через API Персистентности Java» на 
стр. 171 объясняет, как с помощью NetBeans упрощается разработка приложений, 
использующих возможности API Персистентности Java (JPA), включая автоматическую 
генерацию сущностей JPA из существующих схем баз данных. В этой главе 
также объясняется, как можно сгенерировать завершенные веб­приложения из существующей 
схемы базы данных всего несколькими щелчками мыши.

Глава 7 «Реализация уровня бизнес-логики на сеансовых бинах» на стр. 206 наглядно 
демонстрирует, насколько NetBeans упрощает разработку сеансовых бинов EJB 
3.1.

Глава 8 «Контексты и Инжекция зависимости» на стр. 231 показывает, как с помощью 
нового API CDI, введенного в Java EE 6, можно упростить интегрирование 
различных уровней нашего корпоративного приложения.

Глава 9 «Обмен сообщениями в JMS и Управляемых сообщением бинах» на стр. 249 
посвящена технологиям обмена сообщениями Java EE, таким как Служба обмена 
сообщениями Java (JMS) и Управляемые сообщением бины (MDB), демонстрируя 
функциональность NetBeans, которая упрощает разработку приложений, использующих 
возможности этих API.

Глава 10 «Веб-сервисы SOAP в JAX-WS» на стр. 264 объясняет, как с помощью Net-
Beans можно облегчить разработку веб­сервисов SOAP на основе API Java для вебсервисов XML (JAX­WS).

Глава 11 «RESTful веб-сервисы в JAX-RS» на стр. 285 рассматривает JAX­RS, новое 
дополнение к спецификации Java EE, которое упрощает разработку RESTful вебсервисов.

«Приложение А. Отладка корпоративного приложения отладчиком NetBeans» на 
стр. 340 представляет введение в отладчик NetBeans и то, как его можно использовать 
для обнаружения дефектов нашего приложения.

«Приложение Б. Выявление проблем с производительностью при помощи 
профилировщика NetBeans» на стр. 348 представляет профилировщик NetBeans, 
объясняя возможности его использования для анализа проблем производительности 
наших приложений.

Что нужно для чтения этой книги

Для чтения этой книги нужно установить Комплект разработчика Java (Java Devel-
opment Kit (JDK)) 1.6 или более новую версию и IDE NetBeans 7.0 в редакции Java 
EE.
 

Для кого эта книга
15

Для кого эта книга 

Эта книга адресована трем различным категориям разработчиков:

• Java­разработчикам (не обязательно знакомым с NetBeans), 
желающим стать специалистами в Java EE 6, которые хотят использовать 
NetBeans для разработки Java EE­приложений;

• пользователям NetBeans, желающим познакомиться с тем, как 
использовать свой IDE для разработки Java EE 6­приложений;

• опытным Java EE 6­разработчикам, желающим узнать, как с помощью 
NetBeans можно облегчить разработку их Java EE 6­приложений.

Соглашения 

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

Элементы кода в тексте показаны следующим образом: «XML­теги <servlet> и 
<servlet-mapping> используются для фактического конфигурирования нашего 
сервлета». 

Блок кода отображается следующим образом: 

<servlet-mapping>
   <servlet>SimpleServlet</servlet>
   <url-pattern>*.foo</url-pattern>
</servlet-mapping> 

Когда мы хотим привлечь ваше внимание к определенной части блока кода, соответствующие 
строки или элементы будут выделены жирным шрифтом: 

<b>Меню приложения</b>
<ul>
   <li/> <a href=”main.jsp”>Main</a>
   <li/> <a href=”secondary.jsp”>Secondary</a>
</ul>
Текущая страница: <%= pageName %> 

Любой ввод или вывод командной строки записывается следующим образом: 

javac -cp /opt/sges-v3/glassfish/lib/javaee.jar
net/ensode/glassfishbook/simpleapp/SimpleServlet.java

Важные (ключевые) слова в тексте выделяются курсивом.

Слова, которые вы видите на экране, в меню или диалоговых окнах, например, появляются 
в тексте наподобие этого: «Здесь мы должны щелкнуть по элементу Развертывание 
приложения в разделе Развертывание основного экрана».
 

 Предисловие
16

Для обозначения последовательно выполняемых действий используется символ | 
(вертикальная черта): «Щелк ните по узлам Ресурсы (Resources) | JDBC | Пулы соединений (
Connection Pools) в панели навигации».

Веб­адреса выделяются подчеркиванием и специальным шрифтом, например: «Мы 
сможем увидеть отображение файла dataentry.html, вводя в адресной строке обозревателя 
http://localhost:8080/formhandling».  

Предупреждения или важные примечания появляются в тексте таким образом. 

Советы и рекомендации появляются наподобие этого. 

Символ в правом нижнем углу нечетной страницы указывает, что листинг 
кода имеет продолжение на следующем развороте страниц.

Поддержка клиентов

Теперь, когда вы являетесь счастливым обладателем книги, у нас имеется возможность 
помочь вам извлечь максимум пользы из вашего приобретения.

Загрузите примеры кода для этой книги
Файлы с примерами кода для данной книги можно загрузить с сайта издательства: 
http://www.dmk-press.ru/.

Сообщения об ошибках 

Хотя мы делаем все возможное для того, чтобы не допустить ошибок в наших изданиях, 
вы можете встретить в тексте какие­либо неточности. В таком случае мы будем 
рады, если вы сообщите нам об этом.

Сообщения об ошибках в русскоязычном издании этой книги можно оставить на сайте издательства «ДМК Пресс»: http://www.dmk-press.ru/contacts1/contacts/.

Незаконное воспроизведение содержимого книги 

Пиратские копии – повсеместная проблема. Если вам встретились незаконным образом 
растиражированные экземпляры данной книги (в любом формате), пожалуйста, 
сообщите источник публикации, написав письмо по адресу dm@dmk-press.ru 
или copyright@packtpub.com.  

Вопросы 

Вы можете присылать любые вопросы, касающиеся данной книги, по адресу  
dm@dmk-press.ru или questions@packtpub.com. Мы постараемся разрешить 
воз никшие проблемы.
Доступ онлайн
479 ₽
В корзину