Apresentação jsf 1_2
Upcoming SlideShare
Loading in...5
×
 

Apresentação jsf 1_2

on

  • 341 views

 

Statistics

Views

Total Views
341
Slideshare-icon Views on SlideShare
340
Embed Views
1

Actions

Likes
0
Downloads
9
Comments
0

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Apresentação jsf 1_2 Apresentação jsf 1_2 Presentation 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
    • JSF Apresentação Bruno Balint de Andrade - Consultor de Sistemas 7 anos desenvolvendo com Java Certificações Java : OCJA , SCJP, OCWCD http://www.arquiteturadesistemas.com.br 3
    • JSF Ambiente de Desenvolvimento Eclipse Kepler com plugin Jboss Tools Apache Tomcat 6 e 7 JDK 6.0 http://www.arquiteturadesistemas.com.br 4
    • JSF Desenvolvimento Web 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 http://www.arquiteturadesistemas.com.br 5
    • lJSF Desenvolvimento Web (Timeline Java) http://www.arquiteturadesistemas.com.br 6
    • lJSF Desenvolvimento Web (Arquitetura Centrada em Páginas) http://www.arquiteturadesistemas.com.br 7
    • lJSF Desenvolvimento Web (Arquitetura Centrada em Páginas) http://www.arquiteturadesistemas.com.br 8
    • lJSF Desenvolvimento Web (Model 2 - MVC) http://www.arquiteturadesistemas.com.br 9
    • JSF Surgiram diversos frameworks MVC baseado no Model 2 Struts 1 e 2 Spring MVC Tapestry E muitos outros... • E ainda continuam surgindo mais http://www.arquiteturadesistemas.com.br 10
    • JSF Surgiram diversos frameworks MVC baseado no Model 2(Problemas) 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 http://www.arquiteturadesistemas.com.br 11
    • JSF E a solução foi? JAVA SERVER FACES http://www.arquiteturadesistemas.com.br 12
    • JSF Mas o que é JAVA SERVER FACES? http://www.arquiteturadesistemas.com.br 13
    • JSF JavaServer Faces é: … 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) http://www.arquiteturadesistemas.com.br 14
    • JSF JavaServer Faces é: … 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 http://www.arquiteturadesistemas.com.br 15
    • JSF JavaServer Faces é: … 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 http://www.arquiteturadesistemas.com.br 16
    • JSF JavaServer Faces é: … 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 http://www.arquiteturadesistemas.com.br 17
    • JSF JavaServer Faces é: … 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 http://www.arquiteturadesistemas.com.br 18
    • JSF JavaServer Faces é: … 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,...) http://www.arquiteturadesistemas.com.br 19
    • JSF Porque usar JavaServer Faces? http://www.arquiteturadesistemas.com.br 20
    • JSF Porque usar JavaServer Faces? É 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 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
    • JSF Porque usar JavaServer Faces? 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 http://www.arquiteturadesistemas.com.br 25
    • JSF Porque usar JavaServer Faces? http://www.arquiteturadesistemas.com.br 26
    • JSF Criando Projeto Web 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 Adicionando as bibliotecas do JSF Selecione o projeto e pressione alt+enter para acessar as propriedades do projeto 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
    • 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 lwww.primeinformatica.com.br
    • 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 conversação. Application, Session, Request, None http://www.arquiteturadesistemas.com.br 67 com seu escopo de
    • JSF Managed Beans Mas como “linkar” nosso MB aos componentes do nosso formulário? http://www.arquiteturadesistemas.com.br 68
    • JSF Managed Beans http://www.arquiteturadesistemas.com.br 69 lwww.primeinformatica.com.br
    • 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 http://www.arquiteturadesistemas.com.br EndereçoBean.java 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( converters.docx ). http://www.arquiteturadesistemas.com.br 107 treinamento_jsf/artigos/
    • 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
    • JSF Implementando seu próprio converter: Exemplo http://www.arquiteturadesistemas.com.br 109 lwww.primeinformatica.com.br
    • JSF Implementando seu próprio converter: Exemplo : facesconfig.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: Entrada Saída: 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
    • JSF Exemplo :Validator Criação de um validador que impede o envio de caracteres especiais para um atributo. http://www.arquiteturadesistemas.com.br 117 lwww.primeinformatica.com.br
    • 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