Partage
  • Partager sur Facebook
  • Partager sur Twitter

Recuperation de session A partir d'une servlet

    22 juillet 2011 à 13:15:22

    Salut les zeros!!j'ai un petit souci avec les session.mon probleme est le suivant:
    j'essaie da faire un petit TP qui consiste a afficher a travers ma jsp les infos d'une Table etudiant de ma BD
    Bon j'ai developpé mn objet(javabeans)une classe DAO.J'ai develloper ma sevlet ou j'essaie de recupérer un Arraylist.puis je le passe a ma session avec SetAttribute.
    le code de la servlet est le suivant:
    package com.controller;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.Enumeration;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.beans.DAO;
    import com.beans.Etudiant;
    
    public class ControlServlet extends HttpServlet{
    	public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
    	{
    		
    			try {
    		
    	DAO d=new DAO();
    	ArrayList<Etudiant> listee=d.listerEtudiant();
    	HttpSession session=request.getSession(true);
            session.setAttribute("list",listee);
    	request.getRequestDispatcher("index.jsp").forward(request, response);
    			} catch (ClassNotFoundException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    	}
    }
    


    Quand j'essaie d'afficher le contenu A travers La servlet ca marche A merveille mais quand je passe a la JSP ca me donne NULL dans la valeur de la list recuperé


    voila ma JSP:


    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
        <%@page import="java.util.*" %> 
    <%@page import="com.beans.*" %>
    
    <%@ page session="true" %>
    
    <!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>Insert title here</title>
    </head>
    <body>
    <h2>Le contenu de votre Base de donnée </h2>
    <table border=1>
    
    <tr>
    <th>Nom </th>
    <th>Prenom</th>
    </tr>
    <% 
    
    ArrayList<Etudiant>e=(ArrayList<Etudiant>)session.getAttribute("list");
    Etudiant etudiant=null;
    Iterator it=e.iterator();
    while(it.hasNext())
    {
    etudiant=(Etudiant)it.next();	
    
    %>
    <tr><td><%=etudiant.getNom() %></td>
    <td><%=etudiant.getPrenom() %></td>
    <%
    
    }%>
    </table>
    </body>
    </html>
    



    JE VOIS PAS OU EST LE PROBLEM!!! :( SVP J'AI BESOIN DE VOTRE AIDE!!
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      22 juillet 2011 à 13:30:28

      Dans le code que tu fournis, tu ne mets pas ta liste en session.
      • Partager sur Facebook
      • Partager sur Twitter
        22 juillet 2011 à 16:17:41

        Si si c'est juste que j'avais mal copier le code je travailler avec.C'est pas ca le problème
        • Partager sur Facebook
        • Partager sur Twitter
          23 juillet 2011 à 22:39:39

          Moi ça me semble normal que ça marche pas. :p

          HttpSession session=request.getSession(true);
          

          <%@ page session="true" %>
          


          Les 2 fois lors de la récupération de la session tu force la création d'une nouvelle session.
          Il faut enlever les true.
          Enlever toute la ligne dans la JSP d'ailleurs.


          Faut lire la Javadoc. ^^
          • Partager sur Facebook
          • Partager sur Twitter
            24 juillet 2011 à 13:54:35

            Pourtant j'en suis plus que persuadé que j'avais lu kk part ke cette ligne permettait de definir Si la Page Actuelle peut Acceder Aux Données Stockées Dans la session.
            D'ailleurs J'ai regler le blem et avec le session=true ca marche a merveille.
            Alors la le blem Que j'avais n'été po du tt un blem dans mon code :-°
            Quand je tapais l'url pour acceder a l'application j'acceder a partir de la JSP :p je devais plutot acceder premierement a la servlet qui controle le tt.
            Je l'avoue faute tres Bête mais je suis encore novice je vien de debuter a programmer en JEE.c'est Pk il me donnais une exception de type NullPointer.
            Dans tous les cas Merci Bien! ^^
            • Partager sur Facebook
            • Partager sur Twitter
              24 juillet 2011 à 15:28:09

              Citation : Yumata

              Pourtant j'en suis plus que persuadé que j'avais lu kk part ke cette ligne permettait de definir Si la Page Actuelle peut Acceder Aux Données Stockées Dans la session.



              Je viens d’approfondir un peu. Et, honte à moi, tu as raison.
              <%@ page session="true" %> permet effectivement de dire que la page à droit ou non à accéder à la session.
              Par contre, ça valeur est true par défaut. Il n'est donc pas indispensable.

              Voilà, je tenais à corriger mon erreur. ^^
              • Partager sur Facebook
              • Partager sur Twitter

              Recuperation de session A partir d'une servlet

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown