Partage
  • Partager sur Facebook
  • Partager sur Twitter

Recupere Des données de ma B.D

    16 juillet 2011 à 21:34:03

    Salut tout le monde.Svp J'ai besoin d'un petit coup de main.
    en fait j'essaie d'implementer un petit programme qui sert a afficher des données a partir d'une base de données.mais ren vain une fenetre apparait brusquement quand j'essaie d'afficher ma jsp(http://localhost/TP/ShowEtudiant.jsp)===>une fenetre ou est ecrit debug(.....)et quand je la ferme voila l'erreur qui s'affiche
    <strong>GRAVE: The web application [/TP] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.</strong>
    Bon assez parler voila mn code: :-°

    package com.packbeans;
    
    import java.io.Serializable;
    
    public class EtudiantInfo implements Serializable {
    private String firstname;
    private String lastname;
    private String CodeNatE;
    private String FiliereE;
    
    
    
    public EtudiantInfo()
    {
    this.firstname="";
    this.lastname="";
    this.CodeNatE="";
    this.FiliereE="";
    }
    
    
    
    public String getFirstname() {
    return firstname;
    }
    
    
    
    public void setFirstname(String firstname) {
    this.firstname = firstname;
    }
    
    
    
    public String getLastname() {
    return lastname;
    }
    
    
    
    public void setLastname(String lastname) {
    this.lastname = lastname;
    }
    
    
    
    public String getCodeNatE() {
    return CodeNatE;
    }
    
    
    
    public void setCodeNatE(String codeNatE) {
    CodeNatE = codeNatE;
    }
    
    
    
    public String getFiliereE() {
    return FiliereE;
    }
    
    
    
    public void setFiliereE(String filiereE) {
    FiliereE = filiereE;
    }
    
    //End Class Etudiant EtudiantInfo
    
    
    
    }
    



    package com.packbeans;
    import java.sql.*;
    import java.util.ArrayList;
    
    
    import javax.servlet.ServletException;
    public class PersonneDao {
    
    private Connection conn;
    
    
    public PersonneDao()
    {
    establishconnection();
    }
    
    public void establishconnection()throws ClassNotFoundException,SQLException
    {
    Class.forName("com.mysql.jdbc.Driver");
    String url="jdbc:mysql://localhost:3306/db_ensaf";
    conn=DriverManager.getConnection(url,"root","ensaf");
    //Estabilishing Connection 
    
    }
    public ArrayList listPersonne() throws SQLException
    {
    ArrayList listPerson=new ArrayList();
    //Preparing Query
    String sql="Select * from etudiant ";
    Statement state=conn.createStatement();
    //Execute Query
    
    ResultSet rs=state.executeQuery(sql);
    String firstname;
    String lastname;
    String CodeNatE;
    String FiliereE;
    
    while(rs.next())
    {
    firstname=rs.getString("firstname");
    lastname=rs.getString("lastname");
    CodeNatE=rs.getString("CodeNatE");
    FiliereE=rs.getString("FiliereE");
    
    EtudiantInfo etudiant=new EtudiantInfo();
    etudiant.setFirstname(firstname);
    etudiant.setLastname(lastname);
    etudiant.setCodeNatE(CodeNatE);
    etudiant.setFiliereE(FiliereE);
    listPerson.add(etudiant);
    
    }
    
    return listPerson;
    
    }
    
    public void finalize()
    {
    
    try {
    conn.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    System.out.println(e);
    System.out.println(e.getMessage());
    }
    
    }
    }
    


    Voila le code de la servlet:

    package com.controller;
    
    import java.io.IOException;
    import java.sql.SQLException;
    import java.util.ArrayList;
    
    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.packbeans.PersonneDao;
    
    public class ShowServlet extends HttpServlet {
    public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
    {
    try{
    
    HttpSession session=request.getSession(true);
    PersonneDao personne=new PersonneDao();
    
    
    ArrayList list=personne.listPersonne();
    session.setAttribute("list",list);
    response.sendRedirect("ShowEtudiant.jsp");
    
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    log(e.getMessage());
    }
    
    }
    }
    


    et puis finalement voila le code de la JSP et apparemment c'est lui qui cause probleme parce que quand j'affiche directement a partir de la servlet tt se passe bien.

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@page import="java.util.*" %>
    <%@page import="com.packbeans.*" %>
    <!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>Resultat DE la Recherche</h2>
    
    <%
    
    ArrayList list=(ArrayList)(session.getAttribute("list"));
    EtudiantInfo etudiant=null;
    for(int i=0;i<list.size();i++)
    {
    etudiant=((EtudiantInfo)(list.get(i)));
    %>
    
    <%= etudiant.getFirstname() %>
    <%=etudiant.getLastname() %>
    <%=etudiant.getCodeNatE() %>
    <%=etudiant.getFiliereE() %>
    
    <% 
    }
    %>
    
    </body>
    </html>
    


    Je compte sur vous les zeros pour me donner un petit coup de main ^^
    • Partager sur Facebook
    • Partager sur Twitter
      17 juillet 2011 à 0:35:35

      Bonjour.

      Je ne vois pas trop le rapport avec les Beans que tu mentionne dans le titre ...

      Vu la construction un responce.redirect() n'est pas très approprié.
      Un request.requestDispacher("*.jsp").forward(request,responce); est plus conseillé. Et vu le code erreur, pas impossible que ton problème y soit lié.
      • Partager sur Facebook
      • Partager sur Twitter
        17 juillet 2011 à 11:05:24

        Le problème persiste toujours apres avoir changer le request.sendRedirect :(
        • Partager sur Facebook
        • Partager sur Twitter
          17 juillet 2011 à 11:58:07

          Dans ce cas peut tu m'en dire plus sur ta config.
          Type de serveur, IDE, mode de déploiement (manuel, par l'IDE, plugin d'IDE, mode débug, etc.).

          De visu je ne vois rien de choquant mais as tu testé les classes métier et DAO séparément ? Histoire de savoir si le problème est lié au serveur, à la DAO, au servlet ou à la JSP.
          • Partager sur Facebook
          • Partager sur Twitter
            17 juillet 2011 à 14:44:45

            Concernant l'IDE.j'utilise Eclipse Version: Indigo Release
            Pour le serveur d'application j'utilise TOMCAT
            Wi en fait j'ai fé plusieus test et apparamment la source du probleme est la JSP.
            Quand j'affiche directement a partir de la servlet tt marche bien.donc c po un blem de la classe DAO ni l'autre classe.
            c'est un probleme de JSP.

            Bon j'ai utilisé une autre version d'eclise mais toujours avec Tomcat.
            Voila une page d'erreur s'affiche (Http 500)

            type Rapport d'exception

            message

            description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

            exception

            org.apache.jasper.JasperException: An exception occurred processing JSP page /Show.jsp at line 23

            20:
            21: ArrayList list=(ArrayList)(session.getAttribute("list"));
            22: EtudiantInfo etudiant=null;
            23: for(int i=0;i<list.size();i++)
            24: {
            25: etudiant=(EtudiantInfo)(list.get(i));
            26: %>


            Stacktrace:
            org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:519)
            org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428)
            org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
            org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

            cause mère

            java.lang.NullPointerException
            org.apache.jsp.Show_jsp._jspService(Show_jsp.java:76)
            org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
            org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
            org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

            note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.32
            • Partager sur Facebook
            • Partager sur Twitter
              17 juillet 2011 à 18:02:41

              C'est cool ça comme exception.
              Ça veux dire que c'est pas grave. ^^

              C'est un erreur de syntaxe dans la JSP, ya un truc qui l’empêche de compiler en servlet.
              Par contre j'ai pas encore trouvé quoi. :p
              • Partager sur Facebook
              • Partager sur Twitter

              Recupere Des données de ma B.D

              × 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