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 :

Erreur 404 de la servlet a la JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Points : 51
    Points
    51
    Par défaut Erreur 404 de la servlet a la JSP
    Salut ;

    J'ai un petit souci avec la requete get dans la servlet , avant ca marché bien mais plus maintenant , Je met ma page jsp dans le WEB-INF , puis je veux accéder a cette dernière via ma servlet dans un package "com.phar.servlets" mais ca me donne erreur 404 !

    Voila le bout de ma servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class Inscription extends HttpServlet {
     
        private final static String vue_inscription = "/WEB-INF/Inscription_client";
     
     protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
     
            request.getRequestDispatcher(vue_inscription).forward(request, response);
     
        }
     
    }
    Ma 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
     
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
     
            <div>
     
                <form action="Inscription" method="post">
     
                    <fieldset>
     
                        <legend>Inscription du client</legend>
     
                        <p>
                            Nom :  <input type="text" name="nom" value="" />  
                        </p>
     
                         <p>
                            Prénom :  <input type="text" name="prenom" value="" />  
                        </p>
     
                         <p>
                             Date de livraison :  <input type="text" name="date" value="" disabled="disabled"/>  
                        </p>
     
                        <p>
                            telephone :  <input type="text" name="telephone" value="" />  
                        </p>
     
                         <p>
                            Adresse :  <input type="text" name="adresse" value="" />  
                        </p>
     
                         <p>
                            Nom du médicament :  <input type="text" name="nom_medicament" value="" />  
                        </p>
     
                         <p>
                            Prix :  <input type="text" name="prix" value="" />  
                        </p>
     
                         <p>
                            Quantité :  <input type="text" name="quantite" value="" />  
                        </p>
     
                        <p>
     
                            <input type="submit" value="Valider" />     <input type="reset" value="Remettre a zero" />
                        </p>
                    </fieldset>
     
     
                </form>     
     
            </div>
     
     
        </body>
    </html>

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    Salut,

    tu as oublié je pense l'extension .jsp ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     private final static String vue_inscription = "/WEB-INF/Inscription_client.jsp ";
    c'est bien une page jsp que tu dois mettre ici et tu dois le préciser...

    Tu dois aussi récupérer le context pour que ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     this.getServletContext().getRequestDispatcher( vue_inscription ).forward( request, response );

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Points : 51
    Points
    51
    Par défaut
    Si si je l'es mis ! c'est juste un ctrl + z que j'ai dus faire , en fait le problème c'est que ca marche sur Neatbeans mais ca marche plus sur Eclipse , j'ai dus redémarrer le serveur 10 fois mais toujours le meme problème sur Eclipse

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    D'accord , donc je ne vois que le problème du web.xml, vérifies tes mapping de ServLet, si tu les déclares correctement. Si tu utilises les annotations pour rediriger tes ServLets , alors supprime les, et tente de les déclarer directement dans le fichier web.xml.

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    servlet 2.5 ou 3.0 ? Le contenu du web.xml peut changer énormément selon le acs. Peux-tu nous afficher ton web.xml ?

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    j'ai testé ton code avec tomcat 7 et servlet 3.0. J'ai juste fait les changements suivants:

    *) private final static String vue_inscription = "/WEB-INF/Inscription_client.jsp ";

    *)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request,response);
    	}
    car dans ta jsp, ton formulaire appelle la méthode post et dans ta servlet, tu codes la méthode doGet

    une fois ces changements, ça marche sans problème.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Points : 51
    Points
    51
    Par défaut
    Voila mon web.xml , je déclare pas les servlet , je pense que ca se fait automatiquement sous eclipse dans les dernières version , ca marché nikel avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?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_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>pharmacie</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    plawyx c'est déconseiller de mettre la methode doGet dans la methode Post

  8. #8
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    euh oui en ce qui concerne la methode doGet dans doPost c'est une pratique à ne pas faire...

    tu sais comment les déclarer tes servLet dans ton web.xml sinon ? ou pas. dis moi quoi et je te donnerais le code si tu veux. Mais moi à l'heure actuelle ou je passe par les annotations, ou je déclare dans le web.xml. Cela ne se fait pas tout seul.

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    j'ai le même web.xml que toi.

    j'ai fait ça rapide pour le doPost et doGet: à toi de modifier l'action de ta jsp pour qu'elle corresponde à ta servlet.

    Cela fonctionne sous eclipse Kepler, jdk 1.7.0_21 et tomcat 7. 0.42 64 bits (debian 7.1 64 bits)

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par linuxien_62 Voir le message
    euh oui en ce qui concerne la methode doGet dans doPost c'est une pratique à ne pas faire...

    tu sais comment les déclarer tes servLet dans ton web.xml sinon ? ou pas. dis moi quoi et je te donnerais le code si tu veux. Mais moi à l'heure actuelle ou je passe par les annotations, ou je déclare dans le web.xml. Cela ne se fait pas tout seul.
    Donc c'est obliger de déclarer les servlets dans le web.xml ?

  11. #11
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    non pas du tout, soit tu le fais par annotations ou tu les declares dans ton fichier web.xml, Ton appel doit savoir ou est ce qu´il va etre rediriger.
    Eric

  12. #12
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 47
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par zikyoubi Voir le message
    Donc c'est obliger de déclarer les servlets dans le web.xml ?
    au lieu d'encombrer ton web.xml
    ajoute l'annotation @WebServlet avant le code de ta servlet
    voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @WebServlet( "/ajoutFonction" )
    public class AjoutFonction extends HttpServlet {

Discussions similaires

  1. Erreur 404 Not Found Servlet
    Par ambe_fr dans le forum NetBeans
    Réponses: 1
    Dernier message: 27/07/2013, 12h37
  2. Servlet, erreur 404
    Par jonnyboy dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/04/2007, 09h46
  3. Erreur 404 - problème pour tester la page jsp
    Par zuzuu dans le forum Tomcat et TomEE
    Réponses: 10
    Dernier message: 05/07/2006, 16h55
  4. [Tomcat][Servlet] Erreur 404 lors d'accès distant
    Par Julaie95 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 03/07/2006, 17h35
  5. [Tomcat] Erreur 404 si pas d'index.jsp
    Par Invité dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 08/06/2006, 11h22

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