Библиотека knigago >> Компьютеры: Разработка ПО >> Программирование: прочее >> Изучаем Java EE 7

Энтони Гонсалвес - Изучаем Java EE 7

Изучаем Java EE 7
Книга - Изучаем Java EE 7.  Энтони Гонсалвес  - прочитать полностью в библиотеке КнигаГо
Название:
Изучаем Java EE 7
Энтони Гонсалвес

Жанр:

Руководства и инструкции, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Java, Java Script

Изадано в серии:

неизвестно

Издательство:

Питер

Год издания:

ISBN:

978-5-496-00942-3

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Изучаем Java EE 7"

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java.
Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода.
Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP). В ней вы найдете максимально ценную информацию, изложенную с точки зрения эксперта по технологиям Java для предприятий.
Благодаря этой книге вы:
— познакомитесь с новейшей версией платформы Java EE;
— исследуете и научитесь использовать API EJB и JPA — от компонентов-сущностей, компонентов-сеансов до компонентов, управляемых сообщениями, и многого другого;
— откроете для себя API для разработки на веб-уровне, в частности JSF, Facelet и Expression Language;
— научитесь обращаться с веб-службами SOAP и RESTful, а также с другими службами, доступными в новейшей версии Java EE;
— узнаете, как создавать динамические пользовательские интерфейсы для корпоративных и транзакционных Java-приложений.

Читаем онлайн "Изучаем Java EE 7". [Страница - 301]

сеансовых компонентов. У веб-служб SOAP было несколько сгенерированных артефактов для упаковки, но с REST складывается иная ситуация. Разработчик отвечает лишь за упаковку классов, аннотированных @Path (и других вспомогательных классов). Обратите внимание: в JAX-RS 2.0 отсутствует дескриптор развертывания.

Вызов веб-служб в стиле REST

Итак, вы уже научились писать веб-службы с передачей состояния представления, которые могут обрабатывать данные, выполнять в базе данных операции из разряда CRUD, доставлять информацию с сервера и т. д. Как получить к ним доступ? Как следует из рис. 15.1, для этого нужно просто сделать HTTP-запрос к URI. Воспользуйтесь любым инструментом, обеспечивающим такую возможность, и свободно вызывайте любые описанные выше службы в стиле REST.

Первый мыслимый инструмент такого рода — любой браузер. Откройте браузер, введите URI в адресную строку — и получите визуальное представление. К сожалению, браузеры работают только с HTTP-методами GET и POST. Если вы хотите добиться от браузера большего, к нему вполне можно подключить несколько модулей. Такие подключаемые модули поддерживают работу с методами PUT и DELETE (в качестве примера можно привести Postman из Chrome). Еще один очень функциональный инструмент, которым можно воспользоваться, — cUrl. Этот инструмент командной строки обеспечивает доступ к деталям HTTP-протокола и, в частности, позволяет вызывать веб-службы REST.

До выхода JAX-RS 2.0 в Java отсутствовал стандартный способ простого вызова веб-служб в стиле REST. Приходилось либо полагаться на низкоуровневый API java.net.HttpURLConnection, либо пользоваться проприетарным API того или иного фреймворка (например, Jersey, Resteasy или Restlet). JAX-RS ликвидирует этот пробел с помощью своего текучего, легкого в использовании API для выстраивания запросов.

Клиентский API

В JAX-RS 2.0 появился новый клиентский API, с помощью которого можно с легкостью делать HTTP-запросы к удаленным REST-службам (несмотря на все низкоуровневые функции протокола HTTP). Речь идет о текучем API для построения запросов (использующем шаблон проектирования «Построитель»), в котором задействуется небольшое количество классов и интерфейсов (обзор пакета javax.ws.rs.client представлен в табл. 15.8, а информация об API Response приводилась в табл. 15.6). Очень часто вам придется сталкиваться с тремя основными классами: Client, WebTarget и Response. Интерфейс Client (получаемый с помощью ClientBuilder) — это построитель интерфейсов WebTarget. Интерфейс WebTarget представляет самостоятельный URI, с которого вы можете инициировать запросы для получения Response. На основании этого ответа можно проверять HTTP-состояние, длину или cookie. Но гораздо важнее, что вы можете получать содержимое ответа. Это делается с помощью класса Entity.


Таблица 15.8. Основные классы и интерфейсы из пакета javax.ws.rs.client
Класс/интерфейс Описание Client Это основная входная точка для текучего API, используемого для построения и выполнения клиентских ответов ClientBuilder Входная точка для клиентского API, используемая для начальной загрузки экземпляров Client Configurable Клиентская конфигурационная форма Client, WebTarget и Invocation Entity Инкапсулирует объект сообщения, включая ассоциированную информацию о вариантах Invocation Запрос, готовый к исполнению Invocation.Builder Построитель вызовов клиентского интерфейса WebTarget Цель ресурса, идентифицируемая URI ресурса
Пошагово рассмотрим этот список, чтобы разобраться, как работать с новым API. Затем объединим все приобретенные знания и протестируем веб-службу в стиле REST.


Начальная загрузка клиента
Основной входной точкой в данный API является интерфейс Client. Он конфигурирует HTTP-соединения и управляет ими. Кроме того, это фабрика для WebTargets, поэтому данный интерфейс обладает набором методов для создания ссылок на ресурсы и вызова ресурсов. Экземпляры Client создаются с помощью одного из статических методов класса ClientBuilder:

Client client = ClientBuilder.newClient();

В примере показан способ создания экземпляра Client с помощью стандартной реализации. Мы также можем запросить конкретную специальную реализацию Client, воспользовавшись нужной конфигурацией. Например, следующий код регистрирует поставщика CustomCustomerReader (см. листинг 15.17) и устанавливает некоторые свойства:

Client client = ClientBuilder.newClient();

client.configuration().

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.