JSF - JavaServer Faces

1.289 visualizações

Publicada em

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

Sem downloads
Visualizações
Visualizações totais
1.289
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
29
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

JSF - JavaServer Faces

  1. 1. JSF JavaServer FacesFrancisco Ernesto Teixeira - fco.ernesto@gmail.com
  2. 2. QuemNordestino dali de Recife, colega de vocês do cursode Sistemas de Informação. Botou os pés pra rua há16 anos, tem 12 fora de Casa e 3 anos curtindo BSB.Conheceu o Java (?) em 97 com os applets (?)quando ainda não havia o Flash.
  3. 3. Um pouco de históriaSéculo passado, Web, CGI, Servlet, JSP, MVC, Struts...Enfim JavaServer Faces!!!
  4. 4. Explique-meO JSF é uma tecnologia, que:● Usa boas práticas● Tem o MVC na veia!!!● Como qualquer tecnologia, requer bom senso emseu uso
  5. 5. Relembrando MVC
  6. 6. MVC do JSF
  7. 7. O que é que tem nele?● Um conjunto de APIs para componentes de UI● Gerenciamento de estado, controle de eventos,validação de entradas● É uma biblioteca, coloca juntinho do Tomcat, Weblogic,Glassfish, JBoss...
  8. 8. Existem tantos outros● Leve, flexível e extremamente prático● Toda IDE possui● Eu gosto do NetBeans, mas o Eclipse também tem● Reuso bem “facinho”● Requisições AJAX bem organizado, você não precisamexer diretamente
  9. 9. Entendo algumas coisas● No HTML, temos as TAGs● No JSF também temos as TAGs● O HTML é um “tio” do JSF● No JSF existem TAGs diferentes, mas vamos aprendera gostar deles● A mágica acontece no Servidor, especificamente noFacesServlet
  10. 10. Então...HTML JSFhead h:headbody h:bodyform h:formdiv h:panelGrouplabel h:outputLabelinput[type=”hidden”] h:inputHiddeninput[type=”text”] h:inputText- f:convertDateTimeselect h:selectOneMenuoption f:selectItembutton h:commandButton clique meuma opção
  11. 11. Continuando...HTML JSFtable h:dataTabletd h:columnth f:facet name=”header”a h:commandLink- h:outputText- f:setPropertyActionListener value=”” target=””sou uma âncora
  12. 12. Quem usa?● Tramita, TCE-PB● Ministério Público, Judiciários, Procuradorias● Vai trabalhar na Oi? JSF● Matéria de Concurso
  13. 13. Problemas no mercado● Falta mão de obra especializada● Os problemas são simples, as necessidades sãomuitas
  14. 14. Voltando para a BRVamos fazer um simples CRUD com o modelo:
  15. 15. Sim, e...?● Como já disse que gosto do NetBeans, vou usar oNetBeans... mas podem usar o Eclipse se preferir● Para agilizar, usaremos o Apache Tomcat que vemnele, Hibernate e uma instância do MySQL
  16. 16. Só isso?Sim!!! E para facilitar lhes dou o fluxo das telas,diagrama da classe principal, diagrama dos pacotes esó não pego na mãozinha porque vocês já podemcaminhar sozinhos!!!
  17. 17. Fluxo de Telasessa tela é da listagem
  18. 18. Classe Principal
  19. 19. Pacotes
  20. 20. O pulo do gatinho
  21. 21. Erro 404● Precisa ser feitos ajustes no Hibernate para funcionardireito com o MySQL● Está havendo erro de acentos na hora que insere umaPessoa (somente no Tomcat)
  22. 22. Erro 404 - HibernatePrecisamos adicionar no hibernate.cfg.xml:<!-- Enable Hibernates automatic session context management --><propertyname="current_session_context_class">thread</property><!-- DONE: Unknown entity: modelo.entidade.Pessoa --><mapping class="modelo.entidade.Pessoa" />
  23. 23. Erro 404 - AcentosO Tomcat vem com ISO8859-1, hoje devemos sempreusar UTF-8. Corrigimos isso com a criação de um filtrosrc/java/util/filtro/EncodeFilter.java. Não vamos nosadentrar nele, no projeto que vocês possuem em mãosele já existe. Podem usar e abusar à vontade!
  24. 24. Modo TurboO JSF não para por aí. Existem outras bibliotecas que“turbinam” a sua capacidade. Dentre eles, os maisconhecidos:RichFaces - http://www.jboss.org/richfacesICEFaces - http://www.icesoft.org/PrimeFaces - http://primefaces.org/
  25. 25. ComparativoFonte: http://www.mastertheboss.com/richfaces/primefaces-vs-richfaces-vs-icefaces/Vantagens Desvantagens● Biblioteca JSF madura e amplamente usada● Possui maior integração com o servidor● Boa performance● Pouquíssimos componentes disponíveis,entretanto você pode usar o material dedesenvolvimento (SDK) para criar novos● Documentação poderia ser melhor detalhada● Renderização única "Direct-2-DOM"● Grande variedade de componentes baseadosno servidor● Maior variedade de documentos e tutoriais,entretanto quase tudo requer registro● Parece ser o de menor performance, aomenos comparando o dataTable● Consiste da maior quantidade de incidentescríticos abertos● Gigantesca coleção de componentesbaseados no levíssimo jQuery● Simples de usar e documentação prática● Aparenta ser a biblioteca mais rápida● Os tópicos dos desenvolvedores dizem:Primefaces● O mais novo do grupo, então possívelmentemenos maduro que o RichFaces e o IceFaces● Mais centrado no cliente, possui menoresmelhorias no núcleo do JSF que o outros dois
  26. 26. Em gráficoFonte: http://www.google.com.br/trends/explore#q=primefaces%2C%20icefaces%2C%20richfaces&cmpt=q
  27. 27. ExemplosMuitos exemplos para brincar e fazer a melhor escolhade acordo com sua necessidade (lembre-se que oPrimeFaces tem maior busca e previsão):http://showcase.richfaces.org/http://icefaces-showcase.icesoft.org/http://www.primefaces.org/showcase/
  28. 28. Dúvidas?alle Fragen?

×