Utilisation de MongoBD

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.

Commandes dans le shell MongoDB

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/

MongoDB dans une appli Web Java

Configuration du projet Java

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.

Version 1 : utilisation de Maven

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>

Version 2 : ajout des librairies à la main

Décompressez l'archive jars-Mongo.zip et rajoutez les JAR dans le "build path" de votre projet. Rajoutez également les JAR dans le répertoire src/main/webapp/WEB-INF/lib.

Test de l'accès à la BDD

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.

Travail à réaliser

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