SlideShare a Scribd company logo
Spring и JSF
План урока
• Ключевое различие фреймворков
• Типы интеграции:
• Spring-centric integration
• JSF-centric integration
• Настройка контекста:
• DelegatingVariableResolver
• SpringBeanFacesELResolver
• RequestContextListener
• Spring Faces
• Spring Roo
Проблема
• Как использовать Spring MVC с более удобным UI фреймворком?
• Как заменить JSP более современным решением?
Различия фреймворков
• JSF: Компонентно-ориентированный подход
• Spring: Запрос-ориентированный подход
Вопрос
• Чей сервлет будет обрабатывать клиентские запросы?
• FacesServlet
• DispatcherServlet
• Два типа интеграции:
• Spring-centric integration (Spring MVC + JSF View)
• JSF-centric integration (Spring Core + JSF)
JSF-centric integration
• Интеграция на уровне бинов:
• Бины Spring заменяют JSF Managed Bean
• JSF Managed Bean используют бины Spring
JSF-centric integration
• Интеграция на уровне бинов:
• Бины Spring заменяют JSF Managed Bean
• JSF Managed Bean используют бины Spring
Варианты интеграции для JSF-centric
JSF (JSP, Facelets)
ManagedBean
SpringBean
JSF (JSP, Facelets)
SpringBean
Вопрос
• Что использовать: view mapping или JSF navigation?
• ApplicationContext и WebApplicationContext
Домашнее задание
• Прочитать:
• 18. Integrating with other web frameworks
• http://www.beyondjava.net/blog/integrate-jsf-2-spring-3-nicely/
• Прочитать о проекте Spring Roo:
• http://projects.spring.io/spring-roo/
• http://java.dzone.com/articles/when-use-spring-roo
• Начать изучение:
• http://docs.spring.io/autorepo/docs/webflow/current/reference/pdf/spring-webflow-reference.pdf
• Изучить пример:
• http://appfuse.org/display/APF/Using+JSF

More Related Content

PDF
141 - Spring. Добавление контроллеров Spring MVC
PDF
130 - Spring WebFlow. Создание проекта
PDF
131 - Spring. Переход между страницами
PDF
Rambler.iOS #5: TDD и VIPER
PPTX
QA Fest 2016. Татьяна Люлюченко. Немного о мобильных браузерах
PDF
Rambler.iOS #1: Nimbus Kit Models
PDF
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
PPTX
Redux и изоморфные приложения
141 - Spring. Добавление контроллеров Spring MVC
130 - Spring WebFlow. Создание проекта
131 - Spring. Переход между страницами
Rambler.iOS #5: TDD и VIPER
QA Fest 2016. Татьяна Люлюченко. Немного о мобильных браузерах
Rambler.iOS #1: Nimbus Kit Models
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Redux и изоморфные приложения

What's hot (20)

PDF
React + Redux. Опыт использования
PDF
Будущее ASP.NET
PPT
AngularJS basics & theory
PDF
Как и зачем мы тестируем UI
PPTX
ASP.NET MVC
PPTX
ASP.NET, MVC, ASP.NET MVC
PPTX
Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительн...
PPTX
PDF
139 - Spring. Добавление JavaScript
PPTX
ASP.NET MVC 4
PPT
MVC CTPP
PDF
A.pleshkov
PDF
Rambler.iOS #5: VIPER a la Rambler
PPTX
Система управления требованиями Devprom alm 3.5
PDF
#5 "React.js" Антон Артамонов
PDF
Abf
PPT
API: взгляд потребителя
PDF
React.js – intro
PPTX
Meet Magento Belarus - Alexander Kaigorodov
PDF
aOS Moscow - R2 - PnP provisioning engine in the wild
React + Redux. Опыт использования
Будущее ASP.NET
AngularJS basics & theory
Как и зачем мы тестируем UI
ASP.NET MVC
ASP.NET, MVC, ASP.NET MVC
Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительн...
139 - Spring. Добавление JavaScript
ASP.NET MVC 4
MVC CTPP
A.pleshkov
Rambler.iOS #5: VIPER a la Rambler
Система управления требованиями Devprom alm 3.5
#5 "React.js" Антон Артамонов
Abf
API: взгляд потребителя
React.js – intro
Meet Magento Belarus - Alexander Kaigorodov
aOS Moscow - R2 - PnP provisioning engine in the wild
Ad

Viewers also liked (20)

PPTX
Konstantin slisenko - Spring Framework
PDF
17 - Web-технологии. Real Time сообщения
PDF
142 - Spring. Вызов потока из контроллера
PDF
67 - Spring. Начальные знания
PDF
Spring the Ripper by Evgeny Borisov
PDF
07 - Web-технологии. Web-сервера
PDF
Разработка Enterprise-приложения на основе Spring Framework
PDF
16 - Web-технологии. Технология AJAX
PDF
12 - Web-технологии. Django модели
PDF
09 - Web-технологии. MVC фреймворки
PDF
11 - Web-технологии. Работа с СУБД
PDF
08 - Web-технологии. Архитектура frontend-backend
PDF
Apache Camel + Apache ActiveMQ persistence
PDF
15 - Web-технологии. Сессии и авторизация
PDF
14 - Web-технологии. Обработка форм
PDF
13 - Web-технологии. Отображение данных
PDF
06 - Web-технологии. Протокол HTTP
PDF
05 - Web-технологии. Сетевые протоколы
PPTX
Проблемы производительности open source библиотек
PPT
Spring in java
Konstantin slisenko - Spring Framework
17 - Web-технологии. Real Time сообщения
142 - Spring. Вызов потока из контроллера
67 - Spring. Начальные знания
Spring the Ripper by Evgeny Borisov
07 - Web-технологии. Web-сервера
Разработка Enterprise-приложения на основе Spring Framework
16 - Web-технологии. Технология AJAX
12 - Web-технологии. Django модели
09 - Web-технологии. MVC фреймворки
11 - Web-технологии. Работа с СУБД
08 - Web-технологии. Архитектура frontend-backend
Apache Camel + Apache ActiveMQ persistence
15 - Web-технологии. Сессии и авторизация
14 - Web-технологии. Обработка форм
13 - Web-технологии. Отображение данных
06 - Web-технологии. Протокол HTTP
05 - Web-технологии. Сетевые протоколы
Проблемы производительности open source библиотек
Spring in java
Ad

More from Roman Brovko (20)

PDF
Individual task Networking
PPTX
Networking essentials lect3
PPTX
Gl embedded starterkit_ethernet
PPTX
Networking essentials lect2
PPTX
Networking essentials lect1
PPTX
Bare metal training_07_spi_flash
PPTX
Bare metal training_06_I2C
PPTX
Glesk worshop
PPTX
Bare metal training_05_uart
PPTX
Bare metal training_04_adc_temp_sensor
PPTX
Bare metal training_03_timers_pwm
PPTX
Bare metal training_02_le_ds_and_buttons
PPTX
Bare metal training_01_hello_world
PPTX
Bare metal training_00_prerequisites
PPTX
C language lect_23_advanced
PPTX
C language lect_22_advanced
PPTX
C language lect_21_advanced
PPTX
подготовка рабочего окружения
PPTX
C language lect_20_advanced
PPTX
C language lect_19_basics
Individual task Networking
Networking essentials lect3
Gl embedded starterkit_ethernet
Networking essentials lect2
Networking essentials lect1
Bare metal training_07_spi_flash
Bare metal training_06_I2C
Glesk worshop
Bare metal training_05_uart
Bare metal training_04_adc_temp_sensor
Bare metal training_03_timers_pwm
Bare metal training_02_le_ds_and_buttons
Bare metal training_01_hello_world
Bare metal training_00_prerequisites
C language lect_23_advanced
C language lect_22_advanced
C language lect_21_advanced
подготовка рабочего окружения
C language lect_20_advanced
C language lect_19_basics

66 - Spring. Spring и JSF

  • 2. План урока • Ключевое различие фреймворков • Типы интеграции: • Spring-centric integration • JSF-centric integration • Настройка контекста: • DelegatingVariableResolver • SpringBeanFacesELResolver • RequestContextListener • Spring Faces • Spring Roo
  • 3. Проблема • Как использовать Spring MVC с более удобным UI фреймворком? • Как заменить JSP более современным решением?
  • 4. Различия фреймворков • JSF: Компонентно-ориентированный подход • Spring: Запрос-ориентированный подход
  • 5. Вопрос • Чей сервлет будет обрабатывать клиентские запросы? • FacesServlet • DispatcherServlet • Два типа интеграции: • Spring-centric integration (Spring MVC + JSF View) • JSF-centric integration (Spring Core + JSF)
  • 6. JSF-centric integration • Интеграция на уровне бинов: • Бины Spring заменяют JSF Managed Bean • JSF Managed Bean используют бины Spring
  • 7. JSF-centric integration • Интеграция на уровне бинов: • Бины Spring заменяют JSF Managed Bean • JSF Managed Bean используют бины Spring
  • 8. Варианты интеграции для JSF-centric JSF (JSP, Facelets) ManagedBean SpringBean JSF (JSP, Facelets) SpringBean
  • 9. Вопрос • Что использовать: view mapping или JSF navigation? • ApplicationContext и WebApplicationContext
  • 10. Домашнее задание • Прочитать: • 18. Integrating with other web frameworks • http://www.beyondjava.net/blog/integrate-jsf-2-spring-3-nicely/ • Прочитать о проекте Spring Roo: • http://projects.spring.io/spring-roo/ • http://java.dzone.com/articles/when-use-spring-roo • Начать изучение: • http://docs.spring.io/autorepo/docs/webflow/current/reference/pdf/spring-webflow-reference.pdf • Изучить пример: • http://appfuse.org/display/APF/Using+JSF