JSF: Introdução ao
Java Server Faces
Willian Massami Watanabe
1
Controller
ViewModel
Requisição
HTTP
Consulta as regras
de negócios
Envia resposta
HTML, JSON,
XML
MVC - Model View Controller
Controller
ViewModel
Requisição
HTTP
Consulta as regras
de negócios
Envia resposta
HTML, JSON,
XML
Controller
ViewModel
Requisição
HTTP
Consulta as regras
de negócios
Envia resposta
HTML, JSON,
XML
• Servlet
• Processa a requisição HTTP
• Chama o model
• Decide qual view será
renderizada
• JavaBeans ou POJO
• Regra de negócios
• Persistência dos dados
• JSP
• Renderiza HTML
Controller
ViewModel
Requisição
HTTP
Consulta as regras
de negócios
Envia resposta
HTML, JSON,
XML
• Servlet
• Processa a requisição HTTP
• Chama o model
• Decide qual view será
renderizada
• JavaBeans ou POJO
• Regra de negócios
• Persistência dos dados
• JSP
• Renderiza HTML
Java Server Faces
Java Server Faces
• Framework Java para implementação de interfaces
web
• Implementação diferenciada do MVC
• Funcionalidades: validação, conversão,
templating, entre outras
• Objetivo:
• facilitar o desenvolvimento de aplicações web
8
Java Server Faces
• Histórico
• Framework da camada de apresentação
• Criada pela JCP - Java Community Process
• Possui uma comunidade bastante ativa
• Atualmente na versão 2.0
9
Exemplo 1
• XHTML - eXtensible HyperText Markup Language!
• Quase idêntico ao HTML
• Formatação estrita
• Definido como um XML - eXtensible Markup Language
• Namespaces
• XHTML - eXtensible HyperText Markup Language!
• Quase idêntico ao HTML
• Formatação estrita
• Definido como um XML - eXtensible Markup Language
• Namespaces
http://localhost:8080/faces/teste/index.xhtml
http://localhost:8080/faces/teste/index.xhtml
Faces Servlet
web.xml
http://localhost:8080/faces/teste/index.xhtml
Faces Servlet
web.xml
http://localhost:8080/faces/teste/index.xhtml
Faces Servlet
web.xml
http://localhost:8080/faces/teste/index.xhtml
Faces Servlet
web.xml
Exemplo 1
• Importante lembrar
• Faces Servlet
• XHTML
• Namespaces
Exemplo 2
Exemplo 2
• Importante lembrar
• ManagedBeans
• SessionScope
• EL
31
Exemplo 3
Exemplo 3
• Importante lembrar
• Formulário vinculado ao ManagedBean
• Especificação de Beans
• Chamada ao método add
41
Ciclo de vida
Requisição
HTTP
Java Server Faces -
MVC
Controller
ViewModel
Requisição
HTTP
Consulta as regras
de negócios
Envia resposta
HTML, JSON,
XML
• Servlet
• Processa a requisição HTTP
• Chama o model
• Decide qual view será
renderizada
• JavaBeans ou POJO
• Regra de negócios
• Persistência dos dados
• JSP
• Renderiza HTML
Controller
ViewModel
Requisição
HTTP
Consulta as regras
de negócios
Envia resposta
HTML, JSON,
XML
• Servlet
• Processa a requisição HTTP
• Chama o model
• Decide qual view será
• JavaBeans ou POJO
• Regra de negócios
• Persistência dos dados
• JSP
• Renderiza HTML
XHTML
Implementações
• Oracle Mojarra
• Apache MyFaces
56
O que mais?
• @ManagedBeans e @Scopes
• Componentes de interface do JSF
• Validators e converters
• Navigation rules
• Facelets
• Ajax
• Extensões: PrimeFaces, IceFaces, RichFaces, etc.
57

Introdução ao JavaServer Faces