Vous êtes sur la page 1sur 2

17 mai 2020

TP N°3 : Développement d’une Web App avec les technologies


Servlet/JSP

Vous allez exploiter le projet EJB sur la gestion de livres afin de réaliser votre application Web
(Web App). Cette dernière est donc un Client Web pour l’EJB déjà créé dans le précédent TP.
Pour cela, créez un nouveau projet Web dynamique en cliquant sur File/New/Dynamic Web
Project puis suivez les étapes décrites ci-après.

Etape 1 : Création de la Servlet


Ajoutez une servlet au projet Web dans le répertoire Java Resouces/src. C’est une classe Java
qui hérite de la classe HttpServlet (Pour plus de détails, référez-vous au cours sur les Web
Apps).
Le fichier ServletGestionLivres.java contiendra le code suivant :
@WebServlet("/ServletGestionLivres")
public class ServletGestionLivres extends HttpServlet {
@EJB
private GestionLivresLocal
gestion;

public ServletGestionLivres() {
super() ;
}

protected void doGet(HttpServletRequest request, HttpServletResponse


response) throws ServletException, IOException {
List<Livre> livres=gestion.listerTousLesLivres();
request.setAttribute("livres", livres);
request.getRequestDispatcher("page.jsp").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
Set<Auteur> auteurs= new HashSet<Auteur>();
String code= request.getParameter("code1");
String nom= request.getParameter("nom1");
Auteur auteur1=new Auteur(code,nom);
auteurs.add(auteur1);
code= request.getParameter("code2");
nom=request.getParameter("nom2");
Auteur auteur2=new
Auteur(code,nom);
auteurs.add(auteur2);
nom=request.getParameter("intitule");
Livre l=new Livre(nom, auteurs);
gestion.ajouterLivre(l);
doGet(request, response);
}
}

ALOG-2CSSIT Lamia Yessad


Etape 2 : Création de la page JSP

L’utilisation d’une page JSP peut être combinée à l’utilisation de la servlet.


Dans le répertoire WebContent, créez une page JSP que vous nommerez page.jsp et qui
contiendra les lignes de code suivantes :
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Gestion de livres</title>
</head>
<body>
<form action="ServletGestionLivres" method="post">
Intitulé du livre :<input type="text" name="intitule"><br/>
Code de l'auteur 1 :<input type="text" name="code1"><br/>
Nom de l'auteur 1 :<input type="text" name="nom1"><br/>
Code de l'auteur 2 :<input type="text" name="code2"><br/>
Nom de l'auteur 2 :<input type="text" name="nom2"><br/>
<input type="submit" value="ajouter un livre" name="action">
</form>
<table border=1 width="80%">
<tr>
<th>Code du livre</th>
<th>Intitule du livre</th>
<th>Auteurs du livre</th>
</tr>
<c:forEach items="${livres}" var="c">
<tr>
<td>${c.id}</td>
<td>${c.intitule}</td>
<c:forEach items="${c.auteurs}" var="c">
<td>${c.nom}</td>
</c:forEach>
</tr>
</c:forEach>
</table>
</body>
</html>

Etape 3 : Création et déploiement du projet EAR


Créer la dépendance entre les deux projets ne suffit pas. Vous devez donc créer un projet EAR
qui intègrera les deux projets (projet EJB et projet Web) et qui sera déployé dans le serveur
Wildfly. Pour cela, cliquez sur File/New/Enterprise Application Project.

Etape 4 : Test de l’application Web


Lancez le navigateur et tapez l’adresse suivante :
http://localhost:8080/WebApp/ServletGestionLivres

ALOG-2CSSIT Lamia Yessad