Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Простое приложение JavaServer Faces

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

  • Создание веб-страниц с использованием тегов

  • Разработка Managed-бинов

  • Отображение объекта FacesServlet

Пример hello1 включает в себя Managed-бин и две веб-страницы Facelets. При обращении клиента первая веб-страница запрашивает у пользователя его имя, а вторая отвечает сообщением приветствия.

Подробнее о технологии Facelets см. главу 8 «Введение в Facelets». Подробнее об использовании выражений EL см. главу 9 «Язык выражений». Подробнее о программной модели JavaServer Faces и создании веб-страниц с использованием JavaServer Faces см. главу 10 «Использование JavaServer Faces на веб-страницах».

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

По умолчанию JavaServer Faces автоматически выполняет большинство действий на протяжении жизненного цикла. Тем не менее, он также предоставляет различные этапы жизненного цикла запроса, чтобы можно было изменять или выполнять различные действия, если этого требуют особенности приложения.

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

В фазе выполнения могут выполняться несколько действий.

  • Собирается или восстанавливается представление приложения.

  • Применяются значения параметров запроса.

  • Выполняются преобразование и валидация значений компонентов.

  • Managed-бины обновляются значениями компонентов.

  • Отрабатывает логика приложения.

Для первого (начального) запроса строится только представление. Для последующих запросов могут выполняться некоторые или все другие действия.

На этапе отрисовки запрошенное представление отображается как ответ клиенту. Отрисовка обычно представляет собой процесс генерации вывода, такого как HTML или XHTML, который может быть прочитан клиентом, обычно браузером.

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

Приложение hello1 проходит следующие этапы при его развёртывании на GlassFish Server.

  1. Когда приложение hello1 собрано и развёрнуто на GlassFish Server, приложение находится в неинициализированном состоянии.

  2. Когда клиент делает начальный запрос веб-страницы index.xhtml, приложение Facelets hello1 Facelets компилируется.

  3. Скомпилированное приложение Facelets выполняется, для приложения hello1 создаётся новое дерево компонентов и помещается в FacesContext.

  4. Дерево компонентов заполняется компонентом и связанным с ним свойством Managed-бина, представленным выражением EL hello.name.

  5. Новый вид строится на основе дерева компонентов.

  6. Представление отрисовывается и передаётся запрашивающему клиенту в качестве ответа.

  7. Дерево компонентов автоматически уничтожается.

  8. При последующих запросах дерево компонентов строится вновь и применяется сохранённое состояние.

Для получения полной информации о жизненном цикле см. Жизненный цикл приложения JavaServer Faces.


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)