Affichage d'un tableau de données à partir de la base de données en JEE (MVC)
Bonjour, je suis débutante en JEE et j'ai un projet de stage à réaliser. J'ai commencé par l'affichage d'une table à partir de la base de donnée mais je trouve toujours des erreurs.
Voici l'erreur:
Citation:
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 /pages/AfficheDemande.jsp at line 20
17: <table border="2" style="margin-left:225px;">
18: <tr><td>numéro de la demande</td><td>désignation</td><td>justification</td><td>date de la demande</td></tr>
19: <% rs= AccesBase.lister();
20: while(rs.next())
21: {
22: %>
23: <tr><td><a href="/Engagement2/Controleur?idDemande=<%=rs.getString("idDemande")%>&designation=<%=rs.getString("designation")%>&jusdtification=<%=rs.getString("jusdtification")%>&dateDemande=<%=rs.getString("dateDemande")%>"><%=rs.getString("idDemande")%></a></td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
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.pages.AfficheDemande_jsp._jspService(AfficheDemande_jsp.java:74)
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:388)
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)
SVP veuillez me donnez un coup de main pour avancer voilà le code:
code jsp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="bean.AccesBase" %>
<%@ page import="java.sql.*"%>
<!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>
<title>Gestion des demandes</title>
</head>
<body>
<% ResultSet rs=null;%>
<h3 style="font-family:comic sans ms;color:gray;margin-left:200px;">Liste des demandes</h3>
<table border="2" style="margin-left:225px;">
<tr><td>numéro de la demande</td><td>désignation</td><td>justification</td><td>date de la demande</td></tr>
<% rs= AccesBase.lister();
while(rs.next())
{
%>
<tr><td><a href="/Engagement2/Controleur?idDemande=<%=rs.getString("idDemande")%>&designation=<%=rs.getString("designation")%>&jusdtification=<%=rs.getString("jusdtification")%>&dateDemande=<%=rs.getString("dateDemande")%>"><%=rs.getString("idDemande")%></a></td>
<td><a href="/Engagement2/Controleur?idDemande=<%=rs.getString("idDemande")%>&designation=<%=rs.getString("designation")%>&jusdtification=<%=rs.getString("jusdtification")%>&dateDemande=<%=rs.getString("dateDemande")%>"><%=rs.getString("designation")%></a></td>
<td><a href="/Engagement2/Controleur?idDemande=<%=rs.getString("idDemande")%>&designation=<%=rs.getString("designation")%>&jusdtification=<%=rs.getString("jusdtification")%>&dateDemande=<%=rs.getString("dateDemande")%>"><%=rs.getString("justification")%></a></td>
<td><a href="/Engagement2/Controleur?idDemande=<%=rs.getString("idDemande")%>&designation=<%=rs.getString("designation")%>&jusdtification=<%=rs.getString("jusdtification")%>&dateDemande=<%=rs.getString("dateDemande")%>"><%=rs.getString("dateDemande")%></a></td>
</tr>
<% }%>
</table>
</body>
</html>
</body>
</html> |
code du modèle :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
| package bean;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class AccesBase {
static public ResultSet authentification(String login,String pass)
{
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/engagement");
try {
java.sql.Connection c = ds.getConnection();
Statement st = c.createStatement();
ResultSet rs = st.executeQuery("select login,mdp from compte where login like ('"+login+"') and mdp like ('"+pass+"') ;");
return rs;
}
catch (SQLException e){
e.printStackTrace();
return null;
}
}catch (NamingException e){
e.printStackTrace();
return null;
}
}
static public int inscription(String nom,String prenom,String login,String mdp, String profession,String email)
{
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/engagement");
int ajout = 0;
try {
java.sql.Connection c = ds.getConnection();
Statement st = c.createStatement();
ajout = st.executeUpdate(" insert into compte values(NULL,"+nom+","+prenom+",'"+login+"',"+mdp+","+profession+","+email+");;");
return ajout;
}
catch (SQLException e){
e.printStackTrace();
return 0;
}
}catch (NamingException e){
e.printStackTrace();
return 0;
}
}
static public ResultSet lister()
{
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/engagement");
try {
java.sql.Connection c = ds.getConnection();
Statement st = c.createStatement();
ResultSet rs = st.executeQuery("select idDemande,designation,justification,dateDemande from demande;");
//st.close();
//c.close();
return rs;
}
catch (SQLException e){
e.printStackTrace();
return null;
}
}catch (NamingException e){
e.printStackTrace();
return null;
}
}
public static ResultSet listeRubrique(){
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/engagement");
try {
java.sql.Connection c = ds.getConnection();
Statement st = c.createStatement();
ResultSet rs = st.executeQuery("select * from rubrique;");
return rs;
}
catch (SQLException e){
e.printStackTrace();
return null;
}
}catch (NamingException e){
e.printStackTrace();
return null;
}
}
} |
code de la servlet:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| package servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import bean.AccesBase;
/**
* Servlet implementation class Controleur
*/
public class Controleur extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Controleur() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String mode=request.getParameter("mode");
int idDemande = Integer.parseInt(request.getParameter("idDemande"));
String designation = request.getParameter("designation");
String justification = request.getParameter("justification");
String dateDemande = request.getParameter("dateDemande");
//AccesBase.lister();
request.getRequestDispatcher("AfficheDemande.jsp").forward(request, response);
}} |
Merci d'avance pour votre aide.