JavaServer Faces

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Omicrown (обсуждение | вклад) в 15:54, 25 сентября 2013 (Изменил ссылку со страницы неоднозначности на непосредственно страницу про Model-View-Controller). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
JavaServer Faces
Файл:20110510-jsf-logo.png
Тип Веб-фреймворк
Автор Sun Microsystems
Разработчик Sun Microsystems
Написана на Java
Операционная система Кроссплатформенное ПО
Аппаратная платформа Java Platform, Enterprise Edition
Последняя версия 2.1.21 (9 апреля 2013 года)
Репозиторий github.com/jakartaee/fac…
Лицензия EPL-2.0[вд] и GPL linking exception[вд]
Сайт JSF web site  (англ.)
Логотип Викисклада Медиафайлы на Викискладе

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

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

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

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

Версии JSF

  • JSF 1.0 (11.03.2004) — первоначальный релиз по спецификации JSF
  • JSF 1.1 (27.05.2004) — исправление ошибок. Существенных изменений нет.
  • JSF 1.2 (11.05.2006) — исправление ошибок. Существенных изменений нет.
    • улучшения дают временное решение для проблемы спутанного контента[1]
    • обеспечивается XML Schema для файлов конфигурации вместо использования DTD
    • улучшения позволяют приложениям работать с многофреймовым или многооконным пользовательским интерфейсом.
    • улучшения библиотеки тегов f: для улучшения покрытия TCK, события жизненного цикла f: view и другие небольшие усовершенствования.
    • улучшенная поддержка декоратора для объектов API
    • процедура cохранения состояния клиента стала лучше защищена.
    • решена проблема двойного нажатия кнопки
    • спецификация переразбита на стандартную и нестандартную части, чтобы сделать реализацию проще
    • исправлены ошибки связанные с портлетами
    • небольшие исправления спецификации
  • JSF 2.0 (19.10.2009) — последний на данный момент релиз. Основной пересмотр спецификации с учётом опыта разработки. Объединение с Java EE 6.

Критика

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

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

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

Примечания

  1. Hans Bergsten. Improving JSF by Dumping JSP (англ.) (9 июня 2004). Дата обращения: 8 августа 2009. Архивировано 22 февраля 2012 года.
  2. Andy Schwartz Blog: What’s new in JSF2?
  3. James Gosling on Apple, Apache, Google, Oracle and the Future of Java. 0:48:22
  4. Домашняя страница RichFaces (англ.). Дата обращения: 1 апреля 2010. Архивировано 22 февраля 2012 года.

Ссылки

Литература

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


Шаблон:Фреймворки для веб приложений