Partage d'un Vecteur entre plusieurs Servlets et JSP
Résolu
fizzpass
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
fizzpass Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
fizzpass Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Mon projet serait similaire à la gestion d'une bibliothèque :
- une page pour ajouter un nouvel étudiant,
- une autre pour un nouveau livre,
- et une pour gérer l'emprunt de livres par les étudiants
(c'est un tout petit devoir, donc il n'y aura pas de listes immenses de livres et d'étudiants)
Je travaille selon le patron MVC (modèle-vue-contrôleur), c'est-à-dire Java Beans, JSP, Servlet.
Ce que j'ai déjà : le MVC pour ajouter un étudiant, et celui pour ajouter un livre.
Et cela crée deux Vecteurs avec tous les étudiants/livres.
J'aimerais utiliser ces 2 Vecteurs dans le MVC Emprunt (pour, entre autres, afficher les étudiants et les livres dans la vue de l'emprunt)
Alors voici une partie du code :
vueEtudiant.jsp
EtudiantServlet.java
Et les mêmes fichiers pour le MVC des Livres.
Et ce que j'aimerais faire c'est manipuler etuVector et livreVector dans la JSP et la Servlet de l'emprunt
Merci d'avance pour votre aide =)
Je suis débutant en développement web. Dites-le moi si je n'ai pas été assez clair.
Mon projet serait similaire à la gestion d'une bibliothèque :
- une page pour ajouter un nouvel étudiant,
- une autre pour un nouveau livre,
- et une pour gérer l'emprunt de livres par les étudiants
(c'est un tout petit devoir, donc il n'y aura pas de listes immenses de livres et d'étudiants)
Je travaille selon le patron MVC (modèle-vue-contrôleur), c'est-à-dire Java Beans, JSP, Servlet.
Ce que j'ai déjà : le MVC pour ajouter un étudiant, et celui pour ajouter un livre.
Et cela crée deux Vecteurs avec tous les étudiants/livres.
J'aimerais utiliser ces 2 Vecteurs dans le MVC Emprunt (pour, entre autres, afficher les étudiants et les livres dans la vue de l'emprunt)
Alors voici une partie du code :
vueEtudiant.jsp
<%@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"%>
<%@page import="model.Etudiant"%>
<%@page import="java.util.Vector"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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>Etudiant jsp !</title>
</head>
<body>
<% Vector<Etudiant> etuVector = (Vector<Etudiant>) request.getAttribute("etudiants"); %>
<form method="get" action="EtudiantServlet">
<table>
<tr>
<td>Nom</td>
<td><input type="text" name="nom"></td>
</tr>
<tr>
<td>Prenom</td>
<td><input type="text" name="prenom"></td>
</tr>
<tr>
<td>Année</td>
<td><input type="text" name="annee"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Ajouter"></td>
</tr>
</table>
</form>
<table border="1px" align="left">
<tr bgcolor="yellow">
<th>Nom</th>
<th>Prenom</th>
<th>Année</th>
</tr>
<%
if(etuVector!=null)
for(int i=0;i<etuVector.size();i++){
out.print("<tr>");
out.print("<td>"+ etuVector.get(i).getNom() +"</td>");
out.print("<td>"+ etuVector.get(i).getPrenom() +"</td>");
out.print("<td>"+ etuVector.get(i).getAnnee() +"</td>");
out.print("</tr>");
}
%>
</table>
<br><br>
<br>
<a href="accueil.jsp"> Accueil </a>
</body>
</html>
EtudiantServlet.java
package controleur;
import java.io.IOException;
import javax.servlet.ServletConfig;
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 model.Etudiant;
import model.EtudiantOperationImpl;
@WebServlet("/EtudiantServlet")
public class EtudiantServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private EtudiantOperationImpl model;
public void init(ServletConfig config) throws ServletException {
model=new EtudiantOperationImpl();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if(request.getParameter("nom")!=null){
String nom = request.getParameter("nom");
String prenom = request.getParameter("prenom");
String annee = request.getParameter("annee");
Etudiant etu = new Etudiant(nom, prenom, annee);
model.ajouterEtudiant(etu);
}
request.setAttribute("etudiants", model.getAllEtudiants());
request.getRequestDispatcher("vue.jsp").forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
Et les mêmes fichiers pour le MVC des Livres.
Et ce que j'aimerais faire c'est manipuler etuVector et livreVector dans la JSP et la Servlet de l'emprunt
Merci d'avance pour votre aide =)
Je suis débutant en développement web. Dites-le moi si je n'ai pas été assez clair.
A voir également:
- Partage d'un Vecteur entre plusieurs Servlets et JSP
- Partage de photos - Guide
- Meilleur site partage abonnement - Accueil - Services en ligne
- Partage d'écran whatsapp pc - Accueil - Messagerie instantanée
- Partage reseau - Guide
- Album partagé google - Guide
1 réponse
Bonjour,
Tu devrais faire appel au scopes de sessions dans ta servlet.
Tu peux utiliser la session avec des setAttribute/getAttribute pour persister des données d'une requête à une autre pour le même utilisateur (la même session).
Tu devrais faire appel au scopes de sessions dans ta servlet.
HttpServletRequest request; HttpSession session = request.getSession();
Tu peux utiliser la session avec des setAttribute/getAttribute pour persister des données d'une requête à une autre pour le même utilisateur (la même session).
Je suis désolé de te demander autant d'aide, je suis vraiment un débutant.
J'ai reçu trop peu de cours, presque tout ce que j'ai appris c'était en tâtonnant.
Mais là ça fait presque 3 jours que je coince sur ce problème (qui bloque tout mon projet) sans obtenir aucun résultat.
Encore une fois merci, ça me sortirait d'une galère énorme =)
Ça c'est bon : . Cela permet de faire un cache côté serveur, la liste des étudiants sera donc conservée telle quelle pendant toute la durée de la session, et ne sera accessible que par l'utilisateur lié à cette session (un autre utilisateur aura une autre session, la liste sera différente).
Puis à l'utilisation tu as peux faire un
Il faudra juste vérifier que la liste existe bien, car si c'est la première requête effectuée, la session viendra d'être créée et la liste n'existera pas encore.