2. Quem
Nordestino dali de Recife, colega de vocês do curso
de 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. Um pouco de história
Século passado, Web, CGI, Servlet, JSP, MVC, Struts...
Enfim JavaServer Faces!!!
4. Explique-me
O JSF é uma tecnologia, que:
● Usa boas práticas
● Tem o MVC na veia!!!
● Como qualquer tecnologia, requer bom senso em
seu uso
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. 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 precisa
mexer diretamente
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 aprender
a gostar deles
● A mágica acontece no Servidor, especificamente no
FacesServlet
10. Então...
HTML JSF
head h:head
body h:body
form h:form
div h:panelGroup
label h:outputLabel
input[type=”hidden”] h:inputHidden
input[type=”text”] h:inputText
- f:convertDateTime
select h:selectOneMenu
option f:selectItem
button h:commandButton clique me
uma opção
12. Quem usa?
● Tramita, TCE-PB
● Ministério Público, Judiciários, Procuradorias
● Vai trabalhar na Oi? JSF
● Matéria de Concurso
13. Problemas no mercado
● Falta mão de obra especializada
● Os problemas são simples, as necessidades são
muitas
14. Voltando para a BR
Vamos fazer um simples CRUD com o modelo:
15. Sim, e...?
● Como já disse que gosto do NetBeans, vou usar o
NetBeans... mas podem usar o Eclipse se preferir
● Para agilizar, usaremos o Apache Tomcat que vem
nele, Hibernate e uma instância do MySQL
16. Só isso?
Sim!!! E para facilitar lhes dou o fluxo das telas,
diagrama da classe principal, diagrama dos pacotes e
só não pego na mãozinha porque vocês já podem
caminhar sozinhos!!!
21. Erro 404
● Precisa ser feitos ajustes no Hibernate para funcionar
direito com o MySQL
● Está havendo erro de acentos na hora que insere uma
Pessoa (somente no Tomcat)
23. Erro 404 - Acentos
O Tomcat vem com ISO8859-1, hoje devemos sempre
usar UTF-8. Corrigimos isso com a criação de um filtro
src/java/util/filtro/EncodeFilter.java. Não vamos nos
adentrar nele, no projeto que vocês possuem em mãos
ele já existe. Podem usar e abusar à vontade!
24. Modo Turbo
O JSF não para por aí. Existem outras bibliotecas que
“turbinam” a sua capacidade. Dentre eles, os mais
conhecidos:
RichFaces - http://www.jboss.org/richfaces
ICEFaces - http://www.icesoft.org/
PrimeFaces - http://primefaces.org/
25. Comparativo
Fonte: 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 de
desenvolvimento (SDK) para criar novos
● Documentação poderia ser melhor detalhada
● Renderização única "Direct-2-DOM"
● Grande variedade de componentes baseados
no servidor
● Maior variedade de documentos e tutoriais,
entretanto quase tudo requer registro
● Parece ser o de menor performance, ao
menos comparando o dataTable
● Consiste da maior quantidade de incidentes
críticos abertos
● Gigantesca coleção de componentes
baseados 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ívelmente
menos maduro que o RichFaces e o IceFaces
● Mais centrado no cliente, possui menores
melhorias no núcleo do JSF que o outros dois
27. Exemplos
Muitos exemplos para brincar e fazer a melhor escolha
de acordo com sua necessidade (lembre-se que o
PrimeFaces tem maior busca e previsão):
http://showcase.richfaces.org/
http://icefaces-showcase.icesoft.org/
http://www.primefaces.org/showcase/