Введение в жизненный цикл JSF

1. Серверная сторона:

Код, который вы пишете в приложении JavaServer Faces (JSF), выполняется на сервере, но компоненты могут также включать код JavaScript, который выполняется на клиенте. Вы можете противопоставить это инфраструктуре на стороне клиента, такой как Angular, где вы пишете код на JavaScript или Typescript, который выполняется на стороне клиента в веб-браузере.

Тот факт, что это серверная структура, не означает, что вы не можете использовать клиентский код в приложении JSF. Фактически, компоненты JSF могут включать поддержку JavaScript и JSF для AJAX, для связи, командный код на стороне клиента и на стороне сервера.

2. На основе компонентов:

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

Наиболее интересный аспект JavaServer Faces, который отличает его от основанных на действии сред веб-приложений, таких как Spring Web MVC (Model-View-Controller), Struts или простые сервлеты на страницах JavaServer, заключается в том, что он основан на компонентах. Это означает, что в JSF строительные блоки вашего приложения представляют собой повторно используемые и автономные компоненты.

Компонент может быть любой частью веб-приложения. Это может быть простой элемент управления HTML-формой, такой как поле ввода текста или кнопка, или сложная таблица с поддержкой сортировки и разбиения на страницы.

Например:

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

JSF поставляется с несколькими стандартными компонентами, а также доступны библиотеки со многими готовыми к использованию компонентами.

3. Структура веб-интерфейса

JavaServer Faces ориентирован на часть пользовательского интерфейса веб-приложений - вы определяете страницы на языке определения представлений Facelets.

Стандартный язык определения представления, используемый в JSF, называется Facelets.

Различные регулярные фазы жизненного цикла JSF

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

1. Восстановление фазы просмотра

Этот этап начинается каждый раз, когда потребитель запрашивает страницу JSF, просто щелкая ссылку, кнопку и т. Д. При создании этого представления страницы выполняется привязка компонентов к обработчикам и валидаторам событий, а также сохраняется представление в объекте FacesContext.

2. Применить значение запроса

Цель этого этапа - для каждого компонента получить текущее состояние.

3. Этап валидации процесса

На этом этапе локальные значения, хранящиеся для получения компонента в дереве, будут сравниваться с правилами валидации, разрешенными для получения компонентов.

4. Фаза обновления значений модели

После проверки того, что данные действительны на последнем этапе, можно запустить локальные значения элементов, связанных со свойствами объекта на основе сервера, например, с компонентами поддержки.

5. Вызовите фазу приложения

Перед этим этапом значения компонентов были преобразованы, проверены, а также помещены в объекты bean-компонента, чтобы их можно было использовать для выполнения бизнес-логики приложения.

6. Визуализация фазы ответа

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

Понимание Faces Flows с демонстрационным приложением на примере реальной жизни

Ниже приведено демонстрационное приложение потоков лица с примером:

Процесс оформления заказа

  • Введите детали доставки
  • Имя и адрес
  • Введите данные платежа
  • Имя, тип и номер кредитной карты
  • Просмотреть заказ
  • Подтвердите или отмените заказ
  • Платеж завершен или не выполнен

Давайте посмотрим Поток проверки с узлами потока на диаграмме ниже.

Поток состоит из нескольких узлов. Каждый узел входит в поток, который выполняет некоторую функцию, и он определяет, какой узел должен быть вызван следующим. В определении потока вы определяете узлы и правила для навигации между ними. На этой диаграмме вы видите узлы потока оформления заказа.

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

Виды потоковых узлов в жизненном цикле JSF

В жизненном цикле JSF есть пять различных типов узлов.

Просмотр узла

  • Показать представление (страницу)

Узел вызова метода

  • Вызвать метод

Переключить узел

  • Выберите один из серии случаев

Возвратный узел

  • Конец потока

Узел вызова потока

  • Позвони в другой поток

Потоки похожи на методы

Ниже приведены похожие методы потока в жизненном цикле JSF:

Точка входа, Параметры, Точки выхода

  • Может вернуть одно или несколько значений

Объем потока

  • Bean-объекты в области потока похожи на локальные переменные

Вложенные вызовы потока

  • Стек вызовов

Стек вызовов используется для отслеживания вызовов и областей действия потоков, точно так же, как он работает с методом. Когда вызывается поток, новая запись помещается в стек, а когда поток возвращается, его запись извлекается из стека. Есть два способа указать конфигурацию потока.

XML-файл конфигурации

  • В лицах-config.xml или в отдельном файле

В Java с помощью API Flow Builder

  • Метод создания CDI с аннотацией @FlowDefinition

Вывод: жизненный цикл JSF

Java Server Faces (JSF) - это стандартная концепция для создания веб-приложений на Java. Тем не менее, как в процессе разработки, так и при развертывании приложений JSF, существует множество характеристик и конфигураций, которые необходимо применять, чтобы сделать приложения более безопасными, надежными и эффективными.

Рекомендуемые статьи

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

  1. JSP против JSF - главные отличия
  2. Java EE против Spring
  3. Интервью с сервлетами Java
  4. Карьера на Яве