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 :

Pb de coopération servlet et pages JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut Pb de coopération servlet et pages JSP
    bonjour les amis,
    j'ai un petit pb lors de la coopération entre servlet et mes pages JSP.En fait, j'ai essayé d'afficher les parametres données dans la requete http de l'url. dans la piece ci jointe vous trouvez l'arboressence de mon projet.
    une serrvlet qui a pour role: recupere les parametres de l'url.
    une page jsp qui a pr role:afficher ces parametres
    le code du servlet formulaire est le suivant
    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
     @SuppressWarnings("serial")
     public class formulaire extends HttpServlet {
     
     // paramètres d'instance
     private String defaultNom = null;
     
     private String defaultAge = null;
     
     // init
     public void init() {
     // on récupère les paramètres d'initialisation de la servlet
     ServletConfig config = getServletConfig();
     defaultNom = config.getInitParameter("defaultNom");
     if (defaultNom == null)
     defaultNom = "NNNNNNNNNNNNNNN";
    defaultAge = config.getInitParameter("defaultAge");
     if (defaultAge == null)
     defaultAge = "AAA";
     }
    // GET
     public void doGet(HttpServletRequest request, HttpServletResponse response)
     throws IOException, ServletException {
     
     // on récupère les paramètres du formulaire
     String nom = request.getParameter("txtNom");
     if (nom == null) {
     nom = defaultNom;
     }
     String age = request.getParameter("txtAge");
     if (age == null) {
     age = defaultAge;
     }
     // on affiche le formulaire
     request.setAttribute("nom", nom);
     request.setAttribute("age", age);
     getServletContext().getRequestDispatcher("/formulaire.jsp").forward(request, response);
     }
     
     // POST
     public void doPost(HttpServletRequest request, HttpServletResponse response)
     throws IOException, ServletException {
     // on passe la main au GET
     doGet(request, response);
     }
     }
    et celle de la page 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
     pageEncoding="ISO-8859-1"%>
     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     
    <%
     // on récupère les valeurs nécessaire à l'affichage
     String nom=(String)request.getAttribute("nom");
     String age=(String)request.getAttribute("age");
     %>
    <html>
    <head>
    <title>Personne - formulaire</title>
    </head>
    <body>
    <center>
    <h2>Personne - formulaire</h2>
    <hr>
    <form action="" method="post">
    <table>
    <tr>
    <td>Nom</td>
    <td><input name="txtNom" value="<%= nom %>" type="text" size="20"></td>
    </tr>
    <tr>
    <td>Age</td>
    <td><input name="txtAge" value="<%= age %>" type="text" size="3"></td>
    </tr>
    </table>
    <table>
    <tr>
    <td><input type="submit" value="Envoyer"></td>
    <td><input type="reset" value="Rétablir"></td>
    <td><input type="button" value="Effacer"></td>
    </tr>
    </table>
    </form>
    </center>
    </body>
    </html>
    et la configuration est:
    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
    <?xml version="1.0" encoding="UTF-8"?>
     <web-app>
     <display-name>test</display-name>
     <!-- ServletFormulaire -->
     <servlet>
     <servlet-name>formulaire</servlet-name>
     <servlet-class>
     istia.st.servlets.test.formulaire
     </servlet-class>
     <init-param>
     <param-name>defaultNom</param-name>
     <param-value>inconnu</param-value>
     </init-param>
     <init-param>
     <param-name>defaultAge</param-name>
     <param-value>XXXX</param-value>
     </init-param>
     </servlet>
     
     <!-- Mapping ServletFormulaire -->
     <servlet-mapping>
     <servlet-name>formulaire</servlet-name>
     <url-pattern>/formulaire</url-pattern>
     </servlet-mapping>
     
     <!-- fichiers d'accueil -->
     <welcome-file-list>
     <welcome-file>index.html</welcome-file>
     </welcome-file-list>
     </web-app>
    lors de passer cet url "http://localhost:8081/test/formulaire?txtNom=milou&txtAge=10"
    un message d'erreur 404 s'affiche
    j'ai bcp essayé de trouver ma faute mais il me parait que c tres juste.
    je serai content de votre aide.
    merci en avance
    Images attachées Images attachées  

  2. #2
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    PS: lorsque je tape l'url "http://localhost:8081/test/" ca passe bien

  3. #3
    Membre émérite

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    Bonjour,

    Je viens de reprendre ton code et il fonctionne correctement. Je n'ai pas d'erreur 404.
    Est-ce que ton projet est bien redéployé depuis ton IDE ?

    Benoit

  4. #4
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    Citation Envoyé par bboulch Voir le message
    Bonjour,

    Je viens de reprendre ton code et il fonctionne correctement. Je n'ai pas d'erreur 404.
    Est-ce que ton projet est bien redéployé depuis ton IDE ?

    Benoit
    merci pr votre réponse bblouch,
    je pense que c bien déployé car lorsque j'essai l'url http://localhost:8081/test/ ca marche bien.
    je suis vraiment bloqué

  5. #5
    Membre émérite

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    L'URL http://localhost:8081/test/ peut fonctionner même si le projet n'est pas correctement déployé.

    J'ai réussi à reproduire l'erreur 404 en supprimant le <servlet-mapping> du fichier web.xml.
    Ce qui me laisse toujours penser qu'il y a une différence entre le projet dans l'IDE et ce qui est réellement déployé.

    Tu devrais vérifier que tous les fichiers relatifs à ton projet sont bien déployés dans Tomcat (au moins le fichier web.xml).

    Benoit

  6. #6
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    j'ai déployé mon projet comme suit:
    file >>Switch Workspace>>Other
    puis j'ai choisi le dossier "webapps" de Tomcat
    est ce que c bien ça????
    merci de nouveau

  7. #7
    Membre émérite

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    Si tu es sur Eclipse, ce n'est pas la bonne manipulation.

    Le workspace correspond au répertoire de travail d'Eclipse. Il n'a aucune relation avec Tomcat.

    Dans un premier temps il te faut ajouter un serveur Tomcat dans Eclipse (si ce n'est pas déjà fait) par "File -> New -> Other -> Server".

    Ensuite, il faut ajouter ton projet à ton serveur (clic droit sur le serveur puis menu "add and remove".

    Enfin, clic droit sur le serveur, "publish" puis "start".

    Benoit

  8. #8
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    merci,
    j'ai essayé clic droit>>add and remove mais un autre pb me parait
    j'ai essayé alors avec clic droit sur le projet puis run as puis run on serveur
    il le donne cette erreur en haut de la fenetre " The server does not support version 3.0 of the J2EE Web module specification."
    merci une autre fois
    Images attachées Images attachées  

  9. #9
    Membre émérite

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    Pour le problème de version de web module, je pense qu'il faut que tu changes la version de "Dynamic Web Module" dans les propriétés du projet, catégorie "Project facets". Il faut utiliser la version 2.5.

    Pour la capture d'écran que tu as fait, elle indique qu'un Tomcat (ou autre) fonctionne déjà sur le même port. Vérifie si tu n'as pas déjà lancé Tomcat avant de le relancer.

    Benoit

  10. #10
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    Citation Envoyé par bboulch Voir le message
    Pour le problème de version de web module, je pense qu'il faut que tu changes la version de "Dynamic Web Module" dans les propriétés du projet, catégorie "Project facets". Il faut utiliser la version 2.5.

    Pour la capture d'écran que tu as fait, elle indique qu'un Tomcat (ou autre) fonctionne déjà sur le même port. Vérifie si tu n'as pas déjà lancé Tomcat avant de le relancer.

    Benoit
    merci bien
    j'ai essayé la version 2.5 de "Dynamic Web Module" avec toutes les versions possible de java mais ca ne marche pas.la seule combinaison qui marche la version 3.0 avec la version 1.6 de java.
    mais avec cette combinaison le "add and remove" ne marche pas
    j'ai passé presque une journée pr la résolution de ce prb mais en vain.
    aidez moi s'il vous plais
    merci de nouveau

  11. #11
    Membre émérite

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    Je viens d'essayer le changement et je rencontre le même problème que toi.

    Mais j'ai trouvé une piste sur le site : http://stackoverflow.com/questions/7...-to-tomcat-5-5

    Il faut utiliser la vue "Navigator" d'Eclipse et aller modifier dans le fichier .settings/org.eclipse.wst.common.project.facet.core.xml et modifier la ligne <installed facet="jst.web" version="3.0"/>
    Dedans tu pourras remplacer le 3.0 par 2.5.

    Et après tenter le "Add and remove".

    Benoit

  12. #12
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    merci mon ami ,c tres gentil
    j'ai modifié le fichier comme tu m'a mentionné mais ca fonctionne pa.
    il faut supprimer totalement le contenu du fichier.en tt cas j'ai ressie jusq'a mainant a faire le "add and remove" . le start ca marche bien apres un tres grand recherche(j'ai eu d'autres pb et c résolu).
    le pb maitenant est que "http://localhost:8081/test/formulaire?txtNom=milou&txtAge=10" ne fonctionne pas

  13. #13
    Membre émérite

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    Bonjour,

    Quelle est l'erreur indiquée ? As-tu pensé à faire le publish ?

    Benoit

  14. #14
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    wé je clic sur publish mais il n'indique rien;L'erreur est 404

  15. #15
    Membre émérite

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    Il faudrait maintenant vérifier que le tout est bien déployé.

    Tu peux regarder dans Eclipse la configuration du Tomcat afin de retrouver quel répertoire est utilisé pour le déployement. Ensuite vérifier que dans ce répertoire il y a bien les différents fichiers de ton projet (en commençant par le fichier web.xml vu qu'il y a encore une erreur 404).

    Benoit

  16. #16
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    merci bien
    j'ai ramarqué une chose et je ne sais pas est ce que ceci cause un pb.
    lorsque je clic sur la petite icone de start tomcat en haut (le petit chat)je ne peux pas ensuite faire un start du serveur avec un clic droit.je n'ai pas compris la relation entre cette icone et la petite window: serveur.
    lorsque je fait un start avec le ptt chat, l'erreur 404 n'apparait pas, mais lorsque je fait avec un clic droit publish puis start, le 404 du commentaire precedent apparait.

    Citation Envoyé par bboulch Voir le message
    Tu peux regarder dans Eclipse la configuration du Tomcat afin de retrouver quel répertoire est utilisé pour le déployement. .
    j'ai pas bien saisie comment faire ceci.
    merci une autre fois

  17. #17
    Membre émérite

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    Bonjour,

    Je n'ai pas compris ton premier paragraphe. Pourrais-tu ré-expliquer avec des captures d'écran ou autre ?

    Pour la configuration du Tomcat, dans Eclipse, doubles-clic sur le serveur. Une fenêtre "Overview" devrait apparaitre. Ensuite tu cliques sur le lien "Open launch configuration".
    Dans l'onglet "Arguments", le paramètre Dwtp.deploy indique le répertoire dans lequel Tomcat va chercher les "applications" à exécuter.

    Il faudra ensuite vérifier que ton projet est bien déployé dans ce répertoire.

    Benoit

  18. #18
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    Bonjour Benoit,
    lorsque je clic sur l'icone démarrer tomcat(ajouteé par un plugin )(voir la capture ci dessous)
    je peux acceder à localhost:8081.mais lorsque je fait comme ceci

    le "localhost:8081" me donne une erreur404 malgré que j'ai fait ceci

    et lorsque je clic sur l'icone démarrer tomcat puis je fait un publish et start une erreur apparait

    le "localhost:8081" me donne une erreur404 malgré que j'ai fait ceci
    http://www.hostingpics.net/viewer.php?id=421464152.png
    je ne sais pas est ce que c mieux de travailler sans plug in ou pas.


    le résultat est "-Dwtp.deploy="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps"
    est ce que c bien déployé????
    merci Benoit

  19. #19
    Membre émérite

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    Je ne connais pas le plugin. Si tu mélanges le plugin et les actions Eclipse, il se peut que certaines de mes explications soient fausses. De mon côté j'ai toujours travaillé sans le plugin.

    Le chemin que tu m'as indiqué semble pas mal. Mais c'est à toi de vérifier dedans que c'est bien déployé (par exemple vérifier que le fichier web.xml dans ce répertoire est identique à celui présent dans ton projet, puis vérifier aussi que les autres fichiers sont bien présents).

    Benoit

  20. #20
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 23
    Par défaut
    Merciiiiiiiiiiiiiiiiiiiiiiiiiiiii Bieeeeeeeeeeeeeeen mon ami Benoit,
    enfin j'ai réussi.En fait le plugin m'a bcp dérangé.je l'ai enlevé.
    j'ai cherché un peu sur google et j'ai trouvé que bcp de programmeur utilse le structs.est ce que tu me conseille de traville avec ce framework???
    merci

Discussions similaires

  1. envoi des données Xml de servlet vers page JSP
    Par MG-openssl dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 10/04/2011, 20h49
  2. servlet plusieurs pages .jsp
    Par abdoinfo dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 20/07/2010, 14h08
  3. [JSP] [Servlet] Exit d'une page JSP ou d'une servlet
    Par boutss dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 27/02/2006, 07h50
  4. Réponses: 9
    Dernier message: 14/04/2005, 17h45
  5. [Debutant(e)]Appel d'une servlet dans une page jsp
    Par kouadjalain dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 20/07/2004, 15h02

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