Технология JSF предназначена для разработки, сборки UI компонентов и их использования в веб-приложении. Данный фреймворк основан на архитектуре Model View Controller (MVC).
Архитектура Model View Controller
Модуль | Описание |
---|---|
Model | Хранит данные |
View | Отображает пользовательский интерфейс (UI) |
Controller | Отвечает за обработку событий приложения |
Цель данной архитектуры заключается в разделении модели и представления приложения, что позволяет нам возможность изменять функционал без изменения внешнего вида приложения и наоборот.
Другими словами, данная модель крайне облегчает рефакторинг приложения.
Архитектура JSF
Приложение, созданное с помощью JSF крайне схоже с другими веб-приложениями, которые основаны с помощью Java технологий.
Такое веб-приложение содрержит:
- JavaBean компоненты, которые являеются моделью и содержат базовые сущности и бизнес-логику пирложения.
- Библиотеку тегов для обработки UI компонентов.
- Библиотеку тегов для представления обработчиков и валидаторов.
- Серверные классы-помощники.
- Конфигурационные файлы приложения для конфигурирования ресурсов приложения.
- Валидаторы, обработчики событий и обработчики навигации.
Схематически мы можем отобразить JSF приложение следующим образом:
Мы видим контроллеры, который используются для представления действий пользователя. UI может быть представлен веб-страницей, а бизнес-логика – управляющими бинами (managed beans).
JSF предосталяет несколько механизмов для обработки отдельных компонентов. Дизайнер может выбирать желаемое отображение, а back end разработчик может и не знать, какой именно механизм обработки UI компонентов был выбран.
На этом мы заканчиваем изучение архитектуры JSF.
В следующей статье мы рассмотрим жизненный цикл JSF приложения.