Introducción al ciclo de vida de JSF

1. Del lado del servidor:

El código que escribe en una aplicación JavaServer Faces (JSF) se ejecuta en el servidor, pero los componentes también pueden incluir código JavaScript que se ejecuta en el cliente. Puede contrastar esto con los marcos del lado del cliente como Angular, donde escribe código en JavaScript o Typecript que se ejecuta en el lado del cliente en el navegador web.

El hecho de que sea un marco del lado del servidor no significa que no pueda usar el código del lado del cliente en la aplicación JSF. De hecho, los componentes JSF pueden incluir compatibilidad con JavaScript y JSF para AJAX, para la comunicación, el código del lado del cliente del equipo y del lado del servidor.

2. Basado en componentes:

Las aplicaciones web JavaServer Faces se crean utilizando componentes reutilizables y autónomos como bloques de construcción, lo que hace que la creación de aplicaciones web sea más rápida y fácil.

El aspecto más interesante de JavaServer Faces, que lo distingue de los marcos de aplicaciones web basados ​​en acciones, como Spring Web MVC (Model-View-Controller), Struts o Servlets simples en páginas JavaServer es que está basado en componentes. Esto significa que en JSF los componentes básicos de su aplicación son componentes reutilizables y autónomos.

Un componente puede ser cualquier parte de una aplicación web. Puede ser tan simple como un control de formulario HTML estándar, como un campo de entrada de texto o un botón, o una tabla tan compleja con soporte de ordenación y paginación.

Por ejemplo:

Un calendario o un gráfico o cualquier otra parte de una aplicación web en la que pueda pensar que el marco administra los componentes de una página y se ocupa de muchas cosas, como tomar la entrada del usuario de los campos de formulario, validar y convertir datos y almacenarlos en objetos modelo e invocando acciones.

JSF viene con una serie de componentes estándar y también hay bibliotecas disponibles con muchos componentes listos para usar.

3. Marco de la interfaz de usuario web

JavaServer Faces se centra en la parte de la interfaz de usuario de las aplicaciones web: usted define páginas en el lenguaje de definición de la vista Facelets.

El lenguaje de definición de vista estándar utilizado en JSF se llama Facelets.

Diferentes fases regulares del ciclo de vida de JSF

Hay seis fases regulares diferentes dentro del ciclo de vida de JSF. El diagrama anterior muestra el orden típico donde se realizan las seis fases.

1. Restaurar la fase de visualización

Esta fase comienza cada vez que un consumidor solicita una página JSF simplemente haciendo clic en un enlace, botón, etc. En esta generación de vista de página, se realiza el enlace de componentes a los controladores y validadores de eventos, así como la vista se conserva dentro del objeto FacesContext.

2. Aplicar valor de solicitud

El objetivo de esta fase se hace para que cada componente recupere el estado actual

3. Fase de validaciones de proceso

En esta fase, los valores locales almacenados para obtener el componente en el árbol se compararán con las reglas de validación autorizadas para obtener los componentes.

4. Actualizar la fase de valores del modelo

Después de verificar que los datos son válidos en la última fase, los valores locales de los elementos podrían iniciarse en relación con las propiedades de los objetos basados ​​en el servidor, por ejemplo, respaldar beans.

5. Invocar fase de solicitud

Antes de esta fase, los valores de los componentes se habían transformado, validado y puesto en los objetos bean para que pueda utilizarlos para realizar la lógica empresarial de la aplicación.

6. Fase de respuesta de procesamiento

Esta fase obtiene una nueva vista si es necesario usando valores de beans del lado del servidor, luego mostramos la vista usando los valores que están en el árbol y luego para beans que no están en la solicitud, en otras palabras, en el alcance de la sesión o el alcance de la aplicación, lo haremos luego guardar esos el estado actual.

Comprender los flujos de caras con la aplicación de demostración en el ejemplo de la vida real

A continuación se muestra la aplicación de demostración de flujos faciales con un ejemplo:

El proceso de pago

  • Ingrese los detalles de envío
  • Nombre y dirección
  • Ingrese los detalles de pago
  • Nombre, tipo de tarjeta de crédito y número
  • Revisar orden
  • Confirmar o cancelar el pedido
  • Pago exitoso o fallido

Veamos Flujo de pago con nodos de flujo en el siguiente diagrama.

Un flujo consta de varios nodos. Cada nodo se escalona en el flujo que realiza alguna función y especifica qué nodo debe llamarse a continuación. En la definición de un flujo, usted define los nodos y las reglas para navegar entre ellos. En este diagrama, verá los nodos del flujo de pago.

Comienza con el envío, luego el pago y la revisión, luego el nodo de ejecución, que es donde se realiza el pago y se completa el pedido y finalmente verifica el resultado exitoso o fallido, y luego el proceso finaliza.

Tipos de nodos de flujo en el ciclo de vida de JSF

Hay cinco tipos diferentes de nodos en JSF Life Cycle.

Ver nodo

  • Mostrar una vista (página)

Nodo de llamada al método

  • Llamar a un método

Cambiar nodo

  • Seleccione uno de una serie de casos

Nodo de retorno

  • Terminar el flujo

Nodo de llamada de flujo

  • Llamar a otro flujo

Los flujos son similares a los métodos

A continuación hay métodos de flujo similares en el ciclo de vida de JSF:

Punto de entrada, parámetros, puntos de salida

  • Puede devolver uno o más valores

Alcance de flujo

  • Los beans de flujo son como variables locales

Llamadas de flujo anidadas

  • Pila de llamadas

Una pila de llamadas se utiliza para realizar un seguimiento de las invocaciones y los alcances de los flujos, exactamente como funciona con el método. Cuando se llama a un flujo, se empuja una nueva entrada a la pila y cuando el flujo regresa, su entrada se saca de la pila. Hay dos formas de especificar la configuración del flujo.

Archivo de configuración XML

  • En faces-config.xml o en un archivo separado

En Java usando la API Flow Builder

  • Método de productor de CDI con anotación @FlowDefinition

Conclusión: Ciclo de vida de JSF

Java Server Faces (JSF) es el concepto estándar para establecer aplicaciones web en Java. Aun así, durante el desarrollo y la implementación de las aplicaciones JSF, existen numerosas configuraciones y rendimiento que deben aplicarse para ayudar a que las aplicaciones sean más seguras, confiables y efectivas.

Artículos recomendados

Esta ha sido una guía sobre el ciclo de vida de JSF. Aquí hemos discutido las seis fases regulares diferentes del ciclo de vida de JSF y cinco tipos diferentes de nodos en el ciclo de vida de JSF. También puede consultar los siguientes artículos para obtener más información:

  1. JSP vs JSF: principales diferencias
  2. Java EE vs Spring
  3. Preguntas de la entrevista de Java Servlet
  4. Carrera en Java