Skip to content

Simpliest web-library: EJB, JSF, JAX-RS (2014)

License

Notifications You must be signed in to change notification settings

aleksey-lukyanets/library-ejb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Библиотека на основе Enterprise JavaBeans и JavaServer Faces, так же как на Spring MVC, позволяет хранить, просматривать, изменять списки авторов и книг в базе данных.

Для асинхронного обращения к серверу в этой реализации применён встроенный в JSF AJAX-компонент f:ajax. По этой причине отличается стратегия обновления пользовательского интерфейса: в ответ на действие пользователя у сервера запрашиваются изменившиеся элемента данных — вместо изменения элементов интерфейса средствами JavaScript, как это было в случае приложения на Spring. Соответственно, функции JavaScript здесь невелики и немногочисленны.

Технологии

  • сервлет: EJB 3, JSF 2.2;
  • доступ к данным: JPA, Hibernate;
  • веб-сервис: JAX-RS, RESTEasy;
  • веб-интерфейс: jQuery, Bootstrap;
  • база данных: PostgreSQL;
  • серверы приложений: JBoss, GlassFish.

Веб-сервис REST

Веб-сервис реализован средствами Java API for RESTful Web Services (JAX-RS), он позволяет запрашивать и изменять предоставленные приложением ресурсы в форматах JSON и XML. Веб-сервис доступен по пути /rest/, адреса ресурсов и ответы в целом аналогичны Spring-реализации.

Пример добавления автора запросом к ресурсу: POST /rest/authors в формате XML:

заголовок:   Content-Type: application/xml
Accept: application/xml
тело: <author>
<id>0</id>
<country>Россия</country>
<name>Лев Толстой</name>
</author>

Ответ приложения:

заголовок:   Status Code: 201 Created
Content-Type: application/xml
Location: http://library.jelasticloud.com/library/rest/authors/11
тело: <author>
<id>11</id>
<country>Россия</country>
<name>Лев Толстой</name>
</author>

About

Simpliest web-library: EJB, JSF, JAX-RS (2014)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published