Introdução ao Ciclo de Vida JSF

1. Lado do servidor:

O código que você escreve em um aplicativo JavaServer Faces (JSF) é executado no servidor, mas os componentes também podem incluir código JavaScript que é executado no cliente. Você pode contrastar isso com estruturas do lado do cliente, como Angular, onde você escreve código em JavaScript ou Typescript, que é executado no lado do cliente no navegador da web.

O fato de ser uma estrutura do lado do servidor não significa que você não pode usar o código do lado do cliente no aplicativo JSF. De fato, os componentes JSF podem incluir suporte a JavaScript e JSF para AJAX, para comunicação, o código do lado do cliente e do servidor da equipe.

2. Baseado em componentes:

Os aplicativos Web JavaServer Faces são criados usando componentes reutilizáveis ​​e independentes como blocos de construção, tornando a criação de aplicativos Web mais rápida e fácil.

O aspecto mais interessante do JavaServer Faces, que o diferencia das estruturas de aplicativos da Web baseadas em ação, como Spring Web MVC (Model-View-Controller), Struts ou Servlets comuns nas páginas do JavaServer, é que ele é baseado em componentes. Isso significa que no JSF os blocos de construção do seu aplicativo são componentes reutilizáveis ​​e independentes.

Um componente pode ser qualquer parte de um aplicativo da web. Pode ser tão simples quanto um controle de formulário HTML padrão, como um campo de entrada de texto ou um botão ou uma tabela complexa com suporte a classificação e paginação.

Por exemplo:

Um calendário ou um gráfico ou qualquer outra parte de um aplicativo da Web que você possa imaginar na estrutura gerencia os componentes em uma página e cuida de várias coisas, como receber a entrada do usuário dos campos do formulário, validar e converter dados e armazená-los em objetos de modelo e invocando ações.

O JSF vem com vários componentes padrão e também existem bibliotecas disponíveis com muitos componentes prontos para uso.

3. Estrutura da UI da Web

O JavaServer Faces está focado na parte da interface com o usuário dos aplicativos da web - você define as páginas na linguagem de definição de visualização do Facelets.

A linguagem de definição de visualização padrão usada no JSF é chamada Facelets.

Diferentes fases regulares do ciclo de vida do JSF

Existem seis fases regulares diferentes dentro do ciclo de vida do JSF. O diagrama acima mostra a ordem típica em que as seis fases são executadas.

1. Restaurar fase de exibição

Essa fase começa sempre que um consumidor solicita uma página JSF simplesmente clicando em um link, botão e assim por diante. Nesta geração de visualização de página, a ligação de componentes aos manipuladores e validadores de eventos é executada, bem como a visualização é preservada no objeto FacesContext.

2. Aplicar valor da solicitação

O objetivo desta fase é feito para cada componente recuperar o estado atual

3. Fase de Validações de Processo

Nesta fase, os valores locais armazenados para obter o componente na árvore serão comparados às regras de validação autorizadas para obter os componentes.

4. Fase de atualização dos valores do modelo

Após verificar se os dados são válidos na última fase, os valores locais dos elementos podem ser iniciados relacionados às propriedades do objeto baseado no servidor, por exemplo, backing beans.

5. Invocar Fase de Aplicação

Antes dessa fase, os valores dos componentes foram transformados, validados e colocados nos objetos de bean para que você possa utilizá-los para executar a lógica de negócios do aplicativo.

6. Fase de resposta de renderização

Essa fase busca uma nova visualização, se necessário, usando valores de beans do lado do servidor. Em seguida, produzimos a visualização usando os valores que estão na árvore e, em seguida, para beans que não estão na solicitação, em outras palavras, no escopo da sessão ou no escopo do aplicativo. então salve o estado atual.

Noções básicas sobre fluxos de faces com aplicativo de demonstração no exemplo da vida real

Abaixo está a aplicação demo de fluxos de face com um exemplo:

O processo de checkout

  • Digite os detalhes da remessa
  • Nome e endereço
  • Digite os detalhes do pagamento
  • Nome, tipo e número do cartão de crédito
  • Revisar pedido
  • Confirme ou cancele o pedido
  • Pagamento bem-sucedido ou com falha

Vamos ver Fluxo de caixa com nós de fluxo no diagrama abaixo.

Um fluxo consiste em um número de nós. Cada nó é pisado no fluxo que executa alguma função e especifica qual nó deve ser chamado a seguir. Na definição de um fluxo, você define os nós e as regras para navegar entre eles. Neste diagrama, você vê os nós do fluxo de checkout.

Começa com a remessa, depois o pagamento e a revisão e, em seguida, o nó de execução, onde é feito o pagamento e o pedido é realizado e, finalmente, verifica o êxito ou falha do resultado e, em seguida, o processo é concluído.

Tipos de nós de fluxo no ciclo de vida do JSF

Existem cinco tipos diferentes de nós no ciclo de vida do JSF.

Nó de visualização

  • Exibir uma visualização (página)

Nó de chamada de método

  • Chame um método

Mudar nó

  • Selecione um de uma série de casos

Nó de retorno

  • Termine o fluxo

Nó de chamada de fluxo

  • Chamar outro fluxo

Os fluxos são semelhantes aos métodos

Abaixo estão métodos de fluxo semelhantes no ciclo de vida do JSF:

Ponto de entrada, Parâmetros, Pontos de saída

  • Pode retornar um ou mais valores

Escopo de fluxo

  • Os beans com escopo definido no fluxo são como variáveis ​​locais

Chamadas de fluxo aninhadas

  • Pilha de chamadas

Uma pilha de chamadas é usada para rastrear invocações e escopos de fluxos, exatamente como ele funciona com o método. Quando um fluxo é chamado, uma nova entrada é empurrada para a pilha e, quando o fluxo retorna, sua entrada é removida da pilha. Existem duas maneiras de especificar a configuração do fluxo.

Arquivo de Configuração XML

  • Em faces-config.xml ou em um arquivo separado

Em Java, usando a API do Flow Builder

  • Método produtor de CDI com anotação @FlowDefinition

Conclusão: Ciclo de Vida JSF

O Java Server Faces (JSF) é o conceito padrão para estabelecer aplicativos da web em Java. Mesmo assim, durante todo o desenvolvimento e a implantação de aplicativos JSF, existem inúmeras configurações e desempenho que precisam ser aplicadas para ajudar a tornar os aplicativos mais seguros, confiáveis ​​e eficazes.

Artigos recomendados

Este foi um guia sobre o ciclo de vida do JSF. Aqui discutimos as seis diferentes fases regulares do ciclo de vida do JSF e cinco tipos diferentes de nós no ciclo de vida do JSF. Você também pode consultar os seguintes artigos para saber mais -

  1. JSP vs JSF - Principais Diferenças
  2. Java EE vs Spring
  3. Perguntas da entrevista sobre servlet Java
  4. Carreira em Java