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 :

Valeur de l'action dans un formulaire lors de l'invocation d'une servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 173
    Points : 96
    Points
    96
    Par défaut Valeur de l'action dans un formulaire lors de l'invocation d'une servlet
    Bonjour la liste,

    Mon application web tourne sous tomcat6 et la structure est la suivante :
    . /onjava : repertoire principal où se trouve ma page login .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
    <html>
    <head>
    	<title> OnJava Demo </title>
    	<meta http-equiv="Content-Type" Context="text/html;charset=ISO-8859-1">
    </head>
    <body bgcolor="#FFFFFF" onLoad="document.loginForm.username.focus()">
    	<table width="500" border="0" cellspacing="0" cellpadding="0">
    	   <tr>
    	   </tr>
    	   <tr>
    		<td></td>
    	   </tr>	
    	   <tr>
    		<td><img src="/onjava/images/Beer.gif"/></td>
    	   </tr>
    	   <tr>
    		<td></td>
    	   </tr>
    	</table>
     
    	<table width="500" border="0" cellspacing="0" cellpadding="0">
            <tr>
            <td>
    	  <table width="500" border="0" cellspacing="0" cellpadding="0">
    	    <form name="loginForm" method="post" action="servlet/com.onjava.login">
    	    <tr>
    		<td width="401"><div align="right"> UserName : </div></td>
    		<td width="399"><input type="text" name="password"></td>
    	    </tr>
    	    <tr>
    		<td width="401"><div align="right"> PassWord : </div></td>
    		<td width="399"><input type="password" name="password"></td>
    	    </tr>
    	    <tr>
    		<td width="401"></td>
    		<td width="399"><br><input type="submit" value="Submit"></td>
    	    </tr>
    	    </form>
    	  </table>
            </td>
            </tr>
            </table>
    </body>
    </html>
    . /onjava/WEB-INF : repertoire dans lequel se trouve le descripteur de déploiement web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app 
    	PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    	"http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    	<servlet>
    		<servlet-name>login</servlet-name>
    		<servlet-class>com.onjava.Login</servlet-class>
    	</servlet>
    </web-app>
    . /onjava/WEB-INF/classes : repertoire où se trouve ma servlet Login.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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    package com.onjava;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
     
    public class Login extends HttpServlet {
     
       private String target = "/welcome.jsp";
     
       private String getUser(String userName, String passWord){
    	//Just return a static name
    		//If this was reality, we would perform a SQL lookup
            return "Bob";
       } 	
     
       public void doGet ( HttpServletRequest request,
                           HttpServletResponse response)
    				throws ServletException, IOException {
    	//If it is a get request forward to doPost()
            doPost(request, response);
       }
     
       public void doPost ( HttpServletRequest request,
                            HttpServletResponse response)
    				throws ServletException, IOException {
    	//Get the username from the request
    	String username = request.getParameter("username");
     
            //Get the password from the request
    	String password = request.getParameter("password");
     
            String user = getUser(username, password);
     
    	//Add the fake user to the request
            request.setAttribute("USER",user);
     
            //forward the request to the target named
            ServletContext context = getServletContext();
     
    	RequestDispatcher dispatcher = context.getRequestDispatcher(target);
            dispatcher.forward(request, response);
       }
     
       public void destroy() {
       }
     
    }
    Je démarre le serveur tomcat et j'accède à la page JSP à traver l'URL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8080/onjava/login.jsp
    Mais lorsque je clique sur le bouton "Submit", j'obtiens la page d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Etat HTTP 404 -/onjava/login
              type Rapport d'etat
              message La ressource demandée (/onjava/login) n'est pas disponible
              Apache Tomcat /6.0.26
    J'ai pourtant bien précisé le chemin de la servlet dans la page JSP login.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    action="servlet/com.onjava.login
    Je ne sais coment remédier à la situation.

    Merci beaucoup d'avance pour votre aide

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268
    Points : 139
    Points
    139
    Par défaut
    Il faut faire un mapping dans ton web.xml
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        <servlet>
            <servlet-name>index</servlet-name>
            <servlet-class>index</servlet-class>
        </servlet>
    	<servlet-mapping>
            <servlet-name>index</servlet-name>
            <url-pattern>/servlet/index</url-pattern>
        </servlet-mapping>

Discussions similaires

  1. [Form] deux actions dans un formulaire ?
    Par FraK dans le forum Balisage (X)HTML et validation W3C
    Réponses: 21
    Dernier message: 16/07/2007, 15h11
  2. Réponses: 8
    Dernier message: 04/05/2007, 17h10
  3. Deux actions dans un formulaire ?
    Par Timalounet dans le forum Langage
    Réponses: 1
    Dernier message: 03/04/2007, 18h16
  4. Réponses: 15
    Dernier message: 12/12/2006, 12h37
  5. Réponses: 4
    Dernier message: 16/08/2006, 14h01

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