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 :

La méthode doGest n'est pas appelée après l'envoie du formulaire


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 141
    Points : 178
    Points
    178
    Par défaut La méthode doGest n'est pas appelée après l'envoie du formulaire
    Bonjour,
    Je dispose d'un formulaire et d'une servlet, la methode get ou post ne marche que si j'appelle l'url de la servlet enfin voici mon bout de code que j'ai coupé juste pour faire court...
    le 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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>Soldat</display-name>
    	<servlet>
    		<servlet-name>utilisateur</servlet-name>
    		<servlet-class>fr.java.fofall.web.servlet.inscriptionServlet</servlet-class>
    	</servlet>
    	<!-- Mapping ServletPersonne-->
    	<servlet-mapping>
    		<servlet-name>utilisateur</servlet-name>
    		<url-pattern>/do</url-pattern>
    	</servlet-mapping>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        </welcome-file-list>
    </web-app>
    inscription.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"%>
        <%@taglib uri="/WEB-INF/c.tld" prefix="c"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%
            String nom=request.getParameter("nom");
            if(nom==null)nom="Ray";
    %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>formulaire d'inscription</title>
    </head>
    <body>
    	<h2>Formulaire d'inscription</h2>
                 <form name="usrCnx" action="/validerUser.do" method="post">
    	<table>
    		<tr>
    			<td>*Login : <input type="text" name="login" value="Login" size="20"></td>
    				</tr>
            		<tr>
            			<td>*Mot de passe : <input type="password" name="password" size="20">
            				*V&eacute;rification: <input type="password" name="passwordconfirm" size="20">
            			</td>
    </tr>
            	</table>
            	<p></p>
            	<p></p>
            	<input type="submit" name="envoyer" value="Envoyer">
    	</form>
    </body>
    </html>
    inscriptionServlet.java
    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 fr.java.fofall.web.servlet;
    import javax.servlet.*;
    public class inscriptionServlet extends HttpServlet {
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		String méthode=req.getMethod().toLowerCase();
    		String action=req.getParameter("action");
    		urlInscription=null;
    		if(action==null)action="init";
    		if(méthode.equals("get")&&action.equals("init")){
     
    			 urlInscription="/jsp/inscription.jsp";
    			 getServletContext().getRequestDispatcher((String)urlInscription).forward(req, resp);
     
    		}
    		else{
    			System.out.println(action+" -->n'est pas pris en compte");
    		}
    	}
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doGet(req, resp);
    	}
    voilà une fois que j'appelle ma servlet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8080/Soldat/do
    j'ai bien mon formulaire
    mais une fois que je valide avec envoyer bon déjà je trouve que c'est normal que le serveur m'affiche le que la ressource n'est pas disponible mais je comprends pas il ne repasse pas dans ma méthode doGet ou doPost.
    PS:j'ai un enlevé une grande partie de mon code pour comprendre pourquoi ca ne marche pas et je suis arrivé à cet petit bout de code que j'ai posté merci.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    parce que tu envoie le formulaire sur /validerUser.do et non pas sur /Soldat/validerUser.do, qui est plus proche de l'url correcte. JE rajoute que tu n'a rien mappé pour validerUSer.do donc tu tombera quand même sur la même erreur, masi au moins dans la bonne webapp. A toi après de mapper quelque chose là dessus. Si rien de mappé à l'adresse en question -> erreur et il a aucune raison de passer dans ton code.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 141
    Points : 178
    Points
    178
    Par défaut
    Salut et merci pour ta réponse.
    En fait si je comprends bien je dois mapper chaque url utilisé dans ma web.xml?Ce que serait pas un peu lourd?vu dans une des application que j'ai créée et que ça marché j'avais pas mappé chaque url et même juste avant que ca parte en cacahuete j'avait un passage dans la servlet à chaque fois même si url n'était pas valide il m'affichait un message dans la fenêtre console alors que :rien il passe pas...
    Je vais essayer de voir un peu plus...

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    tu dois mapper chaque servelt sur la / les urls qu'elle vont servir. Tu pexu donc au choix mapper

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /validerUser.do
    /validerUser.*
    *.do
    dans ton cas.

    mais dans ton web.xml actuel, rien ne corresponde à validerUser.do

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 141
    Points : 178
    Points
    178
    Par défaut
    Bon j'ai changé tellement de choses dans mon projet mais y a toujours rien qui marche tu peux juste me passer un bout de code enfin un projet qui marche chez toi qui traite les formulaires enfin une petite application qui prend une requette de formulaire et l'affiche ou les pages jsp ne sont pas dans le dossier racine("webContent") par ce qu'il y a que ce cas qui marche chez moi et je veux pas d'un tel cas soit les jsp sont dans un dossier qui se trouvent ds le WEB-INF soit ils se trouvent dans le dossier qui se trouve dans le WebContent ou sinon je te passe mon bout de code et t'essaies de le faire marcher chez toi et tu me dis ce que ne va pas.
    Merci d'avance.
    PS:je te laisse mon msn au cas où...
    ray_fab@hotmail.fr
    Cordialement.

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/04/2014, 20h10
  2. Réponses: 2
    Dernier message: 21/02/2014, 16h47
  3. Réponses: 0
    Dernier message: 19/01/2011, 09h03
  4. Réponses: 2
    Dernier message: 27/07/2006, 09h30
  5. [servlet][filtre] filtre qui n'est pas appelé
    Par felix79 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 29/06/2005, 20h09

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