Alors voilà:
J'arrive enfin à passer en page 3 de mon framework:
j'ai une premiere méthode dans ma servet qui utilise un resultset.
Ce même RS est utilisé dans une deuxieme méthode de ma servlet .
Je l'ai donc (le RS) rendu private.
Ce que j'essaye de tester pour le moment c'est de voir si le Rs est bien conservé d'une méthode à l'autre .
En effet, car les requêtes faites dans ma deuxieme méthode ne sont pas réalisées.

Voici la méthode 1dans ma 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
 
void doInterrogationFormulaire(HttpServletRequest request,HttpServletResponse response) 
	throws ServletException, IOException, SQLException, Exception {
 
//		on récupère les paramètres
		String nomCentre = (String)  request.getParameter("nomCentre");
		String NEtude = (String) request.getParameter("NEtude");
 
		//puis on le stocke dans la session
		HttpSession session = request.getSession(true);
		session.setAttribute("nomCentre", nomCentre);
		session.setAttribute("NEtude", NEtude);
 
		Connexion com = new Connexion();
 
		try{
			String queryidPrelevement="SELECT idPrelevement FROM Etabl_Prlvmt where NEtude='"+NEtude+"'";
			resultSetIDPrelevement=com.ConnectAndQuestion(queryidPrelevement);
 
			if(resultSetIDPrelevement.next()){
				resultSetIDPrelevement.beforeFirst();
				request.setAttribute("resultSetIDPrelevement", resultSetIDPrelevement);
				getServletContext().getRequestDispatcher((String) params.get("urlReponse")).forward(
						request, response);				
				return;
			}
 
			else {	
				getServletContext().getRequestDispatcher((String) params.get("urlFormulaire")).forward(
						request, response);
				com.close();
				return;
			}
		}
		catch(Exception ex) {
			ex.printStackTrace();
			System.err.println("\n*** SQLException caught in main()");
			getServletContext().getRequestDispatcher((String) params.get("urlFormulaire")).forward(
					request, response);
			return;		
		}
 
	}
Donc le Rs est bien passé (est bien parsé) dans la page réponse 1.

Voici ce qu'il se passe dans ma méthode 2 (appelée à partir de la page réponse 1):
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
void dotestAffichage(HttpServletRequest request,HttpServletResponse response) 
	throws ServletException, IOException, SQLException, Exception {

		ArrayList<String> listIdPrelevement = null;
		
		Connexion updatePrlvmt= new Connexion();

		try{	
			//serveur,login,pwd,database
			updatePrlvmt.loadDriverAndConnect("127.0.0.1","3306","root","root","");

			int k=1;
			while (resultSetIDPrelevement.next()){
				String idPrelevement = resultSetIDPrelevement.getString("idPrelevement");
				listIdPrelevement.add(idPrelevement);
				
				if (request.getParameter("choix"+k) !="Vl"){					
					String champModalite=(String) request.getParameter("modalite"+k);
					String champPoss1Exutoire=(String) request.getParameter("Poss1exutoire"+k);
					String champPoss2Exutoire=(String) request.getParameter("Poss2exutoire"+k);
					String champPoss3Exutoire=(String) request.getParameter("Poss3exutoire"+k);
					
					String champExutoire = null;
					if (champPoss2Exutoire!="null" && champPoss3Exutoire!="null"){
						champExutoire=champPoss1Exutoire+"+"+champPoss2Exutoire+"+"+champPoss3Exutoire;
					}
					
					else if (champPoss2Exutoire!="null" && champPoss3Exutoire.equals("null")){
						champExutoire=champPoss1Exutoire+"+"+champPoss2Exutoire;
					}
					
					else if (champPoss2Exutoire.equals("null") && champPoss3Exutoire!="null"){
						champExutoire=champPoss1Exutoire+"+"+champPoss3Exutoire;
					}
					
					else {
						champExutoire=champPoss1Exutoire;
					}				

					String queryUpdate="UPDATE PrelevLEG SET Modalite='"+champModalite +
					"',Exutoire='"+champExutoire +
					"',Temp='null',TempMax='null',Heure='00:00' WHERE idPrelevement='"+idPrelevement +
					"';";
					updatePrlvmt.execute(queryUpdate);
				}

				if (request.getParameter("choix"+k) !="Ef"){
					String queryUpdate="DELETE FROM PrelevLEG where idPrelevement='"+idPrelevement +"'";
					
					updatePrlvmt.execute(queryUpdate);
				}
			}			
		}catch(Exception ex) {
			ex.printStackTrace();
			System.err.println("\n*** SQLException caught in main()");	
		}
	
		request.setAttribute("listIdPrelevement",listIdPrelevement);
		request.setAttribute("urlAction", (String) params.get("urlControleur"));
		
		getServletContext().getRequestDispatcher((String) params.get("urlReponseBis")).forward(request,
				response);       
		return;
	}
Je me suis dit : "si les requêtes ne sont pas exécutées donc le RS (condition while en rouge) n'est pas transmis ou exporté de manière interne .
Cependant, je ne passe pas dans le catch et la page réponse 2 est bien rendue.
J'ai donc essayé d'afficher mon Rs dans la page 2 or :
Mon RS s'appelle resultSetIDPrelevement et je lui demande donc les idPrelevements
dans le catalina.out:
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
 
*** SQLException caught in main()
org.apache.jasper.JasperException: Exception in JSP: /WEB-INF/JSP/LEG/Prlvmnt/respFichePrlvLEGactual.jsp:30
 
27:     	L'actualisation a bien &eacute;t&eacute; effectu&eacute;e :
28:     	
29:     	<% 
30:             while (resultSetIDPrelevement.next()){
31:                     String idPrelevement = resultSetIDPrelevement.getString("idPrelevement");
32:                     %>              			
33: 		<tr>
 
 
Stacktrace:
	at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
J'ai pensé que je m'y suis mal prise. j'ai donc essayé une autre technique:
dans ma deuxieme méthode dans le servlet comme le Rs ne semble pas vide je vais rajouter à chaque tour de boucle mon idPrelevement dans un Arraylist et dans la page réponse 2 j'ai fait un iterator
Là même message d'erreur:
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
 
Connected to :	jdbc:mysql://127.0.0.1:3306/BIOTECH
org.apache.jasper.JasperException: Exception in JSP: /WEB-INF/JSP/LEG/Prlvmnt/respFichePrlvLEGactual.jsp:29
 
26:     	<tr>
27:     	L'actualisation a bien &eacute;t&eacute; effectu&eacute;e :
28:     	</tr>
29:     	<%Iterator itIDPrelevINreponse=listIdPrelevement.iterator();
30:             while(itIDPrelevINreponse.hasNext()){
31:                     String idPrelevement= (String) itIDPrelevINreponse.next();%>
32:   
Stacktrace:
	at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
J'ai de la ressource et de l'entêtement , j'ai surement mal fait mon iterator :
j'ai essayé toutes les astuces possibles mais rien n'y fait j'ai toujours le même "org.apache.jasper.JasperException".
Une idée ? et surtout comment avoir plus de renseignements sur l'erreur qu'un "org.apache.jasper.JasperException: Exception in JSP"

Merci d'avance de votre attention