Project Files
Ce TP est à rendre via spiral pour le 3/12/2010, 23h30. Il faut rendre un .zip contenant les deux projets maven (sans les répertoires target) ainsi que les fichiers SQL (éventuellement modifiés) des TPs précédents. Ne pas oublier de mentionner les deux étudiants du binôme.
L'objectif de ce TP est de réunir le travail des TP précédents dans une application Web Java de forum simplifié.
Télécharger, décompresser et ouvrir dans Netbeans le projet suivant: forum.zip.
Ce projet est un embryon d'application Web Java. Pour exécuter le projet, depuis la ligne de commande, lancer mvn tomcat:run
; depuis Netbeans, clic-droit → Custom → Run Tomcat.
L'application peut être visualisée à l'adresse suivante: http://localhost:8080/Forum.
Le serveur web est démarré des que l'affichage suivant apparait:
INFO: Starting Coyote HTTP/1.1 on http-8080
Pour stopper le serveur, il faut arrêter l'exécution de Maven (carré rouge).
Il peut être nécessaire:
pom.xml
1) afin de refléter les déclarations du fichier pom.xml du projet du TP précédent;
Les pages statiques sont placées dans Web Pages2).
Modifier le fichier index.html
pour remplacer le lien par un formulaire permettant de choisir l'identifiant de la salle.
Si ce n'est déjà fait, étudier les différents fichiers fournis dans le projet.
La classe SalleServlet
contient une méthode processRequest
qui est appelée lorsque le serveur Web veut afficher la page http://localhost:8080/Forum/SalleServlet.
Comprendre le fonctionnement de cette méthode puis modifier celle-ci pour afficher un message de bienvenue. Modifier à nouveau le code de la méthode pour afficher une éventuelle action demandée par l'utilisateur, cette action étant passée comme la valeur du paramètre action
de la page Web3).
Étudier également la documentation de la classe XQueryUtil
, ainsi que le code des tests de XQueryTest
.
Créer un fichier simple.xq
dans le répertoire src/main/resources
et y placer la requête XQuery de la méthode processRequest. Changer le code de cette dernière pour utiliser ce fichier en utilisant executeResourceQuery au lieu de executeQuery.
Modifier la requête pour y intégrer un formulaire contenant les informations nécessaires à la création d'un message. Ce formulaire possédera un input caché4) nommé action
dont la valeur sera creerMessage
.
Modifier processRequest pour:
simple.xq
pour pouvoir transformer ces données en xhtml qui sera intégré à la page produite. On pourra pour cela s'inspirer des requêtes XQuery du premier TP.Implémenter l'ajout de message6) dans processRequest. On utilisera pour cela la méthode de création de message du TP de mapping objet <-> relationnel.
Une fois le message ajouté, on affichera le contenu de la salle, avec en plus un message de confirmation de la création du message.
thread.xq
de la requête XQuery simple.xq
qui fera un affichage arborescent par fil de discussion. Permettre de choisir7) le type d'affichage (par date ou par fil).