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 :

collaboration Servlet JSP


Sujet :

Servlets/JSP Java

  1. #1
    En attente de confirmation mail
    Inscrit en
    Octobre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 113
    Points : 60
    Points
    60
    Par défaut collaboration Servlet JSP
    bonjour,
    je viens,en apprenant le developpement web en java,d'essayer un petit programme qui affiche une liste deroulante et un bouton (role de servlet),quand l'utilsateur choisit un numero et tape le bouton le servlet passe la main a une page JSP pour afficher le choix de l'utilisateur (en lui envoyant les parametres necessaires) ou une page d'erreur si il ya pb.
    cependant quand j'execute la servelet elle m'affiche le formulaire mais quand je clic sur le bouton voila ce que me donne:

    type Rapport d'exception

    message

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

    exception

    java.lang.IllegalStateException: Impossible d'utiliser faire-suivre (forward) après que la réponse ait été envoyée
    servletToJSP.doPost(servletToJSP.java:58)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.26.
    Apache Tomcat/5.5.26
    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
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.sql.*;
    import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
     
     
     public class servletToJSP extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
     
    	 String[] tab=new String[6];	
    	 String MsgErreur=null;
    	 String choix="";
    	 String cible=null;
     
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter();
    		out.println("<html>");
    		out.println("<body>");
    		out.println("<head>");
    		out.println("<title>Request Information Example</title>");
    		out.println("</head>");
    		out.println("<body>");
    		out.println("<h3>example de requette</h3>");
     
    		out.println("une liste deroulante ");
    		out.println("<form method=\"POST\" >");
    		out.println("<p> <select name=\"numero\">"); 
    		for(int i=0;i<6;i++)
    			{
    			  /* if (tab[i].compareTo(choix)==0)
    				   out.println("<option  selected >" + tab[i]+"</option>");
    			   else*/
    				   out.println("<option >" + tab[i]+"</option>");   
    			}	             
    		out.println("</select> </p>");
    		out.println("<input type=\"submit\" value=\"valider\">");
    		out.println("</form>");
    		out.println("</body>");
    		out.println("</html>");
    	}  	
     
     
     
     
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		//cas ou il y'a erreur
    		request.setAttribute("MsgErreur", MsgErreur);
    		if (MsgErreur==null)
    			this.getServletContext().getRequestDispatcher("/JSP1.jsp").forward(request, response);
    		//cas ou il n'y a pas erreur
    		choix=request.getParameter("numero");
    		request.setAttribute("choix", choix);
    		this.getServletContext().getRequestDispatcher("/JSP2.jsp").forward(request, response);
     
    	} 
     
    	public void init(){
     
    		Statement st=null;
    		Connection cn=null;
    		ResultSet rs=null;
     
    		//connexion a la base de donnees
    		MysqlDataSource bd=new MysqlDataSource();
    		bd.setPassword("");
    		bd.setUser("root");
    		bd.setDatabaseName("dbvaleurs");
    		int i=0;
    		 try{
    			 cn=bd.getConnection();
    			 st=cn.createStatement();
    			 rs=st.executeQuery("SELECT * from tvaleurs");
    			 while(rs.next())
    			 {
    				tab[i]= rs.getString("valeur");
    				i++;
    			 }
     
    		 }
     
    		catch(Exception e)
    		    {
    			MsgErreur= e.getMessage();
    			}
    		finally 
    		{
    		try {rs.close();} catch(Exception e){}
    		try {st.close();} catch(Exception e){}
    		try {cn.close();} catch(Exception e){}
     
    		}
     
     
    	}
    }
    j'arrive pas a comprendre le message de l"erreur
    qq peux m'aider sil vous plais
    merci

  2. #2
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Cela vient du fait que tu essaie de faire un forward et de modifier la requête alors que la réponse a deja été envoyé, essaie de faire ceci :
    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
     
    ...
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		//cas ou il y'a erreur
    		request.setAttribute("MsgErreur", MsgErreur);
    		if (MsgErreur==null) {
    			this.getServletContext().getRequestDispatcher("/JSP1.jsp").forward(request, response); 
                     } else {
    		//cas ou il n'y a pas erreur
    		choix=request.getParameter("numero");
    		request.setAttribute("choix", choix);
    		this.getServletContext().getRequestDispatcher("/JSP2.jsp").forward(request, response);
    }
     
    	}

  3. #3
    En attente de confirmation mail
    Inscrit en
    Octobre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 113
    Points : 60
    Points
    60
    Par défaut
    bonjour
    je viens pas a comprendre comment la reponse a ete envoyee:
    normalement le client envoie sa requette quand il clic sur bouton envoyer.
    alors la Servlet degage des informations de la requet et la transfert a la page jsp qui envoie la reponse au client.
    c juste?

  4. #4
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Oui et quand la servlet fais le forward, la réponse est envoyé et toi tu cherche a modifié la requete alors que le foward a deja eu lieu.

  5. #5
    En attente de confirmation mail
    Inscrit en
    Octobre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 113
    Points : 60
    Points
    60
    Par défaut
    alors comment faire
    t'as pas modifier grand chose dans mon code
    juste t'as ajoute else
    en tt cas merci pour l'aide

  6. #6
    En attente de confirmation mail
    Inscrit en
    Octobre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 113
    Points : 60
    Points
    60
    Par défaut
    les autres pas d'aide!!!!!!

  7. #7
    En attente de confirmation mail
    Inscrit en
    Octobre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 113
    Points : 60
    Points
    60
    Par défaut
    en faite tu as raison
    il faux que je me concentre plus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. [servlet][JSP]forwarder dans une frame
    Par deldin dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 30/06/2004, 18h03
  3. [servlet][JSP] renvoi d'informations
    Par deldin dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 22/06/2004, 13h44
  4. [servlet][jsp] Creer une page de login
    Par Beuj dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/03/2004, 17h55
  5. [Servlet][JSP] valeur ajoutée
    Par yolepro dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 03/03/2004, 17h30

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