Il s'agit dans ce TP de prendre en main MongoDB puis d'intégrer l'accès à un serveur MongoDB dans une application Web Java.
Connectez vous au serveur MongoBD via SSH et exécutez la
commande mongosh
.
Les utilisateurs ne sont pas gérés dans la configuration actuelle du serveur donc vous travaillez tous sur le même serveur avec accès aux données de tout le monde. Pour ne pas vous mélanger avec les autres étudiants, commencez par créer une base qui a votre nom :
test> use monLogin
Récupérez les collections federations et sportifs dans les
fichiers federations.json et
sportifs.json. Ce sont les mêmes
collections que celles vues en cours. Créez les deux collections
"federations" et "sportifs" en utilisant la
commande insertMany
comme expliqué dans
le transparent 27 du cours.
Exécutez les différentes requêtes des transparents 28 à 34 du cours pour apprendre à manipuler une base MongoDB et ses collections.
Lien vers la documentation officielle MongoBD : https://www.mongodb.com/docs/v6.0/
Vous allez reprendre votre projet précédent d'application Web avec les Servlet. Il s'agit dans un premier temps de rajouter les dépendances pour rajouter le driver MongoDB et les librairies Java associées. Comme jusqu'à présent, il y a deux méthodes : soit passer par Maven, soit rajouter les librairies à la main.
Dans le fichier "pom.xml", rajoutez la dépendance suivante :
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.8.2</version>
</dependency>
src/main/webapp/WEB-INF/lib
.
Téléchargez les sources Java, décompressez les dans le répertoire de sources "src" de votre projet Java.
Modifiez la ligne 29 de la classe TestMongoPOJO
pour
adapter l'URL de connexion au serveur MongoBD. Modifiez également la
ligne 31 pour charger la database avec le bon nom qui n'est pas
forcément "sports" dans votre cas.
Exécutez (comme une application, pas en passant par le serveur), le
fichier TestMongoPOJO
qui doit afficher les fédérations
dans la console et rajoute un sportif dans la collection de sportifs
dans la base MongoDB.
En reprendant l'exemple de l'affichage des sportifs en JPA, créez des Servlet/JSP pour afficher la liste des sportifs et la liste des fédérations dans une page HTML.
Créez des pages HTML avec des formulaires permettant de créer de nouveaux sportifs, de nouvelles fédération ou d'éditer les existants.
Eric Cariou, dernière modification : 27/01/23