JSF - Ciclo de Vida e Escopo Managed beans

Ao executar uma página construída usando componentes JSF, ela passará por um ciclo de vida de processamento bem definido, constituído por 6 fases, como seguem:

  1. Restaurar visão
  2. Aplicar valores de requisição
  3. Processar validações
  4. Atualizar os valores do modelo
  5. Invocar a aplicação
  6. Renderizar a resposta

Veja abaixo uma ilustração deste ciclo:

1. Restaurar visão
Recupera a hierarquia de componentes para a página solicitada:
Se for a primeira exibição - constrói uma nova hierarquia de componentes.
Se a página já tiver sido exibida - todos os componentes são recuperados em seu estado anterior.

Isso dá condições dos dados de um formulário submetido ao servidor serem recuperados, caso ocorra algum problema de validação ou restrição de regra de negócio. Por exemplo, se um formulário solicita campos obrigatórios que não são totalmente preenchidos, porém enviados pelo usuário, o mesmo formulário deve aparecer novamente com os campos que não estavam vazios já preenchidos, porém com mensagens de erro indicando os campos requeridos.

2. Aplicar valores de requisição
Nesta fase, cada componente tem a chance de atualizar seu próprio estado com informações que vieram da requisição.

3. Processar validações
Nesta fase, os valores submetidos são convertidos em tipos específicos e anexados aos componentes

Quando você programa uma página em JSF, você pode incluir validadores para criticarem os valores recebidos pelos usuários. Neste momento, os validadores entram em ação e, se ocorrerem erros de conversão ou de validação, a fase de renderização de resposta é invocada imediatamente, pulando todas as outras fases, e exibindo a página atual novamente, para que o usuário possa corrigir os erros e submeter os dados mais uma vez.

4. Atualizar os valores do modelo
Durante esta fase, os valores anexados (chamados de valores locais) aos componentes são atualizados nos objetos do modelo de dados e os valores locais são limpos.

5. Invocar a aplicação
Os eventos que originaram o envio do formulário ao servidor são executados. Por exemplo, ao clicar em um botão para submeter um cadastro, a programação do evento deste botão deve ser executada. Em alguns casos, a execução do evento pode retornar um identificador dizendo qual é a próxima página a ser exibida, ou simplesmente não retornar nada para re-exibir a mesma página.

6. Renderizar a resposta
Por último, a fase de renderização da resposta gera a saída com todos os componentes nos seus estados atuais e envia para o cliente. O ciclo recomeça sempre que o usuário interage com a aplicação e uma requisição é enviada ao servidor.

Escopo dos beans no JSF.
Os quatro escopos permitidos são: 
  1. None: o bean receberá uma nova instância a cada vez que for referenciado;
  2. Request: tem vida curta. Ele começa quando uma requisição HTTP é submetida e termina quando a resposta é enviada de volta ao cliente;
  3. Session: Ideal para uma aplicação onde as transações com o usuário são importantes. Por exemplo, para um sistema de comércio eletrônico, que detêm um carrinho de compras virtual;
  4. Application: persiste por toda a duração da execução da aplicação web. Este escopo é compartilhado por todas as requisições e por todas as sessões de todos os usuários.

SHARE ON:

Hello guys, I'm Tien Tran, a freelance web designer and Wordpress nerd. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae.

    Blogger Comment

0 comentários :

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.