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:
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.