Affichage des donnée dans jsp

Fermé
moumimimi Messages postés 6 Date d'inscription mercredi 6 mars 2013 Statut Membre Dernière intervention 18 mai 2013 - 8 mai 2013 à 10:05
moumimimi Messages postés 6 Date d'inscription mercredi 6 mars 2013 Statut Membre Dernière intervention 18 mai 2013 - 14 mai 2013 à 18:07
bonjour tout le monde ,j'ai un problème avec l'affichage des données de ma base dans une page jsp en utilisant une servlet ;quand je deploie mon application je reçois l'erreur suivante :

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

exception

java.lang.NullPointerException
modele.SujetDao.listSujet(SujetDao.java:33)
Controlleur.Showsujet.doGet(Showsujet.java:71)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)




Merci d'avance pour votre aide


ma classe Sujet :
package modele;

import java.io.Serializable;

public class Sujet implements Serializable {
private String sujet;
private String descriptif;



public Sujet()
{
this.sujet="";
this.descriptif="";

}

public String getsujet() {
return sujet;
}

public void setsujet(String sujet) {
this.sujet = sujet;
}

public String getdescriptif() {
return descriptif;
}
public void setdescriptif(String descriptif) {
this.descriptif = descriptif;
}

}

ma classe SujetDao pour recupérer les données de la base :
package modele;
import java.sql.*;
import java.util.ArrayList;
import javax.servlet.ServletException;
public class SujetDao {
private Connection conn;




public SujetDao()
{

}

public void establishconnection()throws ClassNotFoundException,SQLException
{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/pfe";
conn=DriverManager.getConnection(url,"root","");
//Estabilishing Connection

}
public ArrayList listSujet() throws SQLException
{
ArrayList listSujet=new ArrayList();
//Preparing Query
String sql="Select * from sujet ";
Statement state=conn.createStatement();
//Excute Query


ResultSet rs=state.executeQuery(sql);
String sujet;
String descriptif;

while(rs.next())
{
sujet=rs.getString("sujet");
descriptif=rs.getString("descriptif");


Sujet etud=new Sujet();
etud.setsujet(sujet);
etud.setdescriptif(descriptif);
listSujet.add(etud);


}
return listSujet;

}

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());
}

}
}

la methode doget de ma servlet :

public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
{
try{

HttpSession session=request.getSession(true);
SujetDao suj=new SujetDao();


ArrayList list=suj.listSujet();
session.setAttribute("list",list);
response.sendRedirect("Consulter_sujet.jsp");

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
log(e.getMessage());
}

}

et enfin voici le code de ma paje jsp : Consulter_sujet.jsp




<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="java.util.*" %>
<%@page import="modele.*" %>
<!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 liste=(ArrayList)(request.getAttribute("list"));
Sujet etudiant=null;
for(int i=0;i<liste.size();i++)
{
etudiant=((Sujet)(liste.get(i)));
%>

<%= etudiant.getsujet() %>
<%=etudiant.getdescriptif() %>

<%
}
%>

</body>
</html>

3 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
8 mai 2013 à 10:25
Dans ton code il faut que tu ajoutes une instruction establishconnection() sinon ton objet "conn" n'a pas de valeur (il vaut null), tu ne peux donc pas faire conn.createStatement() dans listSujet...

SujetDao suj=new SujetDao(); 
suj.establishconnection();
ArrayList list=suj.listSujet();
0
moumimimi Messages postés 6 Date d'inscription mercredi 6 mars 2013 Statut Membre Dernière intervention 18 mai 2013
8 mai 2013 à 15:45
Merci bcp pour votre réponse ;
j'ai ajouté l'instruction establishconnection() mais j'ai une une erreur 404 :

message /IMI/Consulter_sujet.jsp

description La ressource demandée n''est pas disponible.

merci d'avance pour votre aide
0
moumimimi Messages postés 6 Date d'inscription mercredi 6 mars 2013 Statut Membre Dernière intervention 18 mai 2013
8 mai 2013 à 16:31
j'ai utisé response.sendRedirect() dans la servlet mais ça n'a pas marché
0
moumimimi Messages postés 6 Date d'inscription mercredi 6 mars 2013 Statut Membre Dernière intervention 18 mai 2013
14 mai 2013 à 18:07
s'il vous plaît ,j'arrive pas à résoudre mon erreur aidez moi SVP
0