Cursos / Informática para Internet / Desenvolvimento Web II / Aula

arrow_back Aula 01 - Introdução ao Javaserver Faces

Ciclo de Vida

Agora que você já conhece o que é o JSF, vamos conhecer e entender o ciclo de vida de uma requisição para uma aplicação desenvolvida com esse framework e como sua resposta é gerada. O ciclo de vida do JSF, apresentado na Figura 2, é composto pelas seguintes fases:

  1. restaurar a visualização;
  2. aplicar valores da requisição;
  3. processar as validações;
  4. atualizar os valores no modelo;
  5. invocar a aplicação;
  6. renderizar a resposta.

Observe que temos a presença do MVC nesse ciclo de vida, representadas pelas fases de restaurar a visualização e atualizar os valores no modelo, demonstrando que o JSF realmente é um framework MVC.

Ciclo de vida das aplicações JSF.

Então, a primeira fase desse ciclo de vida é a restauração da visualização iniciada a partir de um clique em botão ou link da aplicação JSF. Nessa fase o JSF cria a visualização ligando os eventos e validadores aos componentes definidos na página (árvore de componentes). Essas informações sobre a visualização são incluídas na instância do FacesContext, que é criada ao iniciar uma requisição e destruída no fim da mesma. Após a primeira fase, essa instância possuirá as informações necessárias para processar a requisição.

A segunda fase é a aplicação dos valores da requisição. Todos os valores presentes nos componentes são extraídos e armazenados em seus respectivos tipos. Por exemplo, se o valor presente em um componente não for uma String, então ele é convertido para seu determinado tipo (boolean, int, long, double, etc). Caso essa conversão falhe, uma mensagem de erro é gerada e associada ao componente e será exibida na fase de renderização da resposta junto com possíveis erros de validação detectados na fase de processamento de validações (terceira fase do ciclo).

A terceira fase é o processamento das validações. Nessa fase todas as validações definidas para os componentes presentes na página são realizadas. Caso alguma validação falhe, uma mensagem de erro é gerada e associada ao componente. Em seguida, a fase de renderização é invocada apresentando as mensagens de validação.

Passamos então para a quarta fase: atualização dos valores do modelo. Observe que as fases de aplicação dos valores da requisição e processamento das validações garantirá que tudo ocorra bem nessa quarta fase, pois todos os componentes já foram convertidos e validados. Com isso, nesse momento os dados do modelo da aplicação são atualizados.

Agora já estamos prontos para a quinta fase: invocação da aplicação. Nessa fase o JSF manipula os eventos da aplicação. É nesse momento que a ação associada a um determinado botão ou link será realizada. Por fim, chegamos à fase de renderização da resposta. Essa é a fase final do ciclo de vida, que tem o objetivo de renderizar a página para o usuário com o resultado de toda a execução do mesmo.

Interessante esse ciclo de vida, não é? Relembre que ele é realizado no lado servidor. Observe que validar as entradas antes de atualizar os valores do modelo da aplicação otimiza o processamento envolvido nesse ciclo, uma vez que a não validação dos dados acarreta na renderização da resposta, ou seja, nenhuma fase posterior é realizada. Agora estamos prontos para criar nossa primeira aplicação com o JSF!

Versão 5.3 - Todos os Direitos reservados