Разработка приложений Java EE 6 в NetBeans 7
Покупка
Тематика:
Программирование на Java
Издательство:
ДМК Пресс
Автор:
Хеффельфингер Дэвид
Перевод:
Карышев Е. Н.
Год издания: 2023
Кол-во страниц: 332
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-89818-520-6
Артикул: 458082.02.99
Доступ онлайн
В корзину
Книга представляет собой практическое руководство по использованию возможностей 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
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Дэвид Хеффельфингер Разработка приложений 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, включая JAXRS, который упрощает разработку 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 (JAXWS). Глава 11 «RESTful веб-сервисы в JAX-RS» на стр. 285 рассматривает JAXRS, новое дополнение к спецификации 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. Мы постараемся разрешить воз никшие проблемы.
Доступ онлайн
В корзину