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


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1730, книга: Воплощения бессмертия. Том 2
автор: Пирс Энтони

Том 2 захватывающей и оригинальной серии "Воплощения Бессмертия" Пирса Энтони, "Золотая Рука", продолжает рассказ об уникальной цивилизации, где индивидуумы могут воплощаться в новые физические формы. Героиня романа, Шайри, продолжает свое путешествие в сопровождении загадочной группы "Странников". Она обнаруживает, что ее собственная форма воплощения, известная как "Золотая Рука", обладает необыкновенными способностями исцеления и манипулирования...

СЛУЧАЙНАЯ КНИГА

Будь со мной. Джоанна Бриско
- Будь со мной

Жанр: О любви

Год издания: 2008

Серия: Клуб семейного досуга

Энтони Гонсалвес - Изучаем 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, программирование на Java, веб-разработка, пользовательский интерфейс (UI)

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

Удаление книги
Метод deleteBook() в листинге 15.26 соответствует формату метода getBook(), так как использует подпуть и ID в качестве параметра. Единственное отличие от метода getBook() заключается в том, что во втором случае применяется HTTP-операция DELETE (а не GET). Если книга не найдена в базе данных, то генерируется исключение NotFoundException, в противном случае книга удаляется и возвращается код состояния 204 — Нет содержимого.


Листинг 15.26. Метод deleteBook службы BookRestService
//…

@DELETE

@Path("{id}")

public Response deleteBook(@PathParam("id") String id) {

··Book book = em.find(Book.class, id);


··if (book == null)

····throw new NotFoundException();

··em.remove(book);

··return Response.noContent(). build();

}

//…

Если бы мы воспользовались развернутым режимом вывода cURL (с аргументом — v), то увидели бы отправку запроса DELETE. В ответе же присутствует код состояния 204 — Нет содержимого. Он указывает, что ресурс больше не существует:

$ curl — X DELETE http://localhost:8080/chapter15-service-1.0/rs/book/601 — v > DELETE /chapter15-service-1.0/rs/book/601 HTTP/1.1

> User-Agent: curl/7.23.1 (x86_64-apple-darwin11.2.0) libcurl/7.23.1

> Host: localhost:8080

> Accept: */*

>

< HTTP/1.1 204 No Content

< Server: GlassFish Server Open Source Edition 4.0

Конфигурирование JAX-RS

Перед развертыванием службы BookRestService и сущности Book нам потребуется зарегистрировать в Jersey паттерн url; это делается для перехватывания HTTP-вызовов, идущих к службам. Таким образом, запросы, отсылаемые к пути /rs, будут перехватываться Jersey. Вы можете либо задать этот паттерн url при конфигурировании сервлета Jersey в файле web.xml, либо использовать аннотацию @ApplicationPath (листинг 15.27). Класс ApplicationConfig должен расширять javax.ws.rs.core.Application и определять все веб-службы в стиле REST (здесь — c.add(BookRestService.class)), а также выполнять все прочие необходимые расширения (c.add(MOXyJsonProvider.class)).


Листинг 15.27. Класс ApplicationConfig, объявляющий URL-паттерн для /rs
@ApplicationPath("rs")

public class ApplicationConfig extends Application {

··private final Set<Class<?>> classes;


··public ApplicationConfig() {

····HashSet<Class<?>> c = new HashSet<>();

····c.add(BookRestService.class);

····c.add(MOXyJsonProvider.class);

····classes = Collections.unmodifiableSet(c);

··}


··@Override

··public Set<Class<?>> getClasses() {

····return classes;

··}

}

Этот класс должен находиться где-то в вашем проекте (конкретный пакет не имеет значения), и благодаря аннотации @ApplicationPath он будет отображать запросы на URL-шаблон /rs/*. Это означает, что всякий раз, когда очередной URL будет начинаться с /rs/, Jersey будет его обрабатывать. Действительно, во всех тех примерах, которые я использовал в cURL, все URL ресурсов начинались с /rs:

$ curl — X GET — H "Accept: application/json" Книгаго: Изучаем Java EE 7. Иллюстрация № 405

····http://localhost:8080/chapter15-service-1.0/rs/book


Примечание
В главе 12 были рассмотрены некоторые спецификации, связанные с XML и JSON. Спецификации делятся на две группы: касающиеся обработки (JAXP и JSON-P) и связывания (JAXB). Благодаря связыванию JAX-RS будет преобразовывать список компонентов в XML с помощью встроенных интерфейсов MessageBodyReader и MessageBodyWriter, основанных на JAXB. К сожалению, пока не существует технологии связывания для работы с JSON (ожидается, что она появится в ближайшие годы и будет называться JSON-B). Поэтому на данный момент невозможно автоматически выполнить маршалинг компонента в JSON. Вот почему в классе ApplicationConfig нам требуется добавить Jersey-специфичный поставщик (MOXyJsonProvider). Так мы получаем JSON-интерфейсы MessageBodyReader и MessageBodyWriter. Но такой прием не обладает портируемостью на все реализации JAX-RS.

Компиляция и упаковка с помощью Maven

Теперь все классы должны быть скомпилированы и упакованы в WAR-файл (<packaging>war</packaging>). Файл pom.xml, показанный в листинге 15.28, объявляет все зависимости, необходимые для компиляции кода (эти зависимости находятся в glassfish-embedded-all). Как вы помните, JAXB входит в состав Java SE, и эту зависимость добавлять не требуется. Обратите также внимание, что в файле pom.xml объявляется плагин Failsafe, специально разработанный для выполнения интеграционных тестов (его мы рассмотрим ниже для запуска класса BookRestServiceIT, предназначенного именно для интеграционного тестирования).


Листинг 15.28. Файл pom.xml для компиляции, тестирования и упаковки веб-службы с передачей состояния представления
<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" 

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


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