Desenvolvimento Web com JSF

538 visualizações

Publicada em

Introdução ao Framework de Desenvolvimento WEB JavaServer Faces (JSF)

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
538
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
20
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento Web com JSF

  1. 1. Programação Web JavaServer Faces Dalton Valadares
  2. 2. Plano ● Visão geral sobre desenvolvimento web; ● Fundamentos e características do JSF; ● Principais implementações e bibliotecas de componentes; ● Ciclo de vida do JSF; ● Exemplos básicos.
  3. 3. Desenvolvimento: Desktop x Web Desktop: ● Replicação de código nos clientes; ● Processamento local → Regras de negócio, validações, etc.; ● Gerência, manutenção e depuração mais complicados. Web: ● Código centralizado em servidor; ● Clientes mais leves e comunicação por HTTP; ● Requisições e respostas; ● Melhor gerenciamento e manutenibilidade.
  4. 4. Funcionamento da Web Cliente Requisições Servidor Respostas HTTP
  5. 5. Frameworks web baseados em componentes ● Arcabouços de software/Conjuntos de bibliotecas; ● Abstraem protocolo de comunicação; ● Dinamizam operações repetitivas de desenvolvimento; ● Buscam reutilização de código, evitando complexidade; ● Fornecem acesso a dados, segurança, gerência de sessão, modelagem, etc.; ● Componentes visuais pré-definidos (renderização da UI); ● Exemplos: Struts, Spring Web MVC, GWT, JSF, etc.
  6. 6. MVC - Model View Controller Modelo arquitetural/Padrão de projeto: separa regras de negócio/modelo de dados e visão por meio de um controlador. Fonte: https://www.youtube.com/watch?v=3Cj2mDx0-Ws#t=745
  7. 7. JavaServer Faces (JSF) ● Framework web MVC ● Definida pela JCP (padrão Java) ● Conjunto de componentes padrão (UI) ● Tags jsp para acesso aos componentes ● Extensível/personalizável ● Comunicação entre componentes e dados do servidor ● Eventos de componentes chamam funções do
  8. 8. JavaServer Faces (JSF) ● Validação e conversão de dados ● Suporte a Ajax ● Suporte à Internacionalização ● Guarda estado dos componentes (Stateful) ● Servidores de aplicação: Tomcat, Glassfish, JBoss, etc.
  9. 9. Implementações e Bibliotecas de componentes Implementações: ● Implementação de referência: Oracle Mojarra (http://javaserverfaces.java. net/) ● Outra implementação: MyFaces, da Apache (http: //myfaces.apache.org/) Bibliotecas: ● RichFaces ● PrimeFaces ● ICEFaces ● OpenFaces ● Trinidad
  10. 10. RichFaces http://www.jboss.org/richfaces rich:calendar rich:select rich:inplaceInput
  11. 11. PrimeFaces http://www.primefaces.org/ p:calendar p:autoComplete p:inputText
  12. 12. ICEFaces http://www.icefaces.org/ ace:dateTimeEntry ace:comboBox ace:textEntry
  13. 13. Ciclo JSF Requisição Restaurar visão Aplicar valores da requisição Processar requisições Atualizar valores do modelo Chamar aplicação Renderizar resposta Resposta
  14. 14. Configuração de ambiente Fonte: https://www.youtube.com/watch?v=TA-s9z1eHrQ
  15. 15. Configuração de ambiente (cont.) Configuração do ‘controlador’ do JSF (web.xml): <servlet> <servlet-name>FacesServlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>FacesServlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> Eclipse → Configuração ‘automática’
  16. 16. Configuração, ainda... faces-config.xml (configurações dos ManagedBeans) <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" version="2.0"> </faces-config> Menos usado, atualmente → @annotations
  17. 17. View JSF (xhtml) - Básico Importar tags JSF → Namespace no .xhtml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <!-- Tags do JSF --> </html>
  18. 18. Tags JSF - Componentes Hierarquia de componentes <html ...> <h:head> <!-- Cabeçalho --> </h:head> <h:body> <!-- Corpo da página --> </h:body> </html>
  19. 19. Managed Bean @ManagedBean public class TimeBean { public String getTime() { SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss"); return "Hora atual: " + sdf.format(new Date()); } }
  20. 20. View ←→ Managed Bean <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> <h:head> <title>JSF - Primeira Aula</title> </h:head> <h:body> <h:outputText value =”#{timeBean.time}” /> </h:body> </html>
  21. 21. JSF - Outros componentes básicos <h:form> <h:outputLabel for="date" value="Digite a data de hoje:"/> <h:inputText id="date" value="#{timeBean.date}"/> <h:commandButton value="Ok" action="#{timeBean.time}"/> </h:form> Importante: <h:outputText value="Hora: #{timeBean.time}" rendered="#{not empty timeBean.time}"/>
  22. 22. Referências http://docs.oracle.com/javaee/7/tutorial/doc/jsf-develop.htm https://www.youtube.com/watch?v=TA-s9z1eHrQ https://netbeans.org/kb/docs/web/jsf20-intro_pt_BR.html http://www.dsc.ufcg.edu.br/~jacques/cursos/daca/html/jsf/jsf.htm http://www.mkyong.com/jsf2/jsf-2-0-hello-world-example/ http://www.caelum.com.br/apostila-java-testes-jsf-web-services-design- patterns/introducao-ao-jsf-e-primefaces/#7-6-recebendo-informacoes-do- usuario
  23. 23. Dúvidas?

×