Java EE 6 и сервер приложений GlassFish 3
Практическое руководство по установке и конфигурированию сервера приложений GlassFish v.3, а также по разработке приложений Java EE 6 и их развертыванию на этом сервере
Покупка
Тематика:
Программирование на Java
Издательство:
ДМК Пресс
Автор:
Хеффельфингер Дэвид
Перевод:
Карышев Е. Н.
Год издания: 2023
Кол-во страниц: 417
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-89818-519-0
Артикул: 458083.03.99
К покупке доступен более свежий выпуск
Перейти
Книга представляет собой практическое руководство с очень удобным подходом, позволяющим читателю быстрее освоить технологии Java EE 6. Все рассмотренные основные интерфейсы Java EE 6 и подробная информация о сервере GlassFish 3 подкреплены практическими примерами их использования.
Платформа Java Enterprise Edition (Java EE) 6 является отраслевым стандартом для корпоративных вычислений Java, а сервер приложений GlassFish представляет собой эталонную среду реализации спецификации Java EE. В книге рассматриваются различные соглашения и аннотации Java EE 6, которые помогут существенно упростить разработку корпоративных приложений Java. Описываются последние версии технологий Servlet, JSP, JSF, JPA, EJB и JAX-WS, а также новые дополнения к спецификации Java EE, в частности JAX-RS и CDI. Рассмотрены задачи администрирования, конфигурирования и использования сервера GlassFish 3 для развертывания корпоративных приложений.
Настоящее издание предназначено для разработчиков Java, желающих стать специалистами в разработке корпоративных приложений с использованием платформы Java EE 6. Для изучения материала необходимо иметь некоторый опыт работы с Java, однако знаний в области Java EE или J2EE не требуется.
Книга официально рекомендуется компанией Oracle — разработчиком перечисленных технологий — в качестве учебного пособия.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Дэвид Хеффельфингер Java EE 6 и сервер приложений GlassFish 3 Москва, 2023
Java EE 6 with GlassFish 3 Application Server A practical guide to install and configure the GlassFish 3 Application Server and develop Java EE 6 applications to be deployed to this server David R. Heffelfinger
Java EE 6 и сервер приложений GlassFish 3 Практическое руководство по установке и конфигурированию сервера приложений GlassFish 3, а также по разработке приложений Java EE 6 и их развертыванию на этом сервере Дэвид Хеффельфингер 2-е издание, электронное Москва, 2023
УДК 004.438Java EE ББК 32.973.26-018.2 Х41 Х41 Хеффельфингер, Дэвид. Java EE 6 и сервер приложений GlassFish 3 / Д. Хеффельфингер ; пер. с англ. Е. Н. Карышева. — 2-е изд., эл. — 1 файл pdf : 417 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-519-0 Книга представляет собой практическое руководство с очень удобным подходом, позволяющим читателю быстрее освоить технологии Java EE 6. Все рассмотренные основные интерфейсы Java EE 6 и подробная информация о сервере GlassFish 3 подкреплены практическими примерами их использования. Платформа Java Enterprise Edition (Java EE) 6 является отраслевым стандартом для корпоративных вычислений Java, а сервер приложений GlassFish представляет собой эталонную среду реализации спецификации Java EE. В книге рассматриваются различные соглашения и аннотации Java EE 6, которые помогут существенно упростить разработку корпоративных приложений Java. Описываются последние версии технологий Servlet, JSP, JSF, JPA, EJB и JAX-WS, а также новые дополнения к спецификации Java EE, в частности JAX-RS и CDI. Рассмотрены задачи администрирования, конфигурирования и использования сервера GlassFish 3 для развертывания корпоративных приложений. Настоящее издание предназначено для разработчиков Java, желающих стать специалистами в разработке корпоративных приложений с использованием платформы Java EE 6. Для изучения материала необходимо иметь некоторый опыт работы с Java, однако знаний в области Java EE или J2EE не требуется. Книга официально рекомендуется компанией Oracle — разработчиком перечисленных технологий — в качестве учебного пособия. УДК 004.438Java EE ББК 32.973.26-018.2 Электронное издание на основе печатного издания: Java EE 6 и сервер приложений GlassFish 3 / Д. Хеффельфингер ; пер. с англ. Е. Н. Карышева. — Москва : ДМК Пресс, 2013. — 416 с. — ISBN 978-5-94074-902-8. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-519-0 © 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 и другим технологиям. Я хотел бы поблагодарить всех, кто помогал мне в создании этой книги. Выражаю благодарность редакторам Мехулу Шетти (Mehul Shetty) и Дхираджу Чандирамани (Dhiraj Chandiramani), а также координаторам проекта Шубханджану Чаттерджи (Shubhanjan Chat terjee) и Паллаби Чаттерджи (Pallabi Chatterjee). Отдельное спасибо техническим рецензентам Аллану Бонду (Allan Bond) и Аруну Гупте (Arun Gupta) за их важные замечания и предложения. Кроме того, хочу поблагодарить группу GlassFish в Oracle (ранее Sun Microsystems) за разработку такого замечательного сервера приложений с открытым исходным кодом. И, наконец, я признателен моей жене и дочери за их терпеливое отношение к моей дополнительной работе, в силу которой я был вынужден уделять меньше времени семье.
О рецензентах Аллан Бонд (Allan Bond) – разработчик программного обеспечения, более 10 лет работающий в сфере ИТ. Его основное внимание сосредоточено на разработке систем с использованием Java и связанных с ней технологий. В процессе работы Аллану довелось консультировать множество организаций, от малых предприятий до компаний, входящих в список Fortune 500, а также государственных учреждений. Он имеет степень магистра в области управления информационными системами Университета Бригама Янга. Я хотел бы поблагодарить свою жену и детей за их терпение в ночные часы (а иногда и выходные дни), когда мне нужно бы ло завершить рецензирование этой книги. Арун Гупта (Arun Gupta) – апологет Java EE и GlassFish, работающий в компании Oracle. Арун имеет более чем 14-летний опыт в индустрии программного обеспечения и работает с платформой Java(TM) и несколькими связанными с ней интернет- технологиями. В настоящий момент его деятельность направлена на создание и укрепление сообщества пользователей Java EE 6 и GlassFish. Арун сотрудничал с несколькими организациями по стандартизации и осуществлял взаимодействие с представителями других компаний. Он входил в команду Java EE начиная с момента ее создания и в той или иной степени внес свой вклад во все релизы Java EE. Имеет обширный опыт обсуждения множества тем в международном сообществе и обожает широкомасштабные проекты. Арун является активным блогером (https://blogs.oracle.com/arungupta/). В этом блоге более 1000 записей, и его часто читают посетители со всего мира; посещаемость блога достигает 25 000 посещений в день.
Содержание Об авторе 5 О рецензентах 6 Содержание 7 Предисловие 16 Темы, освещаемые в книге 16 Что нужно для чтения этой книги 19 Для кого эта книга 19 Соглашения 19 Поддержка клиентов 20 Сообщения об ошибках 20 Незаконное воспроизведение содержимого книги 21 Вопросы 21 1. Знакомство с сервером GlassFish 22 Общий обзор Java EE и GlassFish 22 Новые возможности Java EE 23 JavaServer Faces (JSF) 20 23 Enterprise JavaBeans (EJB) 31 23 API Персистентности Java (JPA) 20 24 Контексты и инжекция зависимости для Java (Web Beans 10) 24 API Java Сервлета 3.0 24 API Java для веб-сервисов RESTful (JAX-RS) 1.1 25 API Java для веб-сервисов XML (JAX-WS) 2.2 25 Архитектура Java для связывания с XML (JAXB) 2.2 25 Новые возможности GlassFish v3 25 Преимущества GlassFish 26
Содержание Получение GlassFish 27 Установка GlassFish 28 Зависимости GlassFish 28 Выполнение установки 29 Проверка установки 34 Развертывание нашего первого приложения Java EE 35 Развертывание приложения через веб-консоль 35 Отмена развертывания приложения через веб-консоль 37 Развертывание приложения с помощью командной строки 38 Каталог autodeploy 39 Утилита командной строки asadmin 40 Домены GlassFish 41 Создание доменов 41 Удаление доменов 43 Остановка домена 43 Настройка подключения к базе данных 43 Создание пулов соединений 44 Создание источников данных 48 Заключительные замечания 49 Резюме 49 2. Разработка и развертывание сервлета 50 Что такое сервлет? 50 Написание нашего первого сервлета 51 Компиляция сервлета 52 Конфигурирование сервлета 53 Упаковка веб-приложения 55 Развертывание веб-приложения 56 Тестирование веб-приложения 56 Обработка HTML-форм 58 Переадресация запросов и перенаправление откликов 64 Переадресация запроса 64 Перенаправление отклика 67
Содержание 9 Сохранение данных приложения между запросами 69 Новые возможности, появившиеся в Сервлете 3.0 71 Необязательный дескриптор развертывания web.xml 71 Аннотация @WebServlet 71 Передача сервлету параметров инициализации через аннотации 73 Аннотация @WebFilter 74 Аннотация @WebListener 76 Подключаемость 78 Программное конфигурирование веб-приложений 80 Асинхронная обработка 82 Резюме 84 3. JavaServer Pages 85 Введение в JavaServer Pages 85 Разработка нашей первой JSP-страницы 86 Неявные объекты JSP 90 JSP и JavaBeans 97 Повторное использование JSP-контента 101 Пользовательские теги JSP 103 Расширение класса SimpleTagSupport 104 Использование файлов тегов для создания пользовательских тегов JSP 109 Унифицированный язык выражений 113 XML-синтаксис JSP 116 Резюме 118 4. Библиотека стандартных тегов JSP 119 JSTL-библиотека базовых тегов 119 JSTL-библиотека тегов форматирования 127 JSTL-библиотека SQL-тегов 131 JSTL-библиотека XML-тегов 136 Функции JSTL 140 Резюме 143
Содержание 5. Подключение к базе данных 144 База данных CUSTOMERDB 144 JDBC 145 Извлечение данных из базы данных 146 Изменение информации в базе данных 152 API Персистентности Java 154 Отношения сущности 159 Отношения «один к одному» 159 Отношения «один ко многим» 164 Отношения «многие ко многим» 168 Составные первичные ключи 173 Язык запросов персистентности Java 177 Новые функции, введенные в JPA 2.0 181 API Критериев 181 Поддержка проверки допустимости со стороны бинов 184 Резюме 186 6. Java Server Faces 187 Введение в JSF 2.0 187 Фэйслеты 187 Необязательный файл faces-config.xml 188 Стандартное расположение ресурсов 188 Разработка нашего первого JSF 2.0-приложения 189 Фэйслеты 189 Этапы проекта 193 Проверка допустимости 195 Группировка компонентов 197 Отправка формы 197 Управляемые бины 198 Контексты управляемых бинов 199 Навигация 200 Пользовательская проверка допустимости данных 201 Создание нестандартных элементов верификации 202 Методы блока проверки допустимости 204
Содержание 11 Настройка сообщений JSF по умолчанию 207 Настройка стилей сообщения 207 Настройка текста сообщения 209 Интеграция JSF и JPA 211 Включение Ajax в приложения JSF 2.0 218 Стандартные компоненты JSF 222 Базовые компоненты JSF 222 Тег <f:actionListener> 222 Тег <f:ajax> 222 Тег <f:attribute> 223 Тег <f:convertDateTime> 223 Тег <f:convertNumber> 223 Тег <f:converter> 224 Тег <f:event> 224 Тег <f:facet> 225 Тег <f:loadBundle> 225 Тег <f:metadata> 225 Тег <f:param> 226 Тег <f:phaseListener> 226 Тег <f:selectItem> 226 Тег <f:selectItems> 226 Тег <f:setPropertyActionListener> 227 Тег <f:subview> 227 Тег <f:validateBean> 227 Тег <f:validateDoubleRange> 228 Тег <f:validateLength> 228 Тег <f:validateLongRange> 228 Тег <f:validateRegex> 229 Тег <f:validateRequired> 229 Тег <f:validator> 229 Тег <f:valueChangeListener> 229 Тег <f:verbatim> 230 Тег <f:view> 230 Тег <f:viewParam> 230
Содержание HTML-компоненты JSF 231 Тег <h:body> 231 Тег <h:button> 231 Тег <h:column> 231 Тег <h:commandButton> 231 Тег <h:commandLink> 232 Тег <h:dataTable> 232 Тег <h:form> 232 Тег <h:graphicImage> 233 Тег <h:head> 233 Тег <h:inputHidden> 233 Тег <h:inputSecret> 233 Тег <h:inputText> 234 Тег <h:inputTextarea> 234 Тег <h:link> 234 Тег <h:message> 234 Тег <h:messages> 235 Тег <h:outputFormat> 235 Тег <h:outputLabel> 235 Тег <h:outputLink> 236 Тег <h:outputScript> 236 Тег <h:outputStylesheet> 236 Тег <h:outputText> 236 Тег <h:panelGrid> 236 Тег <h:panelGroup> 237 Тег <h:selectBooleanCheckbox> 238 Тег <h:selectManyCheckbox> 238 Тег <h:selectManyListbox> 238 Тег <h:selectManyMenu> 239 Тег <h:selectOneListbox> 239 Тег <h:selectOneMenu> 239 Тег <h:selectOneRadio> 239 Дополнительные библиотеки компонентов JSF 240 Резюме 240
Содержание 13 7. Служба обмена сообщениями Java 241 Настройка GlassFish для использования JMS 241 Создание фабрики JMS-соединений 241 Создание очереди JMS-сообщений 243 Создание темы JMS-сообщений 244 Очереди сообщений 245 Отправка сообщений в очередь сообщений 245 Извлечение сообщений из очереди сообщений 249 Асинхронный прием сообщений из очереди сообщений 250 Просмотр очередей сообщений 253 Темы сообщений 254 Отправка сообщений теме сообщений 254 Получение сообщений от темы сообщений 255 Создание долговременных подписчиков 257 Резюме 260 8. Безопасность 261 Области безопасности 261 Предопределенные области безопасности 262 Область администратора 262 Область файла 264 Стандартная аутентификация через область файла 265 Область сертификата 276 Создание самоподписанных сертификатов 276 Конфигурирование приложений для использования области сертификата 280 Определение дополнительных областей 283 Определение дополнительных областей файла 283 Определение дополнительных областей сертификата 285 Определение области LDAP 286 Определение области Solaris 287 Определение области JDBC 288 Определение пользовательских областей 293 Резюме 298
Содержание 9. Enterprise JavaBeans 299 Сеансовые бины 300 Простой сеансовый бин 300 Более реалистический пример 303 Вызов сеансовых бинов из веб-приложений 305 Одноэлементный сеансовый бин (Singleton) 306 Асинхронные вызовы метода 307 Управляемые сообщением бины 309 Транзакции в Enterprise JavaBeans 310 Транзакции, управляемые контейнером 311 Транзакции, управляемые бином 313 Жизненный цикл Enterprise JavaBeans 315 Жизненный цикл сеансового бина с сохранением состояния 316 Жизненный цикл сеансового бина, не сохраняющего состояние 319 Жизненный цикл управляемых сообщением бинов 321 Служба таймера EJB 322 Выражения таймера EJB на основе календаря 324 Безопасность EJB 326 Аутентификация клиента 329 Резюме 330 10. Контексты и инжекция зависимости 332 Именованные бины 332 Инжекция зависимости 334 Квалификаторы 335 Контексты именованных бинов 338 Резюме 345 11. Веб-сервисы JAX-WS 346 Разработка веб-сервисов JAX-WS 346 Разработка клиента веб-сервиса 351 Отправка вложений веб-сервисам 357
Содержание 15 Представление EJB как веб-сервисов 359 Клиенты веб-сервиса EJB 360 Безопасность веб-сервисов 360 Безопасность веб-сервисов EJB 362 Резюме 364 12. RESTful веб-сервисы в Jersey и JAX-RS 365 Введение в веб-сервисы RESTful и JAX-RS 365 Разработка простого веб-сервиса RESTful 366 Конфигурирование пути к ресурсам REST для нашего приложения 368 Конфигурирование через web.xml 368 Конфигурирование через аннотацию @ApplicationPath 369 Тестирование нашего веб-сервиса 370 Преобразование данных между Java и XML с помощью JAXB 372 Разработка клиента веб-сервиса RESTful 375 Параметры запроса и пути 377 Параметры запроса 377 Отправка параметров запроса через клиентский API Jersey 378 Параметры пути 380 Отправка параметров пути через клиентский API Jersey 382 Приложение А: Отправка электронной почты из приложений Java EE 384 Конфигурирование сервера GlassFish 384 Реализация функциональности доставки электронной почты 387 Приложение Б: Интеграция с IDE 390 NetBeans 390 Eclipse 392 Алфавитный указатель 397
Предисловие Изложение материала в данной книге начинается с установки сервера GlassFish v.3 и развертывания Java-приложений. Затем объясняется, как разработать, сконфигурировать, упаковать и развернуть сервлеты; помимо прочего, уделяется внимание изучению обработки HTML-форм. По мере продвижения в изучении материала мы будем разрабатывать Серверные страницы Java (Java Server Pages (JSP)) и узнаем о неявных объектах JSP. Также мы познакомимся со всеми Библиотеками стандартных тегов JSP (JSP Standard Tag Library (JSTL)). Эта книга позволит нам лучше понять, как управлять данными, хранящимися в базе данных, через API Подключения к базе данных Java (Java Database Connectivity (JDBC)) и через API Персистентности Java (Java Persistence API (JPA)). Кроме того, мы узнаем о новых функциях, введенных в JPA 2.0, и разработаем приложения JSF 2.0 для их изучения и настройки. Затем настроим сервер GlassFish для работы с API Системы обмена сообщениями Java (Java Messaging System (JMS)) и изучим работу тем и очередей сообщений. Позже мы будем использовать API Контекстов и инжекции зависимости (Context and Dependency Injection (CDI)) для интегрирования различных уровней приложения, а также изучим веб-сервис на основе SOAP, используя для его разработки спецификацию JAX-WS. Наконец, мы узнаем больше о разработке веб-сервиса RESTful с использованием спецификации JAX-RS. Наконец, в книге обсуждаются различные соглашения и аннотации Java EE 6, которые помогут упростить разработку корпоративных приложений Java. Также рассматриваются самые последние версии спецификаций Сервлета (Servlet), JSF, JPA, EJB и JAX-WS, а также новые дополнения к спецификации, такие как JAX-RS и CDI. Темы, освещаемые в книге В главе 1, «Знакомство с сервером GlassFish», объясняется, как загрузить и установить сервер GlassFish. Здесь мы рассмотрим несколько методов развертывания приложений Java EE: через веб-консоль GlassFish, с помощью утилиты командной строки asadmin и путем копирования файла приложения в каталог авторазверты- вания. Мы рассмотрим основные задачи администрирования GlassFish, такие как настройка доменов и настройка соединений с базой данных, добавление пулов соединений и источников данных. В главе 2, «Разработка и развертывание сервлета», показано, как разработать, сконфигурировать, упаковать и развернуть сервлеты. Также мы рассмотрим, как обра-
Темы, освещаемые в книге 17 ботать информацию HTML-формы, получая доступ к объекту HTTP-запроса. В дополнение будет объяснена переадресация HTTP-запросов от одного сервлета к другому, наряду с перенаправлением HTTP-отклика на другой сервер. Мы обсудим, как сохранить объекты в памяти с помощью запросов, присоединяя их к кон тексту серв- лета и HTTP-сеанса. Наконец, мы рассмотрим все важные новые функции Сервле- та 3.0, включая конфигурирование веб-приложений с помощью аннотаций, подклю- чаемость с помощью web-fragment.xml, программное конфигурирование сервлета и асинхронную обработку. Глава 3, «JavaServer Pages», содержит сведения о том, как разработать и развернуть простую JSP-страницу. Мы рассмотрим, как получить доступ к неявным объектам, таким как запрос, сеанс и т. д., из JSP-страницы. Кроме того, мы выясним, как установить и получить значения свойств JavaBean с помощью тега <jsp:useBean>. Поговорим и о том, как включить одну JSP-страницу в другую во время выполнения с помощью тега <jsp:include> и во время компиляции с помощью директивы JSP include. Мы обсудим, как написать пользовательские JSP-теги, расширяющие javax.servlet.jsp.tagext.SimpleTagSupport или TAG-файлы. Также будет показано, как получить доступ к JavaBeans и их свойствам с помощью Унифицированного языка выражений (Unified Expression Language). Наконец, мы рассмотрим XML-синтаксис JSP, который позволяет нам разрабатывать XML-совместимые JSP-страницы. Глава 4, «Библиотека стандартных тегов JSP», познакомит нас со всеми Библиотеками стандартных тегов JSP (JSP Standard Tag Library (JSTL)), включая библиотеки базовых тегов, тегов форматирования, SQL- и XML-тегов. Кроме этого, будут объяснены функции JSTL. В главе приведены примеры, поясняющие использование наиболее распространенных тегов JSTL; также упоминаются и описываются дополнительные JSTL-теги. В главе 5, «Подключение к базе данных», рассказывается о том, как получить доступ к данным в базе данных с помощью API Подключения к базе данных Java (Java Database Connectivity (JDBC)) и через API Персистентности Java (Java Persistence API (JPA)). Будут рассмотрены определения однонаправленных и двунаправлен- ных отношений «один к одному», «один ко многим» и «многие ко многим» между JPA-сущностями. Помимо прочего, мы обсудим, как использовать первичные ключи составной JPA-сущности путем разработки пользовательских классов первичного ключа. Также будет показано, как получить объекты из базы данных путем использования Языка запросов персистентности Java (Java Persistence Query Language (JPQL)). Вы узнаете, как создавать программные запросы с помощью API Критериев JPA 2.0 (JPA 2.0 Criteria API) и автоматизировать проверку допустимости данных с помощью поддерживаемой JPA 2.0 Проверки допустимости со стороны бинов (Bean Validation Support). Глава 6, «JavaServer Faces», посвящена разработке веб-приложений с использованием JavaServer Faces – стандартного каркаса компонентов для платформы Java EE 5. Мы поговорим о том, как написать простое приложение, создав JSP-страницу, содержащую JSF-теги и управляемые бины (managed beans). Обсудим, как проверить
Предисловие 18 данные, вводимые пользователем, путем использования стандартных блоков проверки допустимости JSF и создаваемых нами собственных блоков проверки допустимости или путем написания методов блока проверки допустимости. Рассмотрим, как настроить стандартные сообщения об ошибках JSF – и текст сообщения, и стиль сообщения (шрифт, цвет и т. д.). Наконец, узнаем, как написать приложения, интегрирующие технологии JSF и API Персистентности Java (JPA). Глава 7, «Служба обмена сообщениями Java», повествует о том, как настроить в GlassFish фабрики соединений JMS, очереди и темы сообщений JMS, используя веб-консоль GlassFish. Мы рассмотрим, как отправлять и получать сообщения в очередь и из очереди сообщений JMS. Обсудим, как отправлять и получать сообщения в тему и из темы сообщений JMS. Узнаем, как просмотреть сообщения в очереди сообщений не удаляя их из очереди. В завершение будет показано, как создать и настроить темы JMS и взаимодействовать с долговременными подписчиками (durable subscriptions) на них. Глава 8, «Безопасность», рассказывает о том, как использовать для аутентификации наших веб-приложений установленные по умолчанию области (realms) GlassFish. Мы рассмотрим область файла (file realm), которая хранит пользовательскую информацию в плос ком файле, и область сертификата (certificate realm), которая требует клиентских сертификатов для пользовательской аутентификации. Кроме того, обсудим, как создать дополнительные области аутентификации, которые ведут себя точно так же, как области по умолчанию, при использовании классов области, включенных в GlassFish. Глава 9, «Enterprise JavaBeans», объясняет, как реализовать бизнес-логику с помощью сохраняющих и не сохраняющих состояние сеансовых бинов (session beans). Кроме того мы разъясним понятия транзакций, управляемых контейнером, и транзакций, управляемых бином. Будут рассмотрены жизненные циклы для различных типов Enterprise JavaBeans. Мы поговорим о том, как периодически вызывать методы EJB – контейнером EJB, используя возможности службы таймера EJB. Наконец, мы расскажем, как сделать так, чтобы EJB методы могли были быть вызваны только авторизованными пользователями. Глава 10, «Контексты и инжекция зависимости», расскажет нам о том, как JSF страница, может получить доступ к именованным бинам (named beans) CDI, как будто они являются управляемыми бинами (managed beans) JSF. Мы объясним, как CDI облегчает внедрение (инжекцию) зависимостей в наш код. Мы обсудим, как можно использовать квалификаторы (qualifiers), чтобы определить, какие конкретно реализации зависимостей инжектировать в наш код. Наконец, мы рассмотрим все контексты, в которые может быть помещен бин CDI. Глава 11, «Веб-сервисы JAX-WS», рассматривает, как разработать веб-сервисы и клиентов веб-сервисов с помощью API JAX-WS. Мы обсудим, как отправлять вложения веб-сервису, как представить методы EJB в качестве веб-сервисов и, наконец, как обеспечить безопасность веб-сервисов, чтобы они не были доступны неавторизованным клиентам.
Что нужно для чтения этой книги 19 В главе 12, «RESTful веб-сервисы в Jersey и JAX-RS», обсуждается, как легко и быстро разработать RESTful веб-сервисы, используя API JAX-RS – новое дополнение к специ фикации Java EE. Мы объясним, как автоматически преобразовать данные между Java и XML, используя возможности API Java для связывания с XML (Java API for XML Binding (JAXB)). Наконец, мы рассмотрим, как передать параметры нашим RESTful веб-сервисам с помощью аннотаций @PathParam и @QueryParam. Что нужно для чтения этой книги Для чтения этой книги потребуется установить Комплект разработчика Java (Java Deve lopment Kit (JDK)) 1.5 или более новую версию, а также GlassFish v.3 или v.3.1. Настоятельно рекомендуется установить Maven 2, поскольку он используется во всех примерах кода, приведенного в книге. Наличие IDE Java, таких как NetBeans, Eclipse или IntelliJ IDEA, необязательно. Для кого эта книга Если Вы являетесь разработчиком Java и хотите стать специалистом по Java EE 6, эта книга для Вас. Чтобы чтение пошло Вам на пользу, необходимо иметь некоторый опыт работы с Java, а также опыт разработки и развертывания собственных приложений, однако никаких предварительных знаний о Java EE или J2EE не требуется. Вы также изучите, как использовать сервер приложений GlassFish v.3 для разработки и развертывания приложений. Соглашения В этой книге используется несколько стилей и пометок для выделения особо важной информации. Ниже мы поясним все эти типы выделений. Элементы кода в тексте обозначаются моноширинным шрифтом, например: «XML- теги <servlet> и <servlet-mapping> используются для фактического конфигурирования нашего сервлета». Блоки кода представлены следующим образом: <servlet-mapping> <servlet>SimpleServlet</servlet> <url-pattern>*.foo</url-pattern> </servlet-mapping> Если мы хотим привлечь ваше внимание к определенной части блока кода, соответствующие фрагменты выделяются еще и жирным шрифтом: <b>Application Menu</b> <ul> <li/> <a href=”main.jsp”>Main</a> <li/> <a href=”secondary.jsp”>Secondary</a> </ul> Current page: <%= pageName %>
К покупке доступен более свежий выпуск
Перейти