Java côté serveur: traitement avancé des formulaires à l'aide de JSP

En règle générale, le traitement des formulaires implique plusieurs composants fonctionnant en arrière-plan, chaque composant étant responsable d'une tâche discrète telle que la gestion de l'état, la validation des données, l'accès à la base de données, etc. Bien qu'il existe de nombreux exemples illustrant le traitement de formulaires avec des scripts et des servlets Perl, l'utilisation de JSP à cette fin a reçu peu d'attention. Il y a une raison pour cela. Outre le fait que JSP est une technologie relativement nouvelle, beaucoup la considèrent comme étant principalement appropriée pour gérer la présentation de contenu dynamique provenant de JavaBeans ou de servlets. Cependant, comme vous le verrez bientôt, la combinaison de JSP avec JavaBeans peut être une force avec laquelle il faut compter lors du traitement des formulaires HTML.

Dans cet article, j'examinerai la gestion d'un formulaire d'inscription utilisateur à l'aide de JSP. L'un des principes de programmation de base de JSP est de déléguer autant de traitement que possible aux composants JavaBean. Mon implémentation de gestion de formulaire JSP montrera quelques fonctionnalités intéressantes. Il fournira non seulement une validation des données de base pour les informations d'enregistrement entrées par un utilisateur, mais présentera également un comportement avec état. Cela vous permet de pré-remplir les éléments d'entrée du formulaire avec des données validées au fur et à mesure que l'utilisateur parcourt le cycle de soumission et entre enfin les données correctes pour tous les éléments d'entrée. Alors, sans plus tarder, plongeons dans l'exemple.

Jetez un œil à la liste 1, qui présente à l'utilisateur un simple formulaire d'inscription, affiché dans la figure 1.

Liste 1. register.html

   
ENREGISTREMENT DE L'UTILISATEUR

* Champs obligatoires

Prénom*

Nom de famille*

Email*

Code postal*

Nom d'utilisateur*

Mot de passe*

Confirmez le mot de passe*

Quelle musique vous intéresse?

Rock Pop Bluegrass

Blues Jazz Country

Souhaitez-vous recevoir des notifications par e-mail sur nos ventes spéciales?

Oui Non

La figure 1 montre le formulaire d'inscription de l'utilisateur tel qu'il apparaîtrait dans un navigateur.