Affichage des donnée dans jsp
moumimimi
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
moumimimi Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
moumimimi Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
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>
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>
A voir également:
- Affichage des donnée dans jsp
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Trier des données excel - Guide
- Problème affichage fenêtre windows 10 - Guide
- Sauvegarde des données - Guide
3 réponses
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();