Tp8 - Cedric

Java et Objet - HTML et JSP
28 avril 2015
Exercice 1 — HTML et JSP
1. Ajouter le fichier descripteur de l’application web.xml :
clic droit sur le nom du projet –> new –> Standard Deployment Descriptor (web.xml)
Dans ce fichier, on ajoute le code XML suivant pour paramétrer l’application :
<servlet>
<servlet-name>Authentification</servlet-name>
<jsp-file>/authentification.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>Authentification</servlet-name>
<url-pattern>/Authentification</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>
Authentification
</welcome-file>
</welcome-file-list>
2. Ajouter la page d’erreur 404.jsp qui devra s’afficher si l’utilisateur lance une requête à
une page inexistante. Modifier le fichier web.xml pour prendre en compte cette nouvelle
page.
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
3. Ecrire la JSP authentification.jsp dont le rôle est :
— d’afficher le formulaire suivant :
— de récupérer la valeur saisie par l’utilisateur,
— de traiter cette information en affichant de nouveau cette page, le nom saisi apparaissant dans la zone de saisie :
Vous vous appuyerez sur le fichier authentification.html du tp précédent.
4. La jsp authentification.jsp est modifiée pour, cette fois, déléguer la réponse à une
autre jsp reponse.jsp chargée d’afficher le nom "Arthur" seulement si "Arthur" est
saisi ou bien le message : Votre nom est inconnu :
ou bien
Résultat si "Arthur" est saisi
1
Résultat sinon
5. Pour permettre à l’application de reconnaitre plusieurs noms, nous allons ajouter le composant servlet Controleur dans un package controleurs. Cette servlet aura pour rôle :
— de mémoriser un certain nombre de noms dans une collection du type ArrayList,
— de récupérer le nom saisi par la jsp authentification.jsp,
— de construire une page de réponse équivalente à reponse.jsp,
6. Délégation de contrôle. Pour rendre au Controleur son rôle d’aiguilleur de tâches, nous
allons réinstaller la page reponse.jsp dans l’application et modifier la servlet Controleur
de manière à ce qu’elle transfère le contrôle à la page reponse.jsp plutôt que de construire
elle-même la page de réponse. Ne pas oublier de modifier le fichier web.xml en conséquence.
Rappels :
On obtient un distributeur du contrôle par :
RequestDispatcher distributeur = request.getRequestDispatcher("Reponse");
distributeur.forward(request,response);
7. Inclusion de contenu. Nous souhaitons inclure une en-tête et un pied de page à chacune
des pages de l’application. Cela sera réalisé par l’ajout de code dans les jsp.
Exemple :
<jsp:include page ="Entete" />
8. Les informations propres aux utilisateurs autorisés (authentification) à accéder aux pages
de l’application ne sont plus détenues par la servlet mais enregistrées dans une base de
données. Les nom, prénom et age de chaque utilisateur autorisé sont enregistrés dans la
BD.
On demande d’abord de créer cette base sous phpmyadmin. Démarrer les serveurs apache
et mysql en lançant WAMP (MAMP).
Créer une base avec 1 table de 3 colonnes (nom, prénom et age).
2