• Nenhum resultado encontrado

JavaServer Faces – JSF2

N/A
N/A
Protected

Academic year: 2022

Share "JavaServer Faces – JSF2"

Copied!
27
0
0

Texto

(1)

JavaServer Faces – JSF2

04. Ciclo de vida JSF e autenticação

Esp. Márcio Palheta

gtalk: [email protected]

(2)

Agenda

Árvore de componentes - AC

Ciclo de vida de uma requisição JSF

Criação da tela de login

Criação da tela de login

Navegação condicional;

Aplicando layout à tela de login;

Redirecionamento de páginas

(3)

Árvore de componentes - AC

Estrutura que representa no servidor

todos os componentes visuais utilizados em arquivos xhtml;

em arquivos xhtml;

Armazenamento da árvore:

No servidor: Consumo de memória na sessão do usuário, porém, escalável;

No cliente: é envida a cada requisição, em

campos do tipo hidden, consumindo banda

(4)

Armazenamento da árvore de componentes no JSF2

O armazenamento foi melhorado,

passando a consumir menos recursos;

Em versões anteriores, todos os

Em versões anteriores, todos os componentes eram armazenados;

Na versão 2, são armazenados apenas os estados que foram alterados,

consumindo menos recursos;

(5)

Alteração da forma de armazenamento

Padrão: sessão do usuário

Para armazenamento na máquina cliente, precisamos incluir um parâmetro no

precisamos incluir um parâmetro no

arquivo web.xml:

(6)

Ciclo de vida de uma

requisição JSF

(7)

1ª fase: Restore view

Restauração da view;

O JSF recebe uma requisição;

Cria a AC na primeira requisição;

Cria a AC na primeira requisição;

O estado da AC é recuperado de acordo com o local de armazenamento;

Na sessão, teríamos algo como:

AC arvore = (AC)session.getAttribute(“arvore”).

(8)

2ª Fase: Apply Request Values

Aplicar os valores da requisição;

JSF recupera os valores que vieram com a requisição, e os aplica em seus

a requisição, e os aplica em seus respectivos componentes;

Porem, ainda são representados em Strings. Ex.:

String parNome =

request.getParameter(“produto.nome”)

(9)

3ª Fase: Process validation

Conversão e processamento de validações;

O JSF converte os valor recebido para o

O JSF converte os valor recebido para o tipo adequado, esperado pelo

componente;

Após a conversão, o valor estará com o tipo correto e estará pronto para ser

validado;

(10)

4ª Fase: Update model values

Atualizar os valores do modelo;

Os atributos do ManagedBean são

povoados com os valores que chegaram povoados com os valores que chegaram na requisição;

O JSF usa o binding feito no código das

telas, para mapear o valores da request

a seus respectivos atributos;

(11)

4ª Fase: Update model values

O Managed Bean cria os objetos e

preenche os valores de ser atributos.

Ex:

Ex:

(12)

5ª Fase: Invoke applications

Invocar lógica de negócio;

Com o ManagedBean populado, o JSF pode executar o método determinado pode executar o método determinado pela requisição;

A navegação para outras páginas, também é feita nesta fase;

Ex: produtoBean.salvar()

(13)

6ª Render response

Renderizar a resposta para o usuário;

O JSF guarda a Arvore de Componentes atual;

atual;

Verifica as diferenças entre os estados iniciais e atuais de cada componente;

O JSF armazena as diferenças:

arvore = requisicao.gerarArvore();

session.setAttribute(“arvore”, arvore);

(14)

Autenticação de usuários

Controle de acesso de usuários;

Precisamos de uma entidade Usuario;

Página para autenticação: login.xhtml;

Página para autenticação: login.xhtml;

Uso da tag h:inputSecret;

Classe DAO para consulta de usuários;

Envio da requisição para o Managed

Bean;

(15)

Usuario.java

package br.curso.jsf2.model.bean

(16)

Página login.xhtml

(17)

br.curso.jsf2.model.dao.

UsuarioDAO

(18)

Integração de telas

O atributo action de h:commandButton permite que seja informada a próxima página:

página:

<h:commandButton value=“Login”

action=“produto” />

JSF procura um arquivo .xhtml com o nome indicado em action;

O action é conhecido como outcome;

(19)

Navegação condicional

No caso do login, precisamos verificar se os dados de autenticação são válidos

Vamos usar o retorno do método

Vamos usar o retorno do método efetuarLogin para gerar o outcome;

O complemento “?faces-rdirect=true”

(20)

br.curso.jsf2.control.mb.

LoginBean.java

(21)

Exercícios:

Inicie ou reinicie o Tomcat;

Acesse a página de login:

No MySQL, cadastre novo usuário e

teste a aplicação

(22)

Dados do usuário logado

Adicione no cabeçalho de produto.xhtml,

o login do usuário autenticado:

(23)

Atividades

Faça login e verifique que o login do

usuário aparece no canto direito da tela

Adicione ou altere um produto;

Adicione ou altere um produto;

O que aconteceu com o login, que deveria estar no canto direito?

E agora?

(24)

Mantendo o estado do usuário

Precisamos saber qual usuário está autenticado no sistema;

Managed Bean com escopo de request,

Managed Bean com escopo de request, perde seus dados após a requisição;

Vamos usar o SessionScoped:

(25)

Exercícios

Mude o escopo da classe LoginBean;

Faça novo login na aplicação;

Cadastre e altere produtos;

Cadastre e altere produtos;

Verifique se o login do usuário continua em cada nova requisição;

Aplique o layout à página de login: CSS,

cabeçalho e rodapé;

(26)

Referências

http://www.caelum.com.br;

http://java.sun.com/

http://java.sun.com/j2ee/1.6/docs/tutorial/d

http://java.sun.com/j2ee/1.6/docs/tutorial/d oc/index.html

http://java.sun.com/products/jndi/docs.html

http://java.sun.com/blueprints/corej2eepatte

rns/Patterns/index.html

(27)

JavaServer Faces – JSF2

04. Ciclo de vida JSF e autenticação

Esp. Márcio Palheta

gtalk: [email protected]

Referências

Documentos relacionados

O Minarc Evo também pode ser utilizado para soldagem TIG comum e controle remoto da corrente3. Os códigos para encomenda de equipamentos adicionais necessários para soldagem TIG

“País de mestiços onde o branco não tem força para organizar uma Kux-Klan é país perdido para altos destinos.. (…) Um dia se fará justiça ao

Os psicólogos ajudam diariamente muitas pessoas de todas as ida- des e com todos os tipos de problemas que buscam os conhecimentos da psicologia para ajudá-las a terem uma melhor

O processo de disseminação de conteúdo poluído foi avaliado, via simulação, medindo a fração de downloads de objetos não poluídos, considerando dois mecanismos de introdução

1414-2/00 FABRICAÇÃO DE ACESSÓRIOS DO VESTUÁRIO, EXCETO PARA SEGURANÇA E PROTEÇÃO N S FABRICANTE DE CONSERVAS DE FRUTAS 1031-7/00 FABRICAÇÃO DE CONSERVAS DE FRUTAS N S

Além da atuação com o paciente e família, a inserção do psicólogo também é de grande valia para toda a equipe multidisciplinar de saúde que atua no contexto, pois

financiamento da “Empreitada de Ampliação do Edifício da Associação Humanitária de Bombeiros Voluntários de Angra do Heroísmo – Secção dos Altares”, no valor de €58

• Objetos declarados com nesse escopo são válidos durante a requisição e são acessíveis mesmo quando a requisição é encaminhada para programa no mesmo ambiente. Objetos