Introduction au cycle de vie JSF

1. Côté serveur:

Le code que vous écrivez dans une application JavaServer Faces (JSF) s'exécute sur le serveur, mais les composants peuvent également inclure du code JavaScript qui s'exécute sur le client. Vous pouvez comparer cela aux frameworks côté client comme Angular où vous écrivez du code en JavaScript ou Typescript qui s'exécute du côté client dans le navigateur Web.

Le fait qu'il s'agisse d'une infrastructure côté serveur ne signifie pas que vous ne pouvez pas utiliser le code côté client dans l'application JSF. En fait, les composants JSF peuvent inclure la prise en charge JavaScript et JSF pour AJAX, pour la communication, le code côté client et côté serveur de l'équipe.

2. Basé sur les composants:

Les applications Web JavaServer Faces sont construites à l'aide de composants autonomes réutilisables comme blocs de construction, ce qui rend la création d'applications Web plus rapide et plus facile.

L'aspect le plus intéressant de JavaServer Faces, qui le distingue des frameworks d'application Web basés sur l'action, tels que Spring Web MVC (Model-View-Controller), Struts ou plain Servlets dans les pages JavaServer, est qu'il est basé sur les composants. Cela signifie qu'en JSF, les blocs de construction de votre application sont des composants réutilisables et autonomes.

Un composant peut être n'importe quelle partie d'une application Web. Il peut être aussi simple qu'un contrôle de formulaire HTML standard, tel qu'un champ de saisie de texte ou un bouton ou aussi complexe qu'un tableau avec prise en charge du tri et de la pagination.

Par exemple:

Un calendrier ou un graphique ou toute autre partie d'une application Web dont vous pouvez penser au cadre gère les composants d'une page et s'occupe de beaucoup de choses telles que la prise de saisie utilisateur à partir de champs de formulaire, la validation et la conversion de données et leur stockage en objets de modèle et en invoquant des actions.

JSF est livré avec un certain nombre de composants standard et il existe également des bibliothèques disponibles avec de nombreux composants prêts à l'emploi.

3. Cadre de l'interface utilisateur Web

JavaServer Faces se concentre sur la partie interface utilisateur des applications Web - vous définissez des pages dans le langage de définition de la vue Facelets.

Le langage de définition de vue standard utilisé dans JSF est appelé Facelets.

Différentes phases régulières du cycle de vie JSF

Il y a six phases régulières différentes dans le cycle de vie JSF. Le diagramme ci-dessus montre l'ordre typique où les six phases s'exécutent.

1. Phase de restauration de la vue

Cette phase commence chaque fois qu'un consommateur demande une page JSF en cliquant simplement sur un lien, un bouton, etc. Dans cette génération de vue de page, la liaison des composants aux gestionnaires d'événements et aux validateurs est effectuée ainsi que la vue est préservée dans l'objet FacesContext.

2. Appliquer la valeur de la demande

L'objectif de cette phase est que chaque composant récupère l'état actuel

3. Phase de validation des processus

Dans cette phase, les valeurs locales stockées pour obtenir le composant dans l'arborescence seront en comparaison avec les règles de validation autorisées pour obtenir les composants.

4. Phase de mise à jour des valeurs du modèle

Après avoir vérifié que les données sont valides dans la dernière phase, les valeurs locales des éléments peuvent être démarrées en fonction des propriétés d'objet basées sur le serveur, par exemple, les beans de sauvegarde.

5. Appelez la phase d'application

Avant cette phase, les valeurs des composants avaient été transformées, validées et placées sur les objets bean afin que vous puissiez les utiliser pour exécuter la logique métier de l'application.

6. Phase de réponse au rendu

Cette phase récupère une nouvelle vue si nécessaire en utilisant les valeurs des beans côté serveur, puis nous affichons la vue en utilisant les valeurs qui sont dans l'arborescence, puis pour les beans qui ne sont pas sur la demande, en d'autres termes sur la portée de la session ou la portée de l'application, nous le ferons puis enregistrez ceux de l'état actuel.

Comprendre les flux de visages avec l'application de démonstration dans l'exemple de la vie réelle

Ci-dessous, l'application de démonstration des flux de visage avec un exemple:

Le processus de paiement

  • Entrez les détails d'expédition
  • Nom et adresse
  • Entrez les détails du paiement
  • Nom, type et numéro de carte de crédit
  • Revoir la commande
  • Confirmer ou annuler la commande
  • Le paiement a réussi ou échoué

Voyons le flux de paiement avec les nœuds de flux dans le diagramme ci-dessous.

Un flux est composé d'un certain nombre de nœuds. Chaque nœud est intégré dans le flux qui exécute une fonction et spécifie le nœud à appeler ensuite. Dans la définition d'un flux, vous définissez les nœuds et les règles de navigation entre eux. Dans ce diagramme, vous voyez les nœuds du flux de paiement.

Cela commence par l'expédition, puis le paiement et la révision, puis le nœud d'exécution qui est l'endroit où le paiement est effectué et la commande est exécutée et enfin vérifie le succès ou l'échec du résultat, puis le processus est terminé.

Types de nœuds de flux dans le cycle de vie JSF

Il existe cinq types de nœuds différents dans le cycle de vie JSF.

Afficher le nœud

  • Afficher une vue (page)

Noeud d'appel de méthode

  • Appeler une méthode

Changer de nœud

  • Sélectionnez l'un d'une série de cas

Noeud de retour

  • Mettre fin au flux

Noeud d'appel de flux

  • Appeler un autre flux

Les flux sont similaires aux méthodes

Voici des méthodes d'écoulement similaires dans le cycle de vie JSF:

Point d'entrée, Paramètres, Points de sortie

  • Peut renvoyer une ou plusieurs valeurs

Portée du débit

  • Les beans à étendue de flux sont comme des variables locales

Appels de flux imbriqués

  • Pile d'appels

Une pile d'appels est utilisée pour garder une trace des invocations et des étendues de flux, exactement comme cela fonctionne avec la méthode Lorsqu'un flux est appelé, une nouvelle entrée est poussée dans la pile et lorsque le flux revient, son entrée est extraite de la pile. Il existe deux façons de spécifier la configuration du flux.

Fichier de configuration XML

  • Dans faces-config.xml ou dans un fichier séparé

En Java à l'aide de l'API Flow Builder

  • Méthode de producteur CDI avec annotation @FlowDefinition

Conclusion: cycle de vie JSF

Java Server Faces (JSF) est le concept standard pour établir des applications Web en Java. Même ainsi, tout au long du développement et du déploiement des applications JSF, de nombreuses performances et configurations doivent être appliquées pour rendre les applications plus sûres, fiables et efficaces.

Articles recommandés

Ceci a été un guide sur le cycle de vie JSF. Ici, nous avons discuté des six différentes phases régulières du cycle de vie JSF et de cinq types de nœuds différents dans le cycle de vie JSF. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. JSP vs JSF - Principales différences
  2. Java EE vs Spring
  3. Questions d'entretiens chez Java Servlet
  4. Carrière en Java