JavaServer Faces
































JavaServer Faces
20110510-jsf-logo.tiff
Тип
Веб-фреймворк
Разработчик
Sun Microsystems
Написана на
Java
Операционная система
Кроссплатформенное ПО
Последняя версия
  • 2.2.13 (4 февраля 2016)[1]

Сайт
javaserverfaces.java.net
Commons-logo.svg JavaServer Faces на Викискладе

JavaServer Faces (JSF) — это Java спецификация для построения компонентно-ориентированных пользовательских интерфейсов для веб-приложений, написанный на Java. Он служит для того, чтобы облегчать разработку пользовательских интерфейсов для Java EE-приложений. В отличие от прочих MVC-фреймворков, которые управляются запросами, подход JSF основывается на использовании компонентов. Состояние компонентов пользовательского интерфейса сохраняется, когда пользователь запрашивает новую страницу и затем восстанавливается, если запрос повторяется. Для отображения данных обычно используется JSP, Facelets, но JSF можно приспособить и под другие технологии, например XUL.


Технология JavaServer Faces включает:



  • Набор API для представления компонентов пользовательского интерфейса (UI) и управления их состоянием, обработкой событий и валидацией вводимой информации, определения навигации, а также поддержку интернационализации (i18n) и доступности (accessibility).

  • Специальная библиотека JSP тегов для выражения интерфейса JSF на JSP странице. В JSF 2.0 в качестве обработчика представления используется технология Facelets которая пришла на замену JSP.


Созданная быть гибкой, технология JavaServer Faces усиливает существующие стандартные концепции пользовательского интерфейса (UI) и концепции Web-уровня без привязки разработчика к конкретному языку разметки, протоколу или клиентскому устройству. Классы компонентов пользовательского интерфейса, поставляемые вместе с технологией JavaServer Faces, содержат функциональность компонент, а не специфичное для клиента отображение, открывая тем самым возможность рендеринга JSF-компонент на различных клиентских устройствах. Совмещая функциональность компонент интерфейса пользователя со специальными рендерерами, разработчики могут конструировать специальные теги для заданного клиентского устройства. В качестве удобства технология JSF предоставляет специфичный рендерер и специальную библиотеку JSP-тегов для рендеринга на HTML-клиенте, позволяя разработчикам приложений на J2EE платформе использовать технологию JSF в своих приложениях.




Содержание






  • 1 Версии JSF


  • 2 Критика


  • 3 Библиотеки и компоненты


  • 4 См. также


  • 5 Примечания


  • 6 Ссылки


  • 7 Литература





Версии JSF |



  • JSF 1.0 (11.03.2004) — первоначальный выпуск по спецификации JSF

  • JSF 1.1 (27.05.2004) — исправление ошибок. Существенных изменений нет.

  • JSF 1.2 (11.05.2006) — исправление ошибок. Существенных изменений нет.

    • улучшения дают временное решение для проблемы спутанного контента[2]

    • обеспечивается XML Schema для файлов конфигурации вместо использования DTD

    • улучшения позволяют приложениям работать с многофреймовым или многооконным пользовательским интерфейсом.

    • улучшения библиотеки тегов f: для улучшения покрытия TCK, события жизненного цикла f: view и другие небольшие усовершенствования.

    • улучшенная поддержка декоратора для объектов API

    • процедура сохранения состояния клиента стала лучше защищена.

    • решена проблема двойного нажатия кнопки

    • спецификация переразбита на стандартную и нестандартную части, чтобы сделать реализацию проще

    • исправлены ошибки связанные с портлетами

    • небольшие исправления спецификации



  • JSF 2.0 (19.10.2009) — Основной пересмотр спецификации с учётом опыта разработки. Объединение с Java EE 6.

  • JSF 2.1 (22.11.2010) — Технический выпуск для поддержки JSF 2.0. Очень незначительное количество изменений по спецификации.

  • JSF 2.2 (21.05.2013) — Представлены новые концепции, такие как состояние "без состояния", поток страниц и возможность создания переносимых ресурсных контрактов.

  • JSF 2.3 (28.03.2017) — Основные возможности: поиск выражений, URL без расширений, проверка bean-компонентов для полных классов, push-сообщения с использованием WebSocket, улучшенная интеграция с CDI.



Критика |


JSF версий 1.* фактически не предоставлял высокоуровневой поддержки для обработки GET-запросов[3], что существенно усложняло разработку приложений, базирующихся на REST-принципах. Во второй версии спецификации этот недостаток практически полностью устранён.


Разработчик языка Java, Джеймс Гослинг, охарактеризовал технологию JSP, лежащую в основе JSF, как «проект-клон Microsoft ASP, который был создан, только чтобы продемонстрировать насколько сама подобная идея плоха; но модель почему-то отказалась умирать»[4].



Библиотеки и компоненты |



  • PrimeFaces

  • MyFaces

  • Tomahawk

  • Trinidad

  • Tobago

  • Orchestra

  • ICEFaces

  • OpenFaces


  • RichFaces[5]



См. также |


  • Сравнение каркасов веб-приложений


Примечания |





  1. https://javaserverfaces.java.net/nonav/2.2/releasenotes.html



  2. Hans Bergsten. Improving JSF by Dumping JSP (англ.) (9 июня 2004). Проверено 8 августа 2009. Архивировано 22 февраля 2012 года.


  3. Andy Schwartz Blog: What’s new in JSF2?


  4. James Gosling on Apple, Apache, Google, Oracle and the Future of Java. 0:48:22


  5. Домашняя страница RichFaces (англ.). Проверено 1 апреля 2010. Архивировано 22 февраля 2012 года.




Ссылки |




  • JavaServer Faces Technology (англ.)


  • Введение в Java Server Faces (рус.)


  • Введение в JavaServer Faces 1.2 на сайте ibm.com. (рус.)


  • Пример JSF приложения на Java (рус.)


  • Пример JSF-приложения для Tomcat (рус.)


  • Подборка статей о web-разработке на JSF (рус.)





Литература |


  • Дэвид М. Гери, Кей С. Хорстманн. JavaServer Faces. Библиотека профессионала = JavaServer Faces. CORE. — 3-е изд. — М.: Издательский дом "Вильямс", 2011. — 544 с. — ISBN 978-5-8459-1706-5, 978-0-13-701289-3.









Popular posts from this blog

Михайлов, Христо

Гороховецкий артиллерийский полигон

Центральная группа войск