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

33. Технология jsf. Архитектура jsf, состав и взаимодействие элементов архитектуры. Классы компонентов jsf. Рендеринг и библиотека jsp-тегов. Лиза

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

Хотя JSF 2 по своей сути является компонентно-ориентированной платформой, однако с её помощью можно писать и MVC ориентированные приложения.

При этом модель (Model) – это коллекция классов, которые служат для сохранения, изменения и получения данных; представление (View) – это jsf страница в xhtml формате; поведение (Controller) – это managed bean, который интерпретирует данные, введённые пользователем, и информирует модель о необходимости соответствующей реакции. JSF также хорошо интегрируется со Spring.

В JSF встречаются два вида запросов от клиента:

Первый запрос (initial request) - пользователь запрашивает страницу в первый раз

Postback - отправка формы со страницы, которая была показана при первом запросе

Существует 4 варианта запросов / ответов, которые можно встретить, работая с JSF платформой:

1. Не JSF запрос - не JSF ответ (например: servlet -> servlet/jsp...)

2. Не JSF запрос - JSF ответ (например: servlet -> jsf страница)

3. JSF запрос - не JSF ответ (например: jsf страница -> отдать zip файл)

4. JSF запрос - JSF ответ (например: jsf страница -> jsf страница)

Жизненный цикл обработки запроса в приложениях JSF состоит из следующих фаз:

1)Восстановление представления (запрос поступает на вход сервлета FacesServlet. Последний анализирует данные запроса и извлекает идентификатор представления, определяемый именем страницы JSP);

2)Использование параметров запроса; обработка событий (получение данных о состоянии каждого компонента)

3)Проверка данных; обработка событий (Конвертация и валидация данных, как правило, выполняются в фазе проверки данных)

4)Обновление данных модели; обработка событий (обновление данных модели путем изменения свойств серверных объектов JavaBean)

5)Вызов приложения; обработка событий (вызывает приложение для обработки данных, полученных через форму)

6)Вывод результата (вывод представления вместе со всеми его компонентами и их текущими состояниями)

Ре́ндеринг (rendering - «визуализация») - термин в компьютерной графике, обозначающий процесс получения изображения по модели с помощью компьютерной программы.

Стандартная библиотека тегов JSP (JSTL)

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

JSTL включает поддержку часто используемых структурированных задач, таких как итерирование и условные выражения, теги для работы с документами XML, теги для интернационализации и теги для работы с SQL. Эта библиотека также предлагает концепцию языка выражений для упрощения разработки страниц и включает в себя предварительную версию языка выражений JSP. JSTL также содержит каркас для интеграции существующих пользовательских тегов с стандартными тегами JSTL.