Filière TSDI : 2 années Année de formation 2024-2025
Unité de formation Programmation Client serveur
Date Durée de l’épreuve
Contrôle Continu N° : 5 Pratique 3h
Étude de cas : Gestion des Livres
Développer une application web en Java EE permettant de gérer une liste de livres.
Les utilisateurs pourront ajouter des livres, afficher la liste des livres existants, et supprimer des
livres via une interface web.
1) Base de données (2 pts)
Créer une base de données nommée library_db avec une table books.
• La table books doit contenir les colonnes suivantes :
o id (clé primaire, auto-incrémentée)
o titre (VARCHAR)
o auteur (VARCHAR)
o annee (INT)
2) JavaBean Book.java (2 pts)
Créer un JavaBean représentant un livre avec les propriétés suivantes :
• int id
• String titre
• String auteur
• int annee
Inclure les accesseurs (getters/setters) et un constructeur par défaut.
3) Formulaire d’ajout addBook.jsp (3 pts)
Créer une page JSP contenant un formulaire permettant de saisir :
• Le titre du livre
• Le nom de l’auteur
• L’année de publication
Un bouton « Ajouter » permet d’envoyer les données au servlet.
4) Classe DAO BookDAO.java (4 pts)
Créer une classe de gestion de la base de données permettant les opérations suivantes (via JDBC) :
• void ajouterLivre(Book b) : ajoute un livre dans la base.
• List<Book> getAllLivres() : retourne la liste de tous les livres.
• void supprimerLivre(int id) : supprime un livre selon son ID.
5) Servlet BookServlet.java – Ajout (4 pts)
Créer un servlet qui :
• Récupère les données du formulaire addBook.jsp (via POST).
• Appelle BookDAO.ajouterLivre() pour enregistrer le livre.
• Redirige vers listBooks.jsp en cas de succès, ou affiche un message d’erreur sinon.
6) Page de liste listBooks.jsp (3 pts)
Créer une page JSP qui :
• Affiche la liste de tous les livres sous forme de tableau :
o ID, Titre, Auteur, Année
• Affiche un bouton ou lien « Supprimer » à côté de chaque ligne.
7) Servlet BookServlet.java – Suppression (2 pts)
Dans le même servlet BookServlet.java :
• Récupérer l’ID du livre à supprimer (via GET).
• Supprimer le livre de la base en appelant BookDAO.supprimerLivre(id).
• Rediriger vers listBooks.jsp si la suppression est réussie, ou afficher un message d’erreur
sinon.