Spring MVC - Validator


Objectifs

  • Comprendre le mécanisme utilisé par Spring MVC pour la validation d'un formulaire.
Validation

La validation ne fait pas partie du module Spring MVC mais elle est déléguée à l’infrastructure de validation fournie par Spring et ceci en implémentant l’interface org.springframework.validation.Validator.
Deux types de validaton sont possibles :
  • Programmatique validation : les règles de validation sont implémentées dans une classe java.
  • Déclaratif validation : les règles de validation sont déclarées dans un fichier de configuration.
Le schéma ci-dessous décrit le cycle de traitement d’une requête par Spring MVC. Ce qui nous intéresse, à ce niveau, est l’étape de validation du formulaire, mais ceci n’empêche pas de décrire tout le cycle à titre de rappel.

validationschema.jpg

Spring MVC - SimpleFormController


Objectifs

  • Comprendre le processus de traitement d’une requête par le contrôleur SimpleFormController.
  • Comprendre les méthodes utilisées par le contrôleur SimpleFormController.
Processus de traitement d’une requête

Nous décrivons ci-dessous le cycle de traitement d’une requête  par le  contrôleur SimpleFormContoller. Après le submit du formulaire le form bean envoyé vers le contrôleur passe par plusieurs méthodes pour être traité.

simpleformcontrollerprocess.jpg

Spring MVC Controllers

Objectifs: 

  • Déterminer les cas d’utilisation des contrôleurs implémentés par Spring MVC
  • Déterminer le fonctionnement des contrôleurs : AbstractController et AbstractCommandController
Spring MVC controllers

Un grand plus que marque Spring MVC par rapport aux autres framework telleque Struts ou WebWork, c’est qu’il offre une panoplies de contrôleurs dont chaque un est spécifique à un traitement bien particulier. Mais pour profiter de cet avantage il faut bien comprendre le fonctionnement de chaque contrôleur à fin de faire le bon choix.


Les contrôleurs de Spring MVC peuvent être classés en six catégories, nous décrivons dans le tableau ci-dessous en quel cas on peut choisir chaque type.