Курсы High Tech

Internet и Web-разработка

JSF 2.3: технология разработки web-приложений в Java EE 8


Продолжительность: 40 ч    

Описание курса

Курс "JSF 2.3: технология разработки web-приложений в Java EE 8" состоит из логически связанных модулей, представляющих новую спецификацию JSF 2.3, позволяющие создавать быстрые, динамичные, с поддержкой AJAX, графические интерфейсы пользователя. Задача курса заключается в подготовке разработчиков Web-приложений для компании, а также переподготовке профессиональных разработчиков по новейшей спецификации Java Server Faces 2.3, являющейся стандартом для разработки web интерфейсов для Java EE7 приложений корпоративных систем.

Курс предназначен для разработчиков, уже знакомых с Web-технологиями Java Servlet и Java Server Pages (JSP).

Продвинутый уровень предназначен для разработчиков Web-приложений, нуждающихся в быстром освоении новейших технологических решений (профессиональных разработчиков подразделений R&D и смежных подразделений).

Экспертный уровень – для разработчиков и архитекторов, заинтересованных в быстром освоении специальных технологий, например, построение интерфейса пользователя, развитого в функциональном отношении, на базе JSF компонентов и HTML5.

Перед прослушиванием этого курса рекомендуется изучить курсы:

Java Standard Edition 9 (Java SE9). Язык программирования Java, базовый курс или часть 1;
Java Standard Edition 9 (Java SE9). Язык программирования Java, курс для слушателей, продолжающих изучение Java или часть 2.
После прослушивания данного курса рекомендуется изучить следующие курсы:

EJB 3.2, JPA 2.2 – технология разработки бизнес компонентов в Java EE8;
Разработка Java EE8 Web сервисов: SOAP (JAX-WS 2.2) и REST (JAX-RS 2.1)
При изучении курса используются IDE IntelliJ IDEA и NetBeans.

Программа курса

1. Введение в JSF

JSF как компонентная модель построения GUI для web-приложений.
JSF 2.3 как часть Java EE8, экосистема JSF, http://www.javaserverfaces.org/.
Проект Mojarra, https://javaee.github.io/javaserverfaces-spec/.
Простейшее JSF приложение "Hello, World!".

2. Архитектура JSF приложения

Архитектура Enterprise Java приложения, использующего JSF.
Страницы и компоненты, библиотеки тегов JSF, XML-совместимый код страниц.
Слой представления Facelets.
JSF Expression Language.
Рендеринг JSF страниц.
Конвертеры и Валидаторы.
Навигация в JSF приложении.
Поддержка запросов GET и "bookmarkable" адресов.
Создание композитных компонентов, новые события, view parameters, валидация.
Поддержка AJAX, WebSockets и Server Push.
Поддержка ресурсов – изображений, JavaScript, CSS.
Конфигурирование и размещение JSF приложений.

3. Обзор спецификации JSF 2.3, нововведения JSF 2.2 и JSF 2.3

Нововведения JSF 2.2: HTML5, переход к CDI, поддержка AJAX, управление очередью запросов AJAX, поддержка ресурсов в JSF 2.2, Faces Flow.
Нововведения JSF 2.3 – внедрение ссылок на JSF артефакты через CDI доступ к ним из EL, поддержка WebSockets, поддержка server push на основе Servlet 4.0.

4. JSF страница

Создание JSF страниц.
Управление ресурсами - изображения, JavaScript, CSS.
JSF Expression Language - EL.
Встроенные объекты.
Изучение тегов JSF 2.3.
Композитные компоненты.
Лабораторная работа.

5. Цикл жизни JSF приложения

Шаблон проектирования MVC и JSF.
Faces Servlet.
FacesContext.
Цикл жизни JSF приложения.
Интерфейс PhaseListener.
Флаг Immediate.
Проект FacesTrace (http://sourceforge.net/projects/facestrace/).

6. Managed Beans и CDI Beans

Managed Beans и CDI Beans, переход к CDI.
Примнение CDI с JSF, внедрение ссылок на артефакты, cферы видимости.
Применение Аннотаций, Resources Injection.
Связывание свойств Компонента и связывание Экземпляра компонента.
BeanValidation framework.
Лабораторная работа.

7. Конверсия данных в JSF приложении

Встроенные конвертеры.
Пользовательские конвертеры.
Лабораторная работа.

8. Навигация в JSF приложении

Механизм навигации в JSF приложении.
Написание метода управляющего навигацией.
Определение правил навигации.
Пример приложения.

9. Валидация в JSF приложении

Принципы валидации данных на стороне клиента и сервера.
Встроенные валидаторы.
Пользовательские валидаторы.
Показ ошибок.

10. Система событий в JSF приложении

Система событий в JSF 2.3.
Способы создания слушателей событий.
Создание value-changed и action слушателя.
Регистрация слушателя событий в компоненте.
Пример применения в приложении.

11. Поддержка AJAX в JSF 2.3

Поддержка AJAX в JSF 2.3.
Управление очередью запросов.

12. Поддержка Faces Flow в JSF 2.3

Поддержка Faces Flow в JSF 2.3.

13. Поддержка Server Push в JSF 2.3

Пример поддержки Server Push в JSF 2.3.

14. Локализация JSF приложения

Механизм локализации в JSF приложении.
Регистрация локализованных сообщений.

15. Рендеринг компонентов в JSF и пользовательские компоненты

Понимание рендеринга в JSF.
Создание и применение RenderKit.
Понимание пользовательских компонентов JSF.
Пример разработки пользовательского компонента, шаги, необходимые для создания пользовательского компонента.
Делегирование рендеринга.
Поддержка событий пользовательского компонента.
Создание класса тега компонента и определение тега в библиотеке тегов.

16. Реализации JSF

Проекты PrimeFaces, OpenFaces, RichFaces, IceFaces