apresentação jsf 1_2
Post on 19-Jun-2015
378 Views
Preview:
TRANSCRIPT
Desenvolvimento Web com Java Server
Faces
Bruno Balint de Andrade
http://www.arquiteturadesistemas.com.br 1
AGENDA
Apresentação Histórico Desenvolvimento Web com Java
O que é JSF?
Porque usar JSF?
Conceitos JSF
Exercícios com JSF 1.2 (RichFaces,MyFaces)
Novos Recursos do JSF 2 Exercícios com JSF2 (PrimeFaces)
http://www.arquiteturadesistemas.com.br 2
Bruno Balint de Andrade - Consultor de Sistemas
7 anos desenvolvendo com Java
Certificações Java : OCJA , SCJP, OCWCD
Apresentação
JSF
http://www.arquiteturadesistemas.com.br 3
Eclipse Kepler com plugin Jboss Tools
Apache Tomcat 6 e 7
JDK 6.0
Ambiente de Desenvolvimento
JSF
http://www.arquiteturadesistemas.com.br 4
Aplicações web tornam-se mais e mais importantes no nosso mercado
Maior complexidade para desenvolver
• Javascript
• CSS
• Ajax
• Validação
• Efeitos, usabilidade
• Etc
Exigência mais elevada do cliente durantes os anos
• Interfaces ricas (fácil de usar)
• Prazos cada vez mais curtos
Desenvolvimento Web
JSF
http://www.arquiteturadesistemas.com.br 5
Desenvolvimento Web (Timeline Java)
lJSF
http://www.arquiteturadesistemas.com.br 6
Desenvolvimento Web (Arquitetura Centrada em Páginas)
lJSF
http://www.arquiteturadesistemas.com.br 7
Desenvolvimento Web (Arquitetura Centrada em Páginas)
lJSF
http://www.arquiteturadesistemas.com.br 8
Desenvolvimento Web (Model 2 - MVC)
lJSF
http://www.arquiteturadesistemas.com.br 9
Struts 1 e 2
Spring MVC
Tapestry
E muitos outros...
• E ainda continuam surgindo mais
Surgiram diversos frameworks MVC baseado no Model 2
JSF
http://www.arquiteturadesistemas.com.br 10
Ainda assim continuavamos com alguns problemas
• A plataforma Java não nos fornecia recursos para desenvolver aplicações
web com produtividade
• Tinhamos dificuldade para integrar diversos frameworks
• Falta de um padrão para um framework Web na platafoma Java
• Ausência de uma API padrão para um framework Web
Surgiram diversos frameworks MVC baseado no Model 2(Problemas)
JSF
http://www.arquiteturadesistemas.com.br 11
E a solução foi?
JAVA SERVER FACES
JSF
http://www.arquiteturadesistemas.com.br 12
Mas o que é JAVA SERVER
FACES?
JSF
http://www.arquiteturadesistemas.com.br 13
… uma especificação
JSR 127 (JSF 1.0 e JSF 1.1) – 2004
JSR 252 (JSF 1.2) – 2006 (JAVA EE 5)
JSR 314 (JSF 2.0 e 2.1) – 2008 (JAVA EE 6 e JAVAEE 7)
… um framework MVC
… um framework baseado em componentes de interface com o usuário
… um framework dirigido a eventos
… padrão de mercado
… RAD (Rapid Application Development)
JavaServer Faces é:
JSF
http://www.arquiteturadesistemas.com.br 14
… um framework MVC
Um conjunto de APIs para:
Representar componentes UI e gerenciar os estados destes
componentes
Manipular eventos e validação de entrada do usuário
Dar suporte a internacionalização e acessibilidade
Um conjunto de tags JSP para representar componentes JSF em uma
página JSP
JavaServer Faces é:
JSF
http://www.arquiteturadesistemas.com.br 15
… um framework baseado em componentes de interface com
o usuário
Construído sob o conceito de componentes
Os componentes são a base para construção da interface com o usuário
Existem componentes padrões equivalentes a quase todas as tags HTML e
diversos componentes auxiliares
JavaServer Faces é:
JSF
http://www.arquiteturadesistemas.com.br 16
… um framework baseado em componentes de interface com
o usuário
Existem diversas bibliotecas de componentes disponíveis comerciais e
open sources
Os componentes são expressos através de tags numa página JSP e
posteriormente transformados em HTML
JavaServer Faces é:
JSF
http://www.arquiteturadesistemas.com.br 17
… um framework dirigido a eventos
Possui um modelo para manipulação de eventos
Componentes geram determinados eventos
Efetua uma chamada à um método (ação no servidor)
O estado da aplicação web muda devido a um evento disparado pelo
usuário
Um evento pode ser um click de um botão, focar sobre um input ou
mesmo alterar o valor de uma combo-box
JavaServer Faces é:
JSF
http://www.arquiteturadesistemas.com.br 18
… um padrão de mercado
JAVA EE 5,6,7
Suporte a big players:
Sun,Apache,Oracle,IBM,BEA,JBoss,Borland etc
IDEs (Netbeans,Eclipse, Jdeveloper,etc)
Implementações (Sun,Apache,IBM,Oracle, …)
Conjunto de Componentes (RichFaces,PrimeFaces,Apache MyFaces,...)
JavaServer Faces é:
JSF
http://www.arquiteturadesistemas.com.br 19
Porque usar JavaServer
Faces?
JSF
http://www.arquiteturadesistemas.com.br 20
É um padrão de mercado
Presente nas especificações JAVA EE 5,6,7
Fácil de usar, e produtivo também
Abstração para desenvolvimento de aplicações Web
Modelo de programação dirigido a eventos (oposto ao modelo HTTP
request/response)
Baixa de curva de aprendizagem
Componentes já prontos
Porque usar JavaServer Faces?
JSF
http://www.arquiteturadesistemas.com.br 21
Richfaces
http://www.arquiteturadesistemas.com.br 22
Richfaces
http://www.arquiteturadesistemas.com.br 23
Richfaces
http://www.arquiteturadesistemas.com.br 24
Suporte cross-browser
Segurança
Cross-site scripting, session hijacking
OWASP(Open Web Application Security Project)
Grande atividade da comunidade em fóruns, listas de discussão, blogs,
portais, revistas etc.
Integração com diversos frameworks
Templating
Facelets, Sitemesh
JSF Templating, Tiles
Porque usar JavaServer Faces?
JSF
http://www.arquiteturadesistemas.com.br 25
Porque usar JavaServer Faces?
JSF
http://www.arquiteturadesistemas.com.br 26
Criando Projeto Web
JSF
http://www.arquiteturadesistemas.com.br 27
JSF
http://www.arquiteturadesistemas.com.br 28
JSF
http://www.arquiteturadesistemas.com.br 29
JSF
http://www.arquiteturadesistemas.com.br 30
JSF
http://www.arquiteturadesistemas.com.br 31
JSF
Selecione o projeto e pressione alt+enter para acessar as propriedades do
projeto
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 32
JSF
Adicionando as bibliotecas do JSF
1
2
http://www.arquiteturadesistemas.com.br 33
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 34
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 35
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 36
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 37
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 38
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 39
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 40
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 41
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 42
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 43
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 44
JSF
Adicionando as bibliotecas do JSF
http://www.arquiteturadesistemas.com.br 45
lwww.primeinformatica.com.br
JSF
Adicionar o FacesServlet no web.xml
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
http://www.arquiteturadesistemas.com.br 46
JSF
Adicionar o arquivo no faces-config.xml dentro de WEB-INF
http://www.arquiteturadesistemas.com.br 47
JSF
Adicionar o arquivo no faces-config.xml dentro de WEB-INF
http://www.arquiteturadesistemas.com.br 48
JSF
Criar o arquivo index.jsp dentro de WebContent
http://www.arquiteturadesistemas.com.br 49
JSF
Criar o arquivo index.jsp dentro de WebContent
http://www.arquiteturadesistemas.com.br 50
JSF
Index.jsp : Adicionar taglibs do JSF
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
Index.jsp : Adicionar trecho de código abaixo no corpo do arquivo
<body>
<f:view>
<h:outputText value="HelloWorld"/>
</f:view>
</body>
http://www.arquiteturadesistemas.com.br 51
JSF
Criar o arquivo index.jsp dentro de WebContent
http://www.arquiteturadesistemas.com.br 52
JSF
Adicionar o servidor tomcat no Eclipse
http://www.arquiteturadesistemas.com.br 53
JSF
Adicionar o servidor tomcat no Eclipse
http://www.arquiteturadesistemas.com.br 54
JSF
Adicionar o servidor tomcat no Eclipse
http://www.arquiteturadesistemas.com.br 55
JSF
Adicionar o servidor tomcat no Eclipse
http://www.arquiteturadesistemas.com.br 56
JSF
Acessar http://localhost:8080/helloworld/index.faces
http://www.arquiteturadesistemas.com.br 57
JSF
Conceitos chave do JSF
Componentes
Renderers
Managed-beans
Converters
Validators
Navegação
Ciclo de Vida(Request LifeCycle)
http://www.arquiteturadesistemas.com.br 58
JSF
Componentes
Separa a lógica de negócio da apresentação
Cada view é composta por uma hierarquia de componentes
http://www.arquiteturadesistemas.com.br 59
JSF
Componentes
• Componentes podem ser adicionados na view programaticamente ou via template (JSP por default, ou Facelets para melhor desempenho e fácil desenvolvimento)
• Componentes são expressos em tags em uma página JSP e em sua maioria são de interface com o usuário
• Os componentes padrões são divididos em dois grupos Faces Core <f:view>, <f:loadBundle>, <f:param>
HTML wrappers <h:dataTable>, <h:selectOneMenu>
http://www.arquiteturadesistemas.com.br 60
JSF
Renderers
Responsável por exibir o componente no cliente
São agrupados em render kits
Efetua o encode (gera o HTML do componente)
Efetua o decode (seta o componente com os dados da URL query
string e do formulário )
Resumindo
<h:inputText id=“login” size=“16” />
<input type=“text” id=“myForm:login” name=“myForm:login” size=“16” />
http://www.arquiteturadesistemas.com.br 61
JSF
Exercício: Desenhe um formulário conforme a imagem abaixo.
Dica: para deixar componentes na mesma linha utilize os componentes
h:panelGrid com o atributo columns
http://www.arquiteturadesistemas.com.br 62
JSF
Managed Beans
Controllers, “Linkam” a view ao modelo
Funciona como representação da view
São acessadas via Expression Language (EL) na jsp
http://www.arquiteturadesistemas.com.br 63
JSF
Managed Beans
Como representaríamos esse formulário do exercício anterior
através de uma classe Java?
http://www.arquiteturadesistemas.com.br 64
JSF
Managed Beans
No JSF 1.2 , é necessário registrarmos um Managed Bean para que o
framework saiba que ele existe
Um Managed Bean é registrado (configurado) no arquivo de
configurações do JSF, faces-config.xml.
http://www.arquiteturadesistemas.com.br 65
JSF
Managed Beans
A configuração de um Managed Bean se resume basicamente ao
código abaixo:
http://www.arquiteturadesistemas.com.br 66
JSF
Managed Beans
Um Managed Bean vive de acordo com seu escopo de
conversação.
Application, Session, Request, None
http://www.arquiteturadesistemas.com.br 67
JSF
Managed Beans
Mas como “linkar” nosso MB aos componentes do nosso formulário?
http://www.arquiteturadesistemas.com.br 68
lwww.primeinformatica.com.br
JSF
Managed Beans
http://www.arquiteturadesistemas.com.br 69
JSF
Managed Beans
Lembra da Expression Language(EL) ?
http://www.arquiteturadesistemas.com.br 70
JSF
Managed Beans
Detalhando uma EL
http://www.arquiteturadesistemas.com.br 71
JSF
Exercício
Utilizando o formulário do exercício anterior, verificar no Managed
Bean se os dados foram preenchidos corretamente.
Utilizar System.out.println(<nome_atributo>) no método logar()
http://www.arquiteturadesistemas.com.br 72
JSF
Exercício
Criar um formulário de cadastro de endereço, com os seguintes
campos: Rua, Complemento, Cidade ,Bairro e CEP.
Utilizar o componente h:inputTextarea para representar o campo
“Complemento”
Criar o Managed Bean e dentro dele criar todos os campos a serem
referenciados nos componentes
Submeter o formulário e imprimir os valores no Console
http://www.arquiteturadesistemas.com.br 73
JSF
Analisando o padrão MVC
http://www.arquiteturadesistemas.com.br 74
JSF
Analisando o padrão MVC
Os atributos deveriam ser
declarados em uma classe de modelo
http://www.arquiteturadesistemas.com.br 75
JSF
Analisando o padrão MVC
Endereço.java EndereçoBean.java
http://www.arquiteturadesistemas.com.br 76
JSF
Acesso via EL:
#{endereçoBean.endereco.rua}
enderecoBean.getEndereco().getRua()
http://www.arquiteturadesistemas.com.br 77
JSF
JSF Expression Language
http://www.arquiteturadesistemas.com.br 78
JSF
JSF EL
Semelhante ao JSTL porém usa-se #{} no lugar de ${}
Pode-se executar métodos no modelo através de expressões
Não é processada imediatamente como JSP EL
A partir da JSF 1.2 utiliza-se Unified Expression Language (JSP 2.1)
que resolve problemas de incompatibilidade entre a JSF-EL e JSP-EL
http://www.arquiteturadesistemas.com.br 79
JSF
Alguns Exemplos
http://www.arquiteturadesistemas.com.br 80
JSF
Sintaxe:
http://www.arquiteturadesistemas.com.br 81
JSF
Sintaxe:
http://www.arquiteturadesistemas.com.br 82
JSF
Escopos e variáveis:
http://www.arquiteturadesistemas.com.br 83
JSF
Escopos e variáveis:
http://www.arquiteturadesistemas.com.br 84
JSF
http://www.arquiteturadesistemas.com.br 85
JSF
Exercícios:
• Adicionar um atributo List (ArrayList) e inserir 5 elementos. Acessar o elemento da última posição na lista
• Adicionar um atributo Map(HashMap) e inserir 5 elementos. Acessar o elemento dado uma chave.
http://www.arquiteturadesistemas.com.br 86
JSF
Exercícios:
• Criar uma classes de modelo chamada Usuario com os atributos (nome,sobrenome e idade), o construtor do bean deverá iniciar seus atributos. Criar um Managed Bean chamado UsuarioBean que deverá ter um atributo do tipo Usuario. Esse atributo deve ser inicializado no Construtor.
Ex: usuario = new Usuario(“bruno”,”andrade”,18) • Criar dois componentes do tipo <h:outputText /> na página com os valores.
1. É maior de 18 anos 2. É menor de 18 anos
O primeiro deve ser exibido apenas se o usuario.idade >=18 O segundo deve ser exibido apenas se o usuario.idade <18 Dica: colocar uma condição no atributo rendered do componente visual. Ex : #{usuarioBean.idade > 18}
.
http://www.arquiteturadesistemas.com.br 87
JSF
JSF EL(Bindings)
Em JSF nós temos 3 tipos de bindings:
Value Binding
Method Binding
Component Binding
http://www.arquiteturadesistemas.com.br 88
JSF
JSF EL(Bindings)
Value Binding
Ligamos a propriedade de um bean como valor do componente
http://www.arquiteturadesistemas.com.br 89
JSF
JSF EL(Bindings)
Method binding
Ligamos o método como uma “ação” do componente
http://www.arquiteturadesistemas.com.br 90
JSF
JSF EL(Bindings)
Component Binding
Ligamos a propriedade de um bean como representação do
componente na view
http://www.arquiteturadesistemas.com.br 91
JSF
Exercício
Criar uma página com dois componentes, um input (HtmlInputText) e
um botão (HtmlCommandButton)(“OK”). Se o valor do input for maior que
1000, o nome do botão deve mudar para “tente novamente”
Altere o exercício anterior para desabilitar o botão caso o valor
entrado pelo usuário seja igual a 171
http://www.arquiteturadesistemas.com.br 92
JSF
Controle de Navegação
http://www.arquiteturadesistemas.com.br 93
JSF
Navegação
Navegação de uma página para outra
Simples e poderoso
Pode ser disparado através de um evento
Resultado (outcome) de uma Action
As regras de navegação são registradas no faces-config.xml
http://www.arquiteturadesistemas.com.br 94
JSF
Navegação
http://www.arquiteturadesistemas.com.br 95
JSF
É possível também navegar entre as páginas sem a necessidade de um Managed Bean, de maneira estática:
http://www.arquiteturadesistemas.com.br 96
JSF
Na navegação do JSF, é possível utilizar wildcard(*) para páginas de origem(from-view-id) :
http://www.arquiteturadesistemas.com.br 97
JSF
Exercício
Voltando ao formulário de login: Efetue uma lógica de autenticação
no método loginBean.logar() : Caso o login seja igual a senha entrada
pelo usuário, então você deve encaminha-lo para um página de
sucesso, caso contrário, limpe os campos e o usuário deve tentar logar
novamente na aplicação.
http://www.arquiteturadesistemas.com.br 98
JSF
Modelo de componentes
http://www.arquiteturadesistemas.com.br 99
JSF
Modelo de Componentes
Mensagens
Converters
Validators
Eventos e Listeners
Componentes Básicos
http://www.arquiteturadesistemas.com.br 100
JSF
Mensagens
São as mensagens de informação ou erro exibidas ao usuário da
aplicação. Qualquer parte da aplicação ( Managed Beans, Converters,
Validators etc) poderá gerar mensagens quando necessário
Basicamente existem dois tipos de mensagens de erro
Aplicação (lógica de negócios, banco de dados, conexão etc)
Inputs (conversão, validação de campos , etc)
http://www.arquiteturadesistemas.com.br 101
JSF
Mensagens
Mensagens da aplicação
http://www.arquiteturadesistemas.com.br 102
JSF
Mensagens
Mensagens dos inputs:
http://www.arquiteturadesistemas.com.br 103
JSF
Exercícios
Voltando ao formulário de login: Adicione mensagens de erro aos
inputs de login, e torne-os obrigatórios.
Ainda no formulário de login, no método loginBean.logar() : Caso o
login seja diferente da senha entrada pelo usuário, exiba uma
mensagem de erro da aplicação.
http://www.arquiteturadesistemas.com.br 104
JSF
Converters
Tem por finalidade converter e/ou formatar objetos do tipo Java para
String e vice-versa
O JSF já nos fornece converters padrões para date / time , inteiros,
números e moeda.
O JSF nos permite implementar nosso próprio converter
http://www.arquiteturadesistemas.com.br 105
JSF
Converters
http://www.arquiteturadesistemas.com.br 106
JSF
Exercício
Faça alguns testes com os converters padrões do JSF, utilize o artigo
que está no diretório do treinamento( treinamento_jsf/artigos/
converters.docx ).
http://www.arquiteturadesistemas.com.br 107
JSF
Implementando seu próprio converter
Devemos implementar a interface javax.faces.convert.Converter
Registar nosso converter no faces-config.xml
Informar ao componente JSF qual converter utilizar
http://www.arquiteturadesistemas.com.br 108
lwww.primeinformatica.com.br
JSF
Implementando seu próprio converter: Exemplo
http://www.arquiteturadesistemas.com.br 109
JSF
Implementando seu próprio converter: Exemplo : faces-config.xml – Mapeando o Converter
Aplicando o Converter em um componente:
http://www.arquiteturadesistemas.com.br 110
JSF
Implementando seu próprio converter: Exibindo o resultado no Bean
http://www.arquiteturadesistemas.com.br 111
JSF
Exercício
Implementar um converter que formate um CPF entrado pelo
usuário, ou seja, formatar um CPF como “646557720321” entrado pelo
usuário para “646.577.203-21” por exemplo.
Dica: Utilizar a classe NumberFormat
http://www.arquiteturadesistemas.com.br 112
JSF
Desafio Implementar um converter para o caso a seguir:
Saída:
Entrada
http://www.arquiteturadesistemas.com.br 113
JSF
Validators
Tem a responsabilidade de garantir que o valor entrado pelo
usuário seja válido
Você pode validar tantos objetos como Strings
O JSF já nos fornece validadores padrões como required, length e ranges
O JSF nos permite implementar nosso próprio validador.
http://www.arquiteturadesistemas.com.br 114
JSF
Validator padrão para length
http://www.arquiteturadesistemas.com.br 115
JSF
Validators
Devemos implementar a interface javax.faces.validator.Validator
Registrar o nosso validador no faces-config.xml.
Informar ao componente qual validador utilizar
http://www.arquiteturadesistemas.com.br 116
lwww.primeinformatica.com.br
JSF
Exemplo :Validator
Criação de um validador que impede o envio de caracteres especiais para um
atributo.
http://www.arquiteturadesistemas.com.br 117
JSF
Exemplo :Validator
Criação de um validador que impede o envio de caracteres especiais para um
atributo. faces-config.xml
http://www.arquiteturadesistemas.com.br 118
JSF
Exemplo :Validator
Criação de um validador que impede o envio de caracteres especiais para um
atributo. Utilizar a tag <f:validator> para vincular o validador a um componente.
http://www.arquiteturadesistemas.com.br 119
JSF
Exercícios:
Implementar um validador que não permita que uma data entrada pelo usuário seja
maior que a data atual
Implementar um validador que valide se o usuário entrou com um email válido
http://www.arquiteturadesistemas.com.br 120
JSF
Desafio:
Implementar um validador que validade se o CPF digitado está correto
http://www.arquiteturadesistemas.com.br 121
JSF
Eventos e Listeners
O JSF usa o modelo JavaBeans event/listener (também utilizado no Swing).
Componentes geram eventos, e listeners podem ser registrados para manipular esses
eventos
Os listeners mais comuns do JSF são:
Value-change listener
Action Listener
http://www.arquiteturadesistemas.com.br 122
JSF
Eventos e Listeners – Exemplo Value Change Listener
http://www.arquiteturadesistemas.com.br 123
JSF
Eventos e Listeners – Exemplo Action Listener
http://www.arquiteturadesistemas.com.br 124
JSF
Exercício
• Criar um componente do tipo <h:inputText> para armazenar um nome e um
botão do tipo <h:commandButton>. Caso o usuário digite um nome com mais de
8 caracteres , o botão deve ser habilitado, caso contrário o mesmo deve ser
desabilitado. Utilize o evento valueChangeListener para fazer essas verificações
http://www.arquiteturadesistemas.com.br 125
JSF
Plus: Detalhando os escopos do JSF 1.2
• Request Scope: todos os objetos armazenados no escopo
request, sobrevivem apenas a uma submissão ao ciclo de vida do
JSF. Exemplo:
A cada requisição é criada uma nova
instância do bean http://www.arquiteturadesistemas.com.br 126
JSF
Plus: Detalhando os escopos do JSF 1.2
• Session Scope: todos os objetos e atributos vinculados ao
ManagedBean, sobreviverão durante toda a sessão do usuário. A
sessão é definida pelo vinculo do navegador do usuário com o
servidor. Desta forma, se o usuário abrir dois navegadores, ele
estará criando duas sessões com o servidor.Exemplo:
A cada sessão é criada uma nova instância do
bean http://www.arquiteturadesistemas.com.br 127
JSF
Plus: Detalhando os escopos do JSF 1.2
• Application Scope: tudo armazenado neste escopo permanece
enquanto a aplicação estiver executando e é compartilhado entre todos os
usuários. É recomendado sempre que for necessário guardar informações
que podem ser utilizada por diversas partes da aplicação como parâmetros
e também implementar funcionalidades para prover comunicação entre
usuários. Exemplo:
É criado apenas uma instância do bean na
Aplicação http://www.arquiteturadesistemas.com.br 128
JSF
DAO(Data Access Object) + JSF
http://www.arquiteturadesistemas.com.br 129
JSF
Referências sobre PhaseListener
http://hslife.com.br/2010/12/18/controle-de-acesso-com-phaselistener/
http://www.arquiteturadesistemas.com.br 130
JSF
Referências sobre Facelets
• http://www.slideshare.net/drspockbr/justjava2008-facelets-presentation • http://jsftutorials.net/jsf1.2-and-Facelets.html
• http://pt.slideshare.net/cejug/anatomia-do-jsf-javaserver-faces
http://www.arquiteturadesistemas.com.br 131
JSF
Obrigado
LinkedIn • http://br.linkedin.com/in/brunobalintdeandrade
Site: • http://arquiteturadesistemas.com.br Pagina Facebook: • https://www.facebook.com/ArquiteturaDeSistemas.com.br Email : • bruno.balint@arquiteturadesistemas.com.br
http://www.arquiteturadesistemas.com.br 132
top related