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 :

[débutant] Formulaire, servlet et JSP => mauvaise direction


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club Avatar de Ministar
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 56
    Points
    56
    Par défaut [débutant] Formulaire, servlet et JSP => mauvaise direction
    Bonjour,
    Je fait mon premier test d'envoi de données via formulaire avec Java.
    Je travail sous eclipse et Tomcat.

    Pour mes fichiers j'ai :
    web.xml dans FormulaireProjet/WEB-INF/
    Formulaire.java et FormulaireAction.java pour mes servlets,
    formulaire.jsp et formulaireAff.jsp pour mes pages jsp


    D'après moi :
    Quand je vais interroger formulaire1 Tomcat va voir dans le fichier web.xml et voit que le servlet associé est Formulaire, celui ci dirige vers la page formulaire.jsp.
    A la validation du formulaire, sur "action" j'ai mis action1, action1 est associé au servlet FormulaireAction et redirige vers formulaireAff.jsp.

    Mon problème est que lorsque j'appelle http://localhost:8080/FormulaireProjet/formulaire1 au lieu de m'afficher mon formulaire il va chercher la page qui doit être appellé lors de la validation du formulaire!

    Mon raisonnement est faux ? Est ce que la validation du formulaire se fait toute seule ? Voulez vous mes sources (c'est pas très compliqué pourtant)

    merci

  2. #2
    Membre du Club Avatar de Ministar
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 56
    Points
    56
    Par défaut
    J'ai beaucoup cherché, je ne comprends pas pourquoi il redirige vers la page de validation de formulaire au lieu d'afficher le formulaire directement !!

    Mon web.xml :
    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
    <web-app>
    	<display-name>Test d'un formulaire</display-name>
     
    	<servlet>
     
    		<servlet-class>com.servlet.controleur.Formulaire</servlet-class>
    		<servlet-name>form1</servlet-name>
     
    		<servlet-class>com.servlet.controleur.FormulaireAction</servlet-class>
            <servlet-name>action1</servlet-name>
     
    	</servlet>
    	<servlet-mapping>
     
    		<servlet-name>form1</servlet-name>
    		<url-pattern>/formul</url-pattern>
     
    		<servlet-name>action1</servlet-name>
            <url-pattern>/act1.do</url-pattern>
     
    	</servlet-mapping>
    </web-app>
    Je ne pense pas que cela soit utile mais voici ma servlet Formulaire :
    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
     
    package com.servlet.controleur;
     
    import java.io.IOException;
     
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    //Sert uniquement à l'affichage du formulaire :
    public class Formulaire extends HttpServlet
    {
      //Paramètres : requete recu et reponse :
    	public void doGet(HttpServletRequest requete, HttpServletResponse reponse) 
    	  throws IOException, ServletException //Pour les exceptions
      {  	
     
    		//RequestDispatcher cible = requete.getRequestDispatcher("formulaire.jsp");		
    	  //On redirige la réponse à la vue :
    		//cible.forward(requete,reponse);
     
    		requete.getRequestDispatcher("formulaire.jsp").forward(requete, reponse);
      }
    }
    Le JSP formulaire.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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <!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>Vue JSP form1</title>
    </head>
    <body>
      La vue de mon formulaire de saisie :
      <form name="act1" action="/act1.do" method="post">
        Nom : <input type="text" name="nom" />
        Prénom : <input type="text" name="prenom" />
        <input type="submit" name="valider" value="Envoyer" />
      </form>
    </body>
    </html>
    La servlet FormulaireAction :
    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
    package com.servlet.controleur;
     
    import java.io.IOException;
     
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    //Sert uniquement à l'affichage du formulaire :
    public class FormulaireAction extends HttpServlet
    {
      //Paramètres : requete recu et reponse :
    	public void doGet(HttpServletRequest requete, HttpServletResponse reponse) 
    	  throws IOException, ServletException //Pour les exceptions
      {  	
    		//RequestDispatcher cible = requete.getRequestDispatcher("formulaireAff.jsp");		
    	  //On redirige la réponse à la vue :
    		//cible.forward(requete,reponse);
     
    		requete.getRequestDispatcher("formulaireAff.jsp").forward(requete, reponse);
      }
     
    	//Paramètres : requete recu et reponse :
    	public void doPost(HttpServletRequest requete, HttpServletResponse reponse) 
    	  throws IOException, ServletException //Pour les exceptions
      {  	
    		//Traitements identique à doGet();
    	  doGet(requete, reponse);
      }
    }
    La JSP formulaireAff.jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <!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>Vue JSP form1</title>
    </head>
    <body>
    Formulaire validé , j'afficherais les infos quand je n'aurais plus cette redirection directe vers cette page
     
    </body>
    </html>
    Comme vous pouvez le voir il n'y a rien de tordu ou de super compliqué, d'ou vient cette redirection vers la page qui normalement doit se lancer après la validation du formulaire ?

  3. #3
    Membre du Club Avatar de Ministar
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 56
    Points
    56
    Par défaut Enfin
    Bonjour, pour ceux qui aurait un problème similaire je viens de le résoudre :

    Le problème venais du mappage dans web.xml, en effet je déclarais plusieurs servlet dans une seule balise <servlet></servlet> or il faut encadrer chaque couple servlet-class et servlet-name, idem pour le <servlet-mapping></servlet-mapping>.

    Merci moi même !

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

Discussions similaires

  1. [Débutant] Servlets et JSP
    Par rose_des_sables dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 09/02/2007, 20h07
  2. Réponses: 2
    Dernier message: 12/05/2006, 18h49
  3. [jsp]controles des formulaires servlet ou javascript ?
    Par alexandra_ape dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 05/07/2004, 14h46
  4. [servlet][formulaire] servlet inactive
    Par okoax dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 14/04/2004, 18h22
  5. [Debutant]contexte d'une Webapp servlet et jsp
    Par yahia dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/10/2003, 10h43

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