Architecture
La configuration se base sur le fichier web.xml et le fichier faces-config.xml. web.xml
Les dernières versions 2 des frameworks permettent de se passer de ces fichiers via les annotations comme nous le verrons dans un exemple.
Sous une vision simpliste :
-
La requête arrive au contrôleur.
-
Le contrôleur valide les données.
-
S’il y a des erreurs, la page en cours est retournée avec les erreurs.
-
Sinon il cherche la vue correspondant à la réponse.
-
La vue interroge les beans managés présents dans la page ; ces beans sont soit des données métier, soit des services.
-
La couche métier et/ou DAO renvoie les données à la page.
-
La page est ensuite rendue.
Il est possible de court-circuiter des étapes lors des appels AJAX. Il faut considérer qu’il y a un contexte sur le serveur. Ce contexte est en relation avec la page. Il contient la structure de la page au niveau des composants avec les données métier (services et data). La page modifie le contexte puis le retourne. Le contexte retourné peut être valide ou invalide du point de vue de la validité des données modifiées. Les données ne peuvent être enregistrées que si le modèle est valide.
Il faudra éviter d’avoir des rollbacks venant d’une interruption lors de la mise à jour en base car cela corrompt le contexte.
Le contexte est de type FacesContext et contient toutes les informations nécessaires au...