Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РИС шпоры для печати.docx
Скачиваний:
29
Добавлен:
31.05.2022
Размер:
1.01 Mб
Скачать

34. Технология jsf Базовые концепции технологии и функциональные возможности jsf. События, типы и обработка событий в jsf. Навигация в jsf и типы навигации поддерживаемые в jsf. Ксюша

JavaServer Faces —фреймворк для веб-приложений. служит для того, чтобы облегчать разработку пользовательских интерфейсов для Java EE приложений. подход JSF основывается на использовании компонентов. Состояние компонентов пользовательского интерфейса сохраняется, когда пользователь запрашивает новую страницу и затем восстанавливается, если запрос повторяется.

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

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

2. Специальная библиотека JSP тегов для выражения интерфейса JSF на JSP странице.

Процесс создания приложения:

1)Объявление описание сервлета Faces в дескрипторе Web-приложения (файле web.xml)

2)Описание местонахождения файла faces-config.xml внутри web.xml

3)Создание класса

4)Объявление класса в файле faces-config.xml в качестве объекта JavaBean

5)Создание страницы index.jsp

6)Создание страниц .jsp

JSF теги.

f:param – создает параметр компонентов.

f:actionListener – добавляет слушателя действий для компонентов.

f:attribute – добавить атрибут компонента.

f:converter – добавляет произвольный преобразователь компонент.

f:valiolator – добавляет проверки для компонента.

JSF включает в себя механизм навигации, аналогичный Struts. За переход на определенную страницу отвечает обработчик навигации (navigation handler). Фреймворк JSF в сочетании с Facelets позволяет использовать как статическую навигацию, так и динамическую навигацию.

Для простых (безусловных) переходов используется статическая навигация. Это означает, что при нажатии на кнопку или ссылку всегда приводит к отображению конкретной, заранее заданной, JSF страницы. В качестве примера можно рассмотреть следующий код :

<h:commandButton label="Login" action="welcome"/>

В большинстве случаев навигация не является статической. Переход зависит не только от того, на какой кнопке выполнен щелчок, но и от того, какие определены входные данные. Например, отправка на сервер параметров авторизации в системе может иметь два результата: успешный и неудачный. Алгоритм обработки данных определен на сервере. Для обеспечения динамической навигации кнопка отправки должна иметь выражение метода (method expression). Пример динамической навигации :

<h:commandButton label="Авторизация" action="# {userController.verifyUser}"/>

35. Технология jsf. Функциональные возможности JavaServer Faces Процесс создания приложения (последовательность и назначение шагов создания). Жизненный цикл обработки запросов jsf. Яна

Функциональные возможности

Одним из величайших преимуществ технологии JavaServer Faces является то, что она предлагает чёткое разделение между поведением и представлением для веб-приложений. Приложение JavaServer Faces может сопоставлять HTTP-запросы с обработчиками событий для конкретного компонента и управлять компонентами как объектами с состоянием (stateful) на сервере. JavaServer Faces позволяет создавать веб-приложения, в которых реализовано более тонкое разделение поведения и представления, которое традиционно предлагается клиентскими архитектурами пользовательского интерфейса.

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

Другая важная цель 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 начинается, когда клиент делает HTTP-запрос на страницу, и заканчивается, когда сервер отвечает HTML-страницей.

Жизненный цикл можно разделить на две основные фазы: выполнение и отрисовку. Фаза выполнения дополнительно разделена на подфазы для поддержки дерева компонентов. Эта структура требует, чтобы данные компонента были конвертированы и провалидированы, события компонента были обработаны, а данные компонента были переданы в объекты бинов определённым образом.

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