SlideShare a Scribd company logo
1 of 28
Download to read offline
JavaServer FacesJavaServer Faces
Prof. Alex Dias Camargo
alexcamargo@ifsul.edu.br
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
SUL-RIO-GRANDENSE
CÂMPUS BAGÉ
PROGRAMAÇÃO PARA WEB II
2
I. Plano de aula
Na aula anterior foi visto:
 Mapeamento Objeto-Relacional (ORM)
 Java Persistence API (JPA)
PWII - JavaServer Faces
3
I. Plano de aula
Nesta aula será apresentado:
 Padrão de arquitetura de software MVC
 Definições e aplicação de JSF
PWII - JavaServer Faces
4
1. Introdução
JavaServer Faces (JSF) é uma especificação Java para a
construção de UI (interface de usuário) baseada em componentes.
Utiliza arquivos XML como modelos de visão ou Facelets views.
 Permite que o desenvolvedor crie UIs através de um conjunto
de componentes pré-definidos.
 Associa os eventos do lado cliente com os manipuladores dos
eventos do lado do servidor. Utiliza Ajax em alguns de seus
componentes.
 JSF não é um framework! Struts e Spring, por exemplo, são
frameworks JSF.
 Diferente de outras abordagens, possui um processamento de
requisição dividido em seis fases.
PWII - JavaServer Faces
5
1. Introdução
PWII - JavaServer Faces
Figura. Diagrama de fluxo do ciclo de vida do JSF
6
2. JSF e MVC
O JSF traz consigo o MVC a fim de separar a responsabilidade de
cada elemento a ser desenvolvido para o sistema web.
 O MVC é um padrão de arquitetura de software em 3 camadas
(Model, View, Controller).
 Model: responsável pela leitura e escrita de dados, também de
suas validações. Camada de lógica da aplicação.
 View: faz a exibição dos dados, sendo ela por meio de um
HTML ou XML. Camada de apresentação ou visualização.
 Controller: responsável por receber todas as requisições do
usuário. Camada de controle.
PWII - JavaServer Faces
7
2. JSF e MVC
PWII - JavaServer Faces
Figura. Arquitetura: Modelo, Visão e Controle
8
2. JSF e MVC
PWII - JavaServer Faces
Nota. Diálogo de camadas
9
2. JSF e MVC
PWII - JavaServer Faces
Nota. Arquitetura: Modelo, Visão e Controle no JSF
10
2. JSF e MVC
PWII - JavaServer Faces
Figura. Arquitetura: Modelo, Visão e Controle no JSF
11
3. Componentes
Principais componentes que formam o JSF:
 Facelets (páginas XHTML): representam a interface do
sistema e são transformados em HTML.
PWII - JavaServer Faces
12
3. Componentes
PWII - JavaServer Faces
Figura. Componentes: Facelets
13
3. Componentes
Principais componentes que formam o JSF:
 Facelets (páginas XHTML): representam a interface do
sistema e são transformados em HTML.
 Classes Java (JavaBeans): são representações OO das
entidades manipuladasnos Facelets.
PWII - JavaServer Faces
14
3. Componentes
PWII - JavaServer Faces
Figura. Componentes: JavaBeans
15
3. Componentes
Principais componentes que formam o JSF:
 Facelets (páginas XHTML): representam a interface do
sistema e são transformados em HTML.
 Classes Java (JavaBeans): são representações OO das
entidades manipuladasnos Facelets.
 Tags: permitem a escrita de Facelets de forma declarativa.
PWII - JavaServer Faces
16
3. Componentes
PWII - JavaServer Faces
Figura. Componentes: Tags
17
3. Componentes
Principais componentes que formam o JSF:
 Facelets (páginas XHTML): representam a interface do
sistema e são transformados em HTML.
 Classes Java (JavaBeans): são representações OO das
entidades manipuladasnos Facelets.
 Tags: permitem a escrita de Facelets de forma declarativa.
 Metadados: Configuram a aplicação e podem ser tanto
anotações quanto descrições XML.
PWII - JavaServer Faces
18
3. Componentes
PWII - JavaServer Faces
Figura. Componentes: Metadados
19
3. Componentes
Principais componentes que formam o JSF:
 Facelets (páginas XHTML): representam a interface do
sistema e são transformados em HTML.
 Classes Java (JavaBeans): são representações OO das
entidades manipuladasnos Facelets.
 Tags: permitem a escrita de Facelets de forma declarativa.
 Metadados: Configuram a aplicação e podem ser tanto
anotações quanto descrições XML.
 Principais arquivos de um projeto: Descritor
(WEB-INF/web.xml) e Facelet (index.xhtml).
PWII - JavaServer Faces
20
3. Componentes
PWII - JavaServer Faces
Figura. Componentes: Principais arquivos (Descritor)
21
3. Componentes
PWII - JavaServer Faces
Figura. Componentes: Principais arquivos (Facelet)
22
4. Exemplo prático
Criando um projeto: Hello from Facelets. Acompanhar o exemplo
abaixo:
PWII - JavaServer Faces Figura. Criação de um projeto básico com JSF
23
4. Exemplo prático
Primeira aplicação em JSF 2.0. Acompanhar o exemplo
disponibilizado no link abaixo:
 https://thiagom.wordpress.com/2011/01/26/199/
PWII - JavaServer Faces
Figura. Resultado esperado: primeira aplicação em JSF
24
5. Exercícios
1. Crie um projeto de uma calculadora utilizando o JSF e o
NetBeans. O programa desenvolvido deve permitir a realização de,
no mínimo, as 4 operações básicas da matemática: adição,
subtração, multiplicação e divisão. Um exemplo de view é exibido
na figura abaixo.
PWII - JavaServer Faces
Figura. Resultado esperado: calculadora em JSF
25
6. Framework PrimeFaces
PrimeFaces é uma biblioteca de componentes de interface gráfica
para as aplicações web baseadas em JSF.
 Apresenta mais de 100 componentes, validações client side e
temas prontos. Todos os componentes são open source.
 Opção de layout responsivo. Uso em celulares e tablets.
 PrimeFaces namespace: xmlns:p="http://primefaces.org/ui"
 Quem usa: FOX, Mercedes, Ebay, Nike, DETRAN/RS.
 Frameworks similares: RichFaces e IceFaces.
PWII - JavaServer Faces
26
6. Framework PrimeFaces
PWII - JavaServer Faces
Figura. PrimeFaces: Website oficial
Fonte: https://www.primefaces.org/showcase/index.xhtml
27
7. Exemplo prático
Primeira aplicação em JSF 2.0 com PrimeFaces 2.2.
Acompanhar o exemplo disponibilizado no link abaixo:
 https://thiagom.wordpress.com/2011/02/12/primefaces-2-2-co
m-jsf-2-0/
PWII - JavaServer Faces
Figura. Resultado esperado: primeira aplicação em JSF com PrimeFaces
28
Referências
GEARY, D. M. Core JavaServer Faces. 3ª Edição São Paulo: Alta
Books, 2012.
LUCKOW, D. H.; MELO, A. A. Programação Java para Web:
aprenda a desenvolver uma aplicação financeira pessoal
com as ferramentas mais modernas da plataforma Java. 2ª
Edição. São Paulo: Novatec, 2015.
SIERRA, K. Use a cabeça! JSP & Servlets. 2ª Edição, São Paulo:
Alta Books, 2008.
PWII - JavaServer Faces

More Related Content

What's hot

Certificacoes java
Certificacoes javaCertificacoes java
Certificacoes javaBruno Garcia
 
Apresentação jsf 2.0
Apresentação jsf 2.0Apresentação jsf 2.0
Apresentação jsf 2.0Paulo Neto
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com PrimefacesFabio Noth
 
Apresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEIApresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEIFelipe Knappe
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoEduardo Bregaida
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEBRafael Chinelato Del Nero
 
Phalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações IniciaisPhalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações IniciaisPauloRobertoBolsanel
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javJulio Viegas
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Anderson Araújo
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesRafael Ponte
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Portal GSTI
 
O framework spring
O framework springO framework spring
O framework springBruno Catão
 

What's hot (20)

Certificacoes java
Certificacoes javaCertificacoes java
Certificacoes java
 
Camadas
CamadasCamadas
Camadas
 
Apresentação jsf 2.0
Apresentação jsf 2.0Apresentação jsf 2.0
Apresentação jsf 2.0
 
Prime Faces
Prime FacesPrime Faces
Prime Faces
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com Primefaces
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Introdução a jsf
Introdução a jsfIntrodução a jsf
Introdução a jsf
 
Apresentação JSF
Apresentação JSFApresentação JSF
Apresentação JSF
 
Apresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEIApresentação Facelets_UNIFEI
Apresentação Facelets_UNIFEI
 
Jsf
JsfJsf
Jsf
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em Desenvolvimento
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer Faces
 
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB
5 técnicas para acelerar o desenvolvimento e reduzir Bugs em aplicações WEB
 
Phalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações IniciaisPhalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações Iniciais
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_jav
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório
 
O framework spring
O framework springO framework spring
O framework spring
 

Similar to Programação para Web II: JavaServer Faces

Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBRafael França
 
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...Esdras Da Silva
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
Programação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebProgramação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebAlex Camargo
 
Programação para Web II: JavaServer Pages
Programação para Web II:  JavaServer PagesProgramação para Web II:  JavaServer Pages
Programação para Web II: JavaServer PagesAlex Camargo
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves PagesAmanda Luz
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)Mario Sergio
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVCBenicio Ávila
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 
TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.Rogério Napoleão Jr.
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_MeloUtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melothalesboss
 

Similar to Programação para Web II: JavaServer Faces (20)

Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEB
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
Conceitos de Java Web
Conceitos de Java WebConceitos de Java Web
Conceitos de Java Web
 
Acelerando o desenvolvimento java com rad 7.5
Acelerando o desenvolvimento java com rad 7.5Acelerando o desenvolvimento java com rad 7.5
Acelerando o desenvolvimento java com rad 7.5
 
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
Resenha Crítica Comparativa - Inovando o Desenvolvimento Web com JSF e Design...
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Programação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java WebProgramação para Web II: Estrutura de um projeto Java Web
Programação para Web II: Estrutura de um projeto Java Web
 
Programação para Web II: JavaServer Pages
Programação para Web II:  JavaServer PagesProgramação para Web II:  JavaServer Pages
Programação para Web II: JavaServer Pages
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
1409243945064
14092439450641409243945064
1409243945064
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves Pages
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.
 
Tutorial Java EE
Tutorial Java EETutorial Java EE
Tutorial Java EE
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_MeloUtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
 

More from Alex Camargo

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaAlex Camargo
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - DemonologiaAlex Camargo
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosAlex Camargo
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?Alex Camargo
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasAlex Camargo
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaAlex Camargo
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!Alex Camargo
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Alex Camargo
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoAlex Camargo
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlex Camargo
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeAlex Camargo
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoAlex Camargo
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)Alex Camargo
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Alex Camargo
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoAlex Camargo
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020Alex Camargo
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alexAlex Camargo
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial IntelligenceAlex Camargo
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finaisAlex Camargo
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Alex Camargo
 

More from Alex Camargo (20)

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - Eclesiologia
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - Demonologia
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeiros
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínas
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurança
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom Samaritano
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alex
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finais
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)
 

Programação para Web II: JavaServer Faces

  • 1. JavaServer FacesJavaServer Faces Prof. Alex Dias Camargo alexcamargo@ifsul.edu.br INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA SUL-RIO-GRANDENSE CÂMPUS BAGÉ PROGRAMAÇÃO PARA WEB II
  • 2. 2 I. Plano de aula Na aula anterior foi visto:  Mapeamento Objeto-Relacional (ORM)  Java Persistence API (JPA) PWII - JavaServer Faces
  • 3. 3 I. Plano de aula Nesta aula será apresentado:  Padrão de arquitetura de software MVC  Definições e aplicação de JSF PWII - JavaServer Faces
  • 4. 4 1. Introdução JavaServer Faces (JSF) é uma especificação Java para a construção de UI (interface de usuário) baseada em componentes. Utiliza arquivos XML como modelos de visão ou Facelets views.  Permite que o desenvolvedor crie UIs através de um conjunto de componentes pré-definidos.  Associa os eventos do lado cliente com os manipuladores dos eventos do lado do servidor. Utiliza Ajax em alguns de seus componentes.  JSF não é um framework! Struts e Spring, por exemplo, são frameworks JSF.  Diferente de outras abordagens, possui um processamento de requisição dividido em seis fases. PWII - JavaServer Faces
  • 5. 5 1. Introdução PWII - JavaServer Faces Figura. Diagrama de fluxo do ciclo de vida do JSF
  • 6. 6 2. JSF e MVC O JSF traz consigo o MVC a fim de separar a responsabilidade de cada elemento a ser desenvolvido para o sistema web.  O MVC é um padrão de arquitetura de software em 3 camadas (Model, View, Controller).  Model: responsável pela leitura e escrita de dados, também de suas validações. Camada de lógica da aplicação.  View: faz a exibição dos dados, sendo ela por meio de um HTML ou XML. Camada de apresentação ou visualização.  Controller: responsável por receber todas as requisições do usuário. Camada de controle. PWII - JavaServer Faces
  • 7. 7 2. JSF e MVC PWII - JavaServer Faces Figura. Arquitetura: Modelo, Visão e Controle
  • 8. 8 2. JSF e MVC PWII - JavaServer Faces Nota. Diálogo de camadas
  • 9. 9 2. JSF e MVC PWII - JavaServer Faces Nota. Arquitetura: Modelo, Visão e Controle no JSF
  • 10. 10 2. JSF e MVC PWII - JavaServer Faces Figura. Arquitetura: Modelo, Visão e Controle no JSF
  • 11. 11 3. Componentes Principais componentes que formam o JSF:  Facelets (páginas XHTML): representam a interface do sistema e são transformados em HTML. PWII - JavaServer Faces
  • 12. 12 3. Componentes PWII - JavaServer Faces Figura. Componentes: Facelets
  • 13. 13 3. Componentes Principais componentes que formam o JSF:  Facelets (páginas XHTML): representam a interface do sistema e são transformados em HTML.  Classes Java (JavaBeans): são representações OO das entidades manipuladasnos Facelets. PWII - JavaServer Faces
  • 14. 14 3. Componentes PWII - JavaServer Faces Figura. Componentes: JavaBeans
  • 15. 15 3. Componentes Principais componentes que formam o JSF:  Facelets (páginas XHTML): representam a interface do sistema e são transformados em HTML.  Classes Java (JavaBeans): são representações OO das entidades manipuladasnos Facelets.  Tags: permitem a escrita de Facelets de forma declarativa. PWII - JavaServer Faces
  • 16. 16 3. Componentes PWII - JavaServer Faces Figura. Componentes: Tags
  • 17. 17 3. Componentes Principais componentes que formam o JSF:  Facelets (páginas XHTML): representam a interface do sistema e são transformados em HTML.  Classes Java (JavaBeans): são representações OO das entidades manipuladasnos Facelets.  Tags: permitem a escrita de Facelets de forma declarativa.  Metadados: Configuram a aplicação e podem ser tanto anotações quanto descrições XML. PWII - JavaServer Faces
  • 18. 18 3. Componentes PWII - JavaServer Faces Figura. Componentes: Metadados
  • 19. 19 3. Componentes Principais componentes que formam o JSF:  Facelets (páginas XHTML): representam a interface do sistema e são transformados em HTML.  Classes Java (JavaBeans): são representações OO das entidades manipuladasnos Facelets.  Tags: permitem a escrita de Facelets de forma declarativa.  Metadados: Configuram a aplicação e podem ser tanto anotações quanto descrições XML.  Principais arquivos de um projeto: Descritor (WEB-INF/web.xml) e Facelet (index.xhtml). PWII - JavaServer Faces
  • 20. 20 3. Componentes PWII - JavaServer Faces Figura. Componentes: Principais arquivos (Descritor)
  • 21. 21 3. Componentes PWII - JavaServer Faces Figura. Componentes: Principais arquivos (Facelet)
  • 22. 22 4. Exemplo prático Criando um projeto: Hello from Facelets. Acompanhar o exemplo abaixo: PWII - JavaServer Faces Figura. Criação de um projeto básico com JSF
  • 23. 23 4. Exemplo prático Primeira aplicação em JSF 2.0. Acompanhar o exemplo disponibilizado no link abaixo:  https://thiagom.wordpress.com/2011/01/26/199/ PWII - JavaServer Faces Figura. Resultado esperado: primeira aplicação em JSF
  • 24. 24 5. Exercícios 1. Crie um projeto de uma calculadora utilizando o JSF e o NetBeans. O programa desenvolvido deve permitir a realização de, no mínimo, as 4 operações básicas da matemática: adição, subtração, multiplicação e divisão. Um exemplo de view é exibido na figura abaixo. PWII - JavaServer Faces Figura. Resultado esperado: calculadora em JSF
  • 25. 25 6. Framework PrimeFaces PrimeFaces é uma biblioteca de componentes de interface gráfica para as aplicações web baseadas em JSF.  Apresenta mais de 100 componentes, validações client side e temas prontos. Todos os componentes são open source.  Opção de layout responsivo. Uso em celulares e tablets.  PrimeFaces namespace: xmlns:p="http://primefaces.org/ui"  Quem usa: FOX, Mercedes, Ebay, Nike, DETRAN/RS.  Frameworks similares: RichFaces e IceFaces. PWII - JavaServer Faces
  • 26. 26 6. Framework PrimeFaces PWII - JavaServer Faces Figura. PrimeFaces: Website oficial Fonte: https://www.primefaces.org/showcase/index.xhtml
  • 27. 27 7. Exemplo prático Primeira aplicação em JSF 2.0 com PrimeFaces 2.2. Acompanhar o exemplo disponibilizado no link abaixo:  https://thiagom.wordpress.com/2011/02/12/primefaces-2-2-co m-jsf-2-0/ PWII - JavaServer Faces Figura. Resultado esperado: primeira aplicação em JSF com PrimeFaces
  • 28. 28 Referências GEARY, D. M. Core JavaServer Faces. 3ª Edição São Paulo: Alta Books, 2012. LUCKOW, D. H.; MELO, A. A. Programação Java para Web: aprenda a desenvolver uma aplicação financeira pessoal com as ferramentas mais modernas da plataforma Java. 2ª Edição. São Paulo: Novatec, 2015. SIERRA, K. Use a cabeça! JSP & Servlets. 2ª Edição, São Paulo: Alta Books, 2008. PWII - JavaServer Faces