Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Создание приложений веб-сокетов в платформе Java EE

Платформа Java EE включает Java API для веб-сокетов (JSR 356), который позволяет создавать, настраивать и развёртывать конечные точки веб-сокетов в веб-приложениях. API клиента веб-сокета, указанный в JSR 356, также позволяет получать доступ к удалённым конечным точкам веб-сокетов из любого приложения Java.

Java API для веб-сокетов состоит из следующих пакетов.

  • Пакет javax.websocket.server содержит аннотации, классы и интерфейсы для создания и настройки конечных точек сервера.

  • Пакет javax.websocket содержит аннотации, классы, интерфейсы и исключения, которые являются общими для конечных точек клиента и сервера.

Конечные точки веб-сокетов являются объектами класса javax.websocket.Endpoint. Java API для веб-сокетов позволяет создавать два вида конечных точек: программные конечные точки и аннотированные конечные точки. Чтобы создать программную конечную точку, расширьте класс Endpoint и переопределите его методы жизненного цикла. Чтобы создать аннотированную конечную точку, вы отмечаете класс Java и некоторые его методы аннотациями, предоставленными пакетами, упомянутыми ранее. После создания конечной точки вы развёртываете её в определённом URI в приложении, чтобы удалённые клиенты могли к ней подключаться.

Примечание:

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

Создание и развёртывание конечной точки веб-сокета

Процесс создания и развёртывания конечной точки веб-сокета:

  1. Создайте класс конечной точки.

  2. Реализуйте методы жизненного цикла конечной точки.

  3. Добавьте свою бизнес-логику в конечную точку.

  4. Разверните конечную точку внутри веб-приложения.

Процесс немного отличается для программных конечных точек и аннотированных конечных точек, и он подробно рассматривается в следующих разделах.

Примечание:

В отличие от сервлетов конечные точки веб-сокетов создаются несколько раз. Контейнер создаёт объект конечной точки для каждого соединения с его URI развёртывания. Каждый объект связан с одним и только одним соединением. Это облегчает сохранение состояния пользователя для каждого соединения и облегчает разработку, поскольку в любой момент времени только один поток выполняет код объекта конечной точки.


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)