IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Redirection D'une servlet a une autre


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 87
    Par défaut Redirection D'une servlet a une autre
    Bonjour
    je sais tres bien qu'il est possible de faire une redirection dune page jsp a une servlet ou le contraire mais j'aimerai bien savoir s ke c possibe de faire la redirection d'un servlet a une autre.
    j'attend vos reponses
    merci beaucoup d'avance

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Par défaut
    aucun problème, dans le code html de ta servlet tu mets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    out.println("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL='NOM_AUTRE_SERVLET'\">");
    Et ça marche nickel
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 87
    Par défaut
    re
    merci bcp Aldian pour ta reponse.g essaye ce ke tu ma demande mais ça marche po je crois que c du a l'instruction:
    String abc = request.getParameter("Matiere"); ki se trouve au debut de la servlet BUT.
    Donc comment envoyer un parametre au moment de la redirection de la servlet source a la servlet but.
    Merci infinimant pour votre aide

  4. #4
    Membre chevronné

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Par défaut
    aucun problème, dans le code html de ta servlet tu mets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    out.println("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL='NOM_AUTRE_SERVLET?Matiere="+valMatiere+"'\">");
    Et ça marche nickel
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 87
    Par défaut
    RE Aldian
    t un ange lol, jrigole merci bcp pour ton aide.
    g reussit a resoudre le blem de redirection que javais MAIS g po reussit a avoir le resultat ke je cherche.g 2 servlets et une page jsp:
    1-la sevlet "InscriptionResponsable" m'envoie vers "note.jsp" et elle ecrit automatiquement le nom et prenom du 1er etudiant.
    2-je saisie les notes de cet etudiants ds les differents controles puis je clique sur suivant ki menvoie vers la servlet"enregModif".
    3-cette derniere recupere les differents notes et les stocke ds la base et me renvoie vers la servlet "InscriptionResponsable" pour avoir le 2eme etudiant..... juskau dernier etudiant.

    le blem c ke ça marche pour le 1er pour le 2 eme elle stock les meme notes que celle su 1er et pour le 3eme etudiants g cette erreur "java.lang.ArrayIndexOutOfBoundsException: 6
    projet.EnregModifi.doGet(EnregModifi.java:75)"la ligne 75 c int cf=tb[l];

    voila le code de InscriptionResponsable:
    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
     
    package projet;
     
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
     
    import projet.enseignant.*;
     
    public class InscriptionResponsable extends HttpServlet implements Servlet {
    	private Vector vect=new Vector();
    	int j=0;
    	private Connection con;    
    	private Statement st;
    	public ResultSet rs;
    	int []tb={10,10,10,10,10,50,50};
     
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    		String abc = request.getParameter("Matiere");
    		if (abc == null){
    			abc = request.getParameter("mat");
    		}
    		final int i=Integer.parseInt(abc);
    		try{
    			Etudiant e = new Etudiant();
    			String Req= "SELECT Etudiant.IdEtudiant, Etudiant.Nom, Etudiant.Prenom, Inscription.IdMatiere "+ 
    		   	   			"FROM   Etudiant JOIN "+
    		   	   			"Inscription on Etudiant.IdEtudiant= Inscription.IdEtudiant "+ 
    		   	   			"WHERE Inscription.IdMatiere='"+ i +"' "+ 
    		   	   			"AND   Inscription.Annee='"+ "2007/2008" +"' ";
     
    			String url = "jdbc:odbc:li";
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    			con = DriverManager.getConnection(url, "sa", "adminadmin");
    			//st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE );
    			st = con.createStatement();
    			rs=st.executeQuery(Req);
    			while(rs.next()){
    				vect.addElement(rs.getInt(1));
    			}
     
    			while(j<vect.size()){
    				int idEtud=Integer.parseInt(String.valueOf(vect.elementAt(j)));
    				e.cherch(i,idEtud);
    				//e.setCompt(j);
    				j++;
    				HttpSession session=request.getSession(true);
    				session.setAttribute("bean3",e);
    				getServletContext().getRequestDispatcher("/note.jsp").forward(request,response);
    				break;
    			}
    		}      
     
    		catch (ClassNotFoundException e) {
    			response.sendRedirect("http://localhost:8080/test/ClassNotFoundException.html");
    		} 
    		catch (SQLException a) {
    		    response.sendRedirect("http://localhost:8080/test/SQLException.html");
    		}
     
    	}
     
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    		doGet(request,response);	
    }
    }
    le code de "enregModif":
    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
     
    package projet;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import java.util.Vector;
    import projet.enseignant.*;
     
     public class EnregModifi extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    	 	private Vector vect=new Vector();
    		private Connection con;    
    		private Statement st;
    		public ResultSet rs;
    		int []tb={10,10,10,10,10,50};
     
    		protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    			int []tb={10,10,10,10,10,50};
    			int k=0;
    			String v0 = request.getParameter("id");
    			if (v0 == null){
    				v0 ="1";
    			}	
    			int b=Integer.parseInt(v0);
     
    			String v1 = request.getParameter("mat");
    			if (v1 == null){
    				v1 ="1";
    			}
    			int w=Integer.parseInt(v1);
     
    			String var0 = request.getParameter("c1");
    			if (var0 == null){
    			var0 ="0";
    			}
    			vect.addElement(var0);
     
    			String var1 = request.getParameter("c2");
    			if (var1 == null){
    				var1 ="0";
    			}
    			vect.addElement(var1);
     
    			String var2 = request.getParameter("c3");
    			if (var2 == null){
    				var2 ="0";
    			}
    			vect.addElement(var2);
     
    			String var3 = request.getParameter("tp");
    			if (var3 == null){
    				var3 ="0";
    			}
    			vect.addElement(var3);
     
    			String var4 = request.getParameter("ass");
    			if (var4 == null){
    				var4 ="0";
    			}
    			vect.addElement(var4);
     
    			String var5 = request.getParameter("exam");
    			if (var5 == null){
    				var5 ="0";
    			}
    			vect.addElement(var5);
     
    			try{
    				Etudiant e = new Etudiant();
    				for(int l=0;l<(vect.size());l++){
    					float nt=(Float.valueOf(String.valueOf(vect.elementAt(l)))).floatValue();
    					k=l+1;
    					int cf=tb[l];
    					e.note(b,w,k,nt,cf);
    				}
    				response.setContentType("text/html");
    				PrintWriter out=response.getWriter();
    				//out.println("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL='InscriptionResponsable'\">");
    				out.println("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL='InscriptionResponsable?Matiere="+w+"'\">");
    			}
    			catch (ClassNotFoundException e) {
    				response.sendRedirect("http://localhost:8080/test/ClassNotFoundException.html");
    			} 
    			catch (SQLException a) {
    				response.sendRedirect("http://localhost:8080/test/error.html");
    			}
    	 }  	
     
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request,response);
    	}   	  	    
    }
    el le code de "note.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
    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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ page import="projet.enseignant.*" %>
    <!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>Notes</title>
    </head>
     
    <body>
    <jsp:useBean  id="bean1" scope="session" class="projet.enseignant.Enseignant">
    </jsp:useBean>
     
    <%
    Etudiant etud = (Etudiant)session.getAttribute("bean3");
    int val5=etud.getId();
    int val0=etud.getIdMat();
    String val1=etud.getNom();
    String val2=etud.getPrenom();
    String val3=bean1.libelleMat(val0);
    %>
     
     
    <form name="frm" action="EnregModifi" method="post">
    <h1 align="center"> Saisie de notes de la matière <%=val3 %></h1>
     
    <table align="center">
    <tr>
    <td>Nom: </td>
    <td><input type="text" name="nom" value="<%=val1 %>"/></td>
    </tr>
     
    <tr>
    <td>Prénom: </td>
    <td><input type="text" name="prenom" value="<%=val2 %>"/></td>
    </tr>
     
    <tr>
    <td>Controle1: </td>
    <td><input type="text" name="c1" /></td>
    </tr>
     
    <tr>
    <td>Controle2: </td>
    <td><input type="text" name="c2" /></td>
    </tr>
     
    <tr>
    <td>Controle3: </td>
    <td><input type="text" name="c3" /></td>
    </tr>
     
    <tr>
    <td>TP: </td>
    <td><input type="text" name="tp" /></td>
    </tr>
     
    <tr>
    <td>Assiduité: </td>
    <td><input type="text" name="ass" /></td>
    </tr>
     
    <tr>
    <td>Exam: </td>
    <td><input type="text" name="exam" /></td>
    </tr>
     
    <tr>
    <td><input type="hidden" name="mat" value="<%=val0 %>" /></td>
    </tr>
     
    <tr>
    <td><input type="hidden" name="id" value="<%=val5 %>" /></td>
    </tr>
     
    <tr>
    <td></td>
    <td align="right"><input type="submit" name ="bout" value="Suivant"/></td>
    </tr>
     
    </table>
    </form>
    </body>
    </html>
    merci infiniment

  6. #6
    Membre chevronné

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Par défaut
    Il y a plusieurs trucs bizarres dans ton code. D'abord au niveau de ton erreur, l'as tu regardée de près?

    En gros tu fais une boucle de 0 à taille du vecteur et du prend les ièmes éléments d'un autre tableau. Donc suffit que la taille du vecteur soit supérieure à celle du tableau et tu en dépasse les bornes.



    Sinon le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while(j<vect.size()){
    				int idEtud=Integer.parseInt(String.valueOf(vect.elementAt(j)));
    				e.cherch(i,idEtud);
    				//e.setCompt(j);
    				j++;
    				HttpSession session=request.getSession(true);
    				session.setAttribute("bean3",e);
    				getServletContext().getRequestDispatcher("/note.jsp").forward(request,response);
    				break;
    			}
    me parait un peu naïf. Je ne m'avancerai pas trop la dessus parce que je ne suis pas non plus un vieux de la vielle, mais à mon avis ce qui se passe c'est que la boucle effectue la première redirection, et que sans attendre qu'il se passe quelque chose elle continue à boucler j'usquà la fin, sauf que peut être qu'elle ne peut plus rien rediriger vu qu'elle l'a déjà fait un coup. en tout cas lorsque tu rappelles ta servlet pour le deuxieme élève, il y a des chances pour qu'elle se réexécute du début te proposant à nouveau le premier élève.


    Si j'ai bon la solution est toute bête, il faut enlever la boucle while et mettre un paramêtre statique compteur initialisé à -1 que tu incrémente à chaque appel de la première servlet.
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo