SlideShare a Scribd company logo
1 of 10
JSF
Java Server Faces / ddemirel - 08062017
Konular
▪ Neden?
▪ Nedir?
▪ State management(server/client)
▪ Manged beans
▪ Unified Expression Language
▪ MVC - Faces Servlet
▪ Request Lifecycle
▪ Component Libraries
Request Lifecycle
▪ Restore View
▪ Apply Request Values
▪ Process Validations
▪ Bean Validation
▪ Update Model Values
▪ Invoke Application
▪ Render Response
Request Lifecycle
Configuration
▪ Web.xml
▪ Faces-config.xml
Tags/Components
▪ h=http://java.sun.com/jsf/html, f="http://java.sun.com/jsf/core"
▪ F prefix : functions (f:param, f:convertDateTime…)
▪ H prefix : HTML components (h:form, h:commandButton)
▪ Third party components (primefaces ; p:dataTable)
Managed Beans/Backing Beans
▪ Componentleri kontrol etmek ve yönetmek için kullanılırlar
▪ Data binding, action listeners, validation, conversion, navigtion vb.
▪ Requestler ile gelen datayı, kullanıcı sessionlarını veya uygulamayı yönetmeyi
sağlar
▪ Farklı sürelerde yaşayabilirler
▪ Request, view, session, application
Expression Language
▪ XHTML içersinde Managed Bean’lere erişmeyi, kullanmayı sağlar
▪ <h:inputText value = «#{managedBean.field}»/>
▪ <h:commandButton actionListener = «#{managedBean.listener()}»/>
▪ …
Navigation Model
▪ JSF sayfaları arasında dolanmak için action’lar üretmek gerekir.
▪ Actionlar farklı şekillerde üretilebilir
▪ CommandButton’un action özelliğine String dönen bir metod bind edilirse ve metoddan bir XHTML
file dönerse sayfa o XHTML sayfasına yönlenir
▪ Action özelliğine doğrudan bir XHTML dosyasının adı yazılabilir
▪ Faces-redirect=true/false
▪ Flash Scope ; sayfalar arası geçişlerde server sideda veri taşımaya yardımcı olur
Yenilikler
▪ Conversation Scope(2.2)
▪ HTML5(2.2)
▪ Stateless views(2.2)
▪ CSRF Protection(2.2)
▪ WebSocket Integration(2.3)

More Related Content

Similar to Java Server Faces

Java ee kursu-bahcelievler
Java ee kursu-bahcelievlerJava ee kursu-bahcelievler
Java ee kursu-bahcelievlersersld60
 
Java ee kursu-avcilar
Java ee kursu-avcilarJava ee kursu-avcilar
Java ee kursu-avcilarsersld60
 
Java ee kursu-cekmekoy
Java ee kursu-cekmekoyJava ee kursu-cekmekoy
Java ee kursu-cekmekoysersld60
 
Java ee kursu-sultanbeyli
Java ee kursu-sultanbeyliJava ee kursu-sultanbeyli
Java ee kursu-sultanbeylisersld60
 
Java ee kursu-kartal
Java ee kursu-kartalJava ee kursu-kartal
Java ee kursu-kartalsersld60
 
Java ee kursu-silivri
Java ee kursu-silivriJava ee kursu-silivri
Java ee kursu-silivrisersld60
 
Java ee kursu-kayseri
Java ee kursu-kayseriJava ee kursu-kayseri
Java ee kursu-kayserisersld60
 
Java ee kursu-beyoglu
Java ee kursu-beyogluJava ee kursu-beyoglu
Java ee kursu-beyoglusersld60
 
Java ee kursu-antalya
Java ee kursu-antalyaJava ee kursu-antalya
Java ee kursu-antalyasersld60
 
Java ee kursu-gungoren
Java ee kursu-gungorenJava ee kursu-gungoren
Java ee kursu-gungorensersld60
 
Java ee kursu-esenler
Java ee kursu-esenlerJava ee kursu-esenler
Java ee kursu-esenlersersld60
 
Java ee kursu-fatih
Java ee kursu-fatihJava ee kursu-fatih
Java ee kursu-fatihsersld60
 
Java ee kursu-atasehir
Java ee kursu-atasehirJava ee kursu-atasehir
Java ee kursu-atasehirsersld60
 
Java ee kursu-pendik
Java ee kursu-pendikJava ee kursu-pendik
Java ee kursu-pendiksersld60
 
Java ee kursu-levent
Java ee kursu-leventJava ee kursu-levent
Java ee kursu-leventsersld60
 
Java ee kursu-kocaeli
Java ee kursu-kocaeliJava ee kursu-kocaeli
Java ee kursu-kocaelisersld60
 
Java ee kursu-erzurum
Java ee kursu-erzurumJava ee kursu-erzurum
Java ee kursu-erzurumsersld60
 
Java ee kursu-umraniye
Java ee kursu-umraniyeJava ee kursu-umraniye
Java ee kursu-umraniyesersld60
 
Java ee kursu-sakarya
Java ee kursu-sakaryaJava ee kursu-sakarya
Java ee kursu-sakaryasersld60
 
Java ee kursu-esenyurt
Java ee kursu-esenyurtJava ee kursu-esenyurt
Java ee kursu-esenyurtsersld60
 

Similar to Java Server Faces (20)

Java ee kursu-bahcelievler
Java ee kursu-bahcelievlerJava ee kursu-bahcelievler
Java ee kursu-bahcelievler
 
Java ee kursu-avcilar
Java ee kursu-avcilarJava ee kursu-avcilar
Java ee kursu-avcilar
 
Java ee kursu-cekmekoy
Java ee kursu-cekmekoyJava ee kursu-cekmekoy
Java ee kursu-cekmekoy
 
Java ee kursu-sultanbeyli
Java ee kursu-sultanbeyliJava ee kursu-sultanbeyli
Java ee kursu-sultanbeyli
 
Java ee kursu-kartal
Java ee kursu-kartalJava ee kursu-kartal
Java ee kursu-kartal
 
Java ee kursu-silivri
Java ee kursu-silivriJava ee kursu-silivri
Java ee kursu-silivri
 
Java ee kursu-kayseri
Java ee kursu-kayseriJava ee kursu-kayseri
Java ee kursu-kayseri
 
Java ee kursu-beyoglu
Java ee kursu-beyogluJava ee kursu-beyoglu
Java ee kursu-beyoglu
 
Java ee kursu-antalya
Java ee kursu-antalyaJava ee kursu-antalya
Java ee kursu-antalya
 
Java ee kursu-gungoren
Java ee kursu-gungorenJava ee kursu-gungoren
Java ee kursu-gungoren
 
Java ee kursu-esenler
Java ee kursu-esenlerJava ee kursu-esenler
Java ee kursu-esenler
 
Java ee kursu-fatih
Java ee kursu-fatihJava ee kursu-fatih
Java ee kursu-fatih
 
Java ee kursu-atasehir
Java ee kursu-atasehirJava ee kursu-atasehir
Java ee kursu-atasehir
 
Java ee kursu-pendik
Java ee kursu-pendikJava ee kursu-pendik
Java ee kursu-pendik
 
Java ee kursu-levent
Java ee kursu-leventJava ee kursu-levent
Java ee kursu-levent
 
Java ee kursu-kocaeli
Java ee kursu-kocaeliJava ee kursu-kocaeli
Java ee kursu-kocaeli
 
Java ee kursu-erzurum
Java ee kursu-erzurumJava ee kursu-erzurum
Java ee kursu-erzurum
 
Java ee kursu-umraniye
Java ee kursu-umraniyeJava ee kursu-umraniye
Java ee kursu-umraniye
 
Java ee kursu-sakarya
Java ee kursu-sakaryaJava ee kursu-sakarya
Java ee kursu-sakarya
 
Java ee kursu-esenyurt
Java ee kursu-esenyurtJava ee kursu-esenyurt
Java ee kursu-esenyurt
 

More from Dilaver Demirel

More from Dilaver Demirel (15)

Git - Code Versiyon Yönetim Sistemi
Git - Code Versiyon Yönetim SistemiGit - Code Versiyon Yönetim Sistemi
Git - Code Versiyon Yönetim Sistemi
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Unit test
Unit testUnit test
Unit test
 
12factor apps
12factor apps12factor apps
12factor apps
 
Software/Yazılım Test
Software/Yazılım TestSoftware/Yazılım Test
Software/Yazılım Test
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Yazılım Prensipleri ve Code Review Check List
Yazılım Prensipleri ve Code Review Check ListYazılım Prensipleri ve Code Review Check List
Yazılım Prensipleri ve Code Review Check List
 
Oracle Weblogic Server
Oracle Weblogic ServerOracle Weblogic Server
Oracle Weblogic Server
 
Pentaho BI
Pentaho BIPentaho BI
Pentaho BI
 
JVM ve VisualVm
JVM ve VisualVmJVM ve VisualVm
JVM ve VisualVm
 
Apache Maven
Apache MavenApache Maven
Apache Maven
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
NodeJS ve MongoDB
NodeJS ve MongoDBNodeJS ve MongoDB
NodeJS ve MongoDB
 
NodeJS Nedir
NodeJS NedirNodeJS Nedir
NodeJS Nedir
 
Jpa
JpaJpa
Jpa
 

Java Server Faces

  • 1. JSF Java Server Faces / ddemirel - 08062017
  • 2. Konular ▪ Neden? ▪ Nedir? ▪ State management(server/client) ▪ Manged beans ▪ Unified Expression Language ▪ MVC - Faces Servlet ▪ Request Lifecycle ▪ Component Libraries
  • 3. Request Lifecycle ▪ Restore View ▪ Apply Request Values ▪ Process Validations ▪ Bean Validation ▪ Update Model Values ▪ Invoke Application ▪ Render Response
  • 6. Tags/Components ▪ h=http://java.sun.com/jsf/html, f="http://java.sun.com/jsf/core" ▪ F prefix : functions (f:param, f:convertDateTime…) ▪ H prefix : HTML components (h:form, h:commandButton) ▪ Third party components (primefaces ; p:dataTable)
  • 7. Managed Beans/Backing Beans ▪ Componentleri kontrol etmek ve yönetmek için kullanılırlar ▪ Data binding, action listeners, validation, conversion, navigtion vb. ▪ Requestler ile gelen datayı, kullanıcı sessionlarını veya uygulamayı yönetmeyi sağlar ▪ Farklı sürelerde yaşayabilirler ▪ Request, view, session, application
  • 8. Expression Language ▪ XHTML içersinde Managed Bean’lere erişmeyi, kullanmayı sağlar ▪ <h:inputText value = «#{managedBean.field}»/> ▪ <h:commandButton actionListener = «#{managedBean.listener()}»/> ▪ …
  • 9. Navigation Model ▪ JSF sayfaları arasında dolanmak için action’lar üretmek gerekir. ▪ Actionlar farklı şekillerde üretilebilir ▪ CommandButton’un action özelliğine String dönen bir metod bind edilirse ve metoddan bir XHTML file dönerse sayfa o XHTML sayfasına yönlenir ▪ Action özelliğine doğrudan bir XHTML dosyasının adı yazılabilir ▪ Faces-redirect=true/false ▪ Flash Scope ; sayfalar arası geçişlerde server sideda veri taşımaya yardımcı olur
  • 10. Yenilikler ▪ Conversation Scope(2.2) ▪ HTML5(2.2) ▪ Stateless views(2.2) ▪ CSRF Protection(2.2) ▪ WebSocket Integration(2.3)