Vous êtes sur la page 1sur 6

U NIVERSIT É DE J ENDOUBA

I NSTITUT S UP ÉRIEUR DE L’I NFORMATIQUE DU K EF

TP : JSP ET S ERVLET (2/2)

Matière : Technologie JEE Niveau : 2eme LSI


Responsable : Mahran Farhat A U : 2022 / 2023

Cette manip est développée en utilisant Intellij Idea, mais vous pouvez la produire en utilisant tout
IDE qui supporte Maven.
Pour le développement de cette manip, nous supposons que vous avez réussit le TP 4 que vous avez
affiché la liste des produits. Le but de ce support est de vous permettre de compléter les fonctionnalités
nécessaires pour la gestions des livres.
Notre objectif est de développer les deux fonctionnalités suivantes :
1. Suppression des livres : lorsque l’utilisateur clique sur le bouton de suppression le livre en
question sera supprimé ( nous affichons le code du livre à supprimer)
2. Modification des livres : lorsque l’utilisateur clique sur le bouton de modification, un formu-
laire de modification sera affiché afin de permettre à l’utilisateur de modifier les détails du
livre.

Module 1 : créer la servlet SupprimerLivre permettant de gérer les requêtes de suppression


des livres lancées par l’utilisateur. Pour supprimer un livre, nous avons besoin de savoir son
identifiant (ISBN).

1. Créer une classe nommé SupprimerLivre dans le package controller. Le code de la classe
SupprimerLivre doit être le suivant :

package org.example.controller;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/supprimerLivre")
public class SupprimerLivre extends HttpServlet {

public void doGet(HttpServletRequest request,


HttpServletResponse response) throws ServletException,
IOException {
String id = request.getParameter("id");

// delete book from database

1
// confirmer la suppression du livre
response.getWriter().println("ISBN du livre à supprimer est :
"+id);
}
}

2. Modifier le code de la page manageBooks.jsp afin d’ajouter le fonctionnalité de suppression


des livres. Le code de la page doit être le suivant :

<%@page language="java" contentType="text/html"


pageEncoding="UTF-8" %>
<%@page import="org.example.models.Livre"%>
<%@page import="java.util.List"%>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>First JSP</title>
</head>
<h1 align="center"> Liste des livres </h1>
<br>
<table width="50%" align="center">
<tr>
<td> ISBN </td>
<td> Titre </td>
<td> Auteur </td>
<td> Editeur </td>
<td> Prix </td>
<td> Action </td>
</tr>
<%
List<Livre> livres = (List<Livre>) request.getAttribute("bookList");
for (Livre livre : livres) {
%>
<tr>
<td> <%= livre.getIsbn() %> </td>
<td> <%= livre.getTitre() %> </td>
<td> <%= livre.getAuteur() %> </td>
<td> <%= livre.getEditeur() %> </td>
<td> <%= livre.getPrix() %> </td>
<td>
<a href="./supprimerLivre?id=<%=livre.getIsbn()%>">Supprimer </a>
</td>
</tr>
<%
}
%>

</table>
<body>
</body>

2
</html>

Module 2 : créer la servlet ModifierLivre permettant de gérer les requêtes de modification


des livres lancées par l’utilisateur. Pour modifier un livre, nous avons besoin de savoir son iden-
tifiant (ISBN). Un formulaire de modification doit être affiché.

1. Créer une classe nommé ModifierLivre dans le package controller. Le code de la classe
ModifierLivre doit être le suivant :

@WebServlet("/modifierLivre")
public class ModifierLivre extends HttpServlet {

public void doGet(HttpServletRequest request,


HttpServletResponse response) throws ServletException,
IOException {
String id = request.getParameter("id");

// delete book from database

Livre livre = new Livre();


livre.setIsbn(id);
livre.setTitre("Titre du livre");
livre.setAuteur("Auteur du livre");
livre.setEditeur("Editeur du livre");
livre.setPrix(100.0);

request.setAttribute("livre", livre);

3
request.getRequestDispatcher("modifierLivre.jsp").forward(request,
response);
}
}

2. Modifier le code de la page manageBooks.jsp afin d’ajouter le fonctionnalité de modification


des livres. Le code de la page doit être le suivant :

<%@page language="java" contentType="text/html"


pageEncoding="UTF-8" %>
<%@page import="org.example.models.Livre"%>
<%@page import="java.util.List"%>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>First JSP</title>
</head>
<h1 align="center"> Liste des livres </h1>
<br>
<table width="50%" align="center">
<tr>
<td> ISBN </td>
<td> Titre </td>
<td> Auteur </td>
<td> Editeur </td>
<td> Prix </td>
<td> Action </td>
<td> </td>
</tr>
<%
List<Livre> livres = (List<Livre>) request.getAttribute("bookList");
for (Livre livre : livres) {
%>
<tr>
<td> <%= livre.getIsbn() %> </td>
<td> <%= livre.getTitre() %> </td>
<td> <%= livre.getAuteur() %> </td>
<td> <%= livre.getEditeur() %> </td>
<td> <%= livre.getPrix() %> </td>
<td>
<a href="./supprimerLivre?id=<%=livre.getIsbn()%>">Supprimer </a>
</td>

<td>
<a href="./modifierLivre?id=<%=livre.getIsbn()%>">Modifier </a>
</td>

</tr>

<%

4
}
%>

</table>
<body>
</body>
</html>

3. Créer la page editBook.jsp afin de visualiser le formulaire de modification des livres. Le code
de la page doit être le suivant :

<%@page language="java" contentType="text/html"


pageEncoding="UTF-8" %>
<%@page import="org.example.models.Livre"%>
<html>
<head>
<title> modification livre </title>
</head>
<body>
<h1> Modifier Livre</h1>

<% Livre livre = (Livre) request.getAttribute("livre"); %>


<form action="modifierLivre" method="post">
<label>ISBN</label>
<input type="text" name="isbn" value="<%=livre.getIsbn()%>"/>

<label>Titre</label>
<input type="text" name="titre"
value="<%=livre.getTitre()%>"/>

<label>Auteur</label>

5
<input type="text" name="auteur"
value="<%=livre.getAuteur()%>"/>

<label>Editeur</label>
<input type="text" name="editeur"
value="<%=livre.getEditeur()%>"/>

<label>Prix</label>
<input type="text" name="prix" value="<%=livre.getPrix()%>"/>

<input type="submit" value="Modifier"/>


</form>
</body>
</html>

4. Modifier la servlet ModifierLivre.java afin de traiter les requêtes de modification lancées par
l’utilisateur. Le code de la page doit être le suivant :

public void doPost(HttpServletRequest request,


HttpServletResponse response) throws ServletException,
IOException {
String isbn = request.getParameter("isbn");
String titre = request.getParameter("titre");
String auteur = request.getParameter("auteur");
String editeur = request.getParameter("editeur");
double prix =
Double.parseDouble(request.getParameter("prix"));

// update book in database


Livre livre = new Livre(isbn, titre, auteur, editeur, prix);

// confirmer la modification du livre


response.getWriter().println("ISBN du livre à modifier est :
"+isbn);
}

Bonne Chance

Vous aimerez peut-être aussi