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 :

[Debutant] tester une servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 379
    Points
    379
    Par défaut [Debutant] tester une servlet
    Bonjour
    je debute avec java, et je sais pas du tout comment tester une servlet sur ma machine. j'ai ce code d'exemple :
    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
    import java.io.* ;
    import javax.servlet.* ;
    import javax.servlet.http.* ;
     
    public class Bonjour extends HttpServlet
    { public void doGet (HttpServletRequest req, HttpServletResponse rep)
                  throws IOException, ServletException
      { rep.setContentType ("text/html") ;
        PrintWriter page = rep.getWriter() ;
        page.println ("<html>") ;
        page.println ("<head>") ;
        page.println ("<title> Servlet Bonjour </title>") ;
        page.println ("</head>") ;
        page.println ("<body>") ;
           page.println ("<font size=+2>") ;
           page.println ("BONJOUR") ;
           page.println ("</body>") ;
        }
    }
    son nom est bonjour.java
    Tomcat est installé sur ma machine! comment tester SVP
    Plus j'apprends ... Plus je me sens si loin

  2. #2
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Je suppose que tu travaille sous eclipse : Tu crée un nouveau projet web (dynamic par exemple). Tu place ta servlet dans un package test.app.servlet. Si ta servlet s'appelle Bonjour et en respectant le nom de package, tu place ceci dans ton fichier web.xml :

    a l'emplacement dédié au servlet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <servlet>
    <servlet-name>Bonjour</servlet-name>
    <servlet-class>test.app.servlet.Bonjour</servlet-class>
    </servlet>
    a l'emplacement dédié au servlet-mapping:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <servlet-mapping>
    <servlet-name>Bonjour</servlet-name>
    <url-pattern>/Bonjour</url-pattern>
    </servlet-mapping>
    Enfin pour la lancer, tu créer une page et tu place un lien vers ta servlet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="http://TonAdresse:tonPort/tonAppli/Bonjour">Lien</a>
    Quand tu cliquera sur Lien la servlet sera lancée.

    Bonne chance !^^

  3. #3
    Membre averti Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 379
    Points
    379
    Par défaut
    merci pour ta reponse
    mais pour l'instant, je voudrai la tester sans eclipse ! juste sur le navigateur...
    y'a quelque chose que je comprend pas par contre , la servlet en question n'est pas appelée directement par le serveur ? ou faudrait obligatoirement une autre page dans laquelle on met un lien vers cette servlet ?
    Plus j'apprends ... Plus je me sens si loin

  4. #4
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    T pas obligé de faire un lien. Par exemple, tu peux l'appeler directement de ton navigateur :avec l url suivante :
    http://TonAdresse:tonPort/tonAppli/Bonjour

    Et tu vas bien être obligé de créer un projet ou tu déposera ta servlet.

  5. #5
    Membre averti Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 379
    Points
    379
    Par défaut
    ah ok je vois
    mais j'arrive pas à mettre le bon chemin
    admettons que le lien est le suivant :
    C:\Documents and Settings\utilisateur\Bureau\test servlet\bonjour

    quel sera le lien du test ?
    http://localhost:8080/??????
    Plus j'apprends ... Plus je me sens si loin

  6. #6
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Houla ...
    rien a voir. Il faut que tu déploie ta servlet sur le serveur tomcat. Je te conseille de lire ceci, ça te permettra d'y voir plus clair :
    http://lfe.developpez.com/Java/TomCat/

    Et regarde juste la partie tomcat de ce tuto :
    http://tahe.developpez.com/java/baseswebmvc/

  7. #7
    Membre averti Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 379
    Points
    379
    Par défaut
    ben j'ai lu ça, mais je comprend toujours pas l'histoire des liens
    Plus j'apprends ... Plus je me sens si loin

  8. #8
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Quel histoire de lien ? :/

    Il te suffit de deployer ta servlet Bonjour sur le serveur tomcat et de l'appeler avec ton navigateur ... oublie l histoire du lien sur une page si c'est ca qui te trouble.

  9. #9
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Si tu travailles sans IDE, il faut définir manuellement le contexte de ton appli dans le fichier server.xml du répertoire conf de Tomcat :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Context path="/contexteDeTonAppli" 
             docBase="pathDuRepertoireDeTonAppli" 
             crossContext="true"
             debug="0" 
             reloadable="true" 
             trusted="false" />
    Ainsi, l'appli sera automatiquement déployée au démarrage de Tomcat.

    Et ensuite, pour tester la servlet définie dans le web.xml : http://localhost:8080/contexteDeTonAppli/Bonjour
    Modératrice Java - Struts, Servlets/JSP, ...

  10. #10
    Membre averti Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 379
    Points
    379
    Par défaut
    merci

    est ce que c'est le serveur qui compile automatiquement la servlet ?
    j'ai essayé de compiler en mode console, il s'avere que j'ai pas le package javax.servlet.http
    comment l'installer pour qu'il soit pris en compte par le JRE
    et sinon, est ce que Tomcat possede ce package deja ?
    Plus j'apprends ... Plus je me sens si loin

  11. #11
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    la servlet va etre compiler suite a la commande javac.
    Oui, normalementjavax.servlet.http est contenu dans tomcat.
    Si tu as besoin d'autre librairie à la compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javac -classpath "c:\tonRepertoireDeLib\uneLib.jar;c:\tonRepertoireDeLib\uneAutreLib.jar" Bonjour.java

  12. #12
    Membre averti Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 379
    Points
    379
    Par défaut
    Citation Envoyé par JoloKossovar Voir le message
    la servlet va etre compiler suite a la commande javac.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javac -classpath "c:\tonRepertoireDeLib\uneLib.jar;c:\tonRepertoireDeLib\uneAutreLib.jar" tonAppli.java


    Plus j'apprends ... Plus je me sens si loin

  13. #13
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    j'ai pas compris infofree ? aurais je dis une conneire ? ^^

  14. #14
    Membre averti Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 379
    Points
    379
    Par défaut
    Citation Envoyé par JoloKossovar Voir le message
    j'ai pas compris infofree ? aurais je dis une conneire ? ^^
    lol
    non le probleme vient de moi plutot ! j'ai pas trop pigé, tu veux dire qu'apres avoir telechargé le package je fais tout ça ?

    et la reponse a ma question :
    est ce que c'est le serveur qui compile automatiquement la servlet ?
    j'ai essayé de compiler en mode console, il s'avere que j'ai pas le package javax.servlet.http
    comment l'installer pour qu'il soit pris en compte par le JRE
    et sinon, est ce que Tomcat possede ce package deja ?
    Plus j'apprends ... Plus je me sens si loin

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Citation Envoyé par infofree Voir le message




    Je vais tenter une approche :

    1) Définir CATALINA_HOME comme variable d'environnement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set CATALINA_HOME=c:/jakarta-tomcat-XXX
    2) Si tu n'as pas définit de package, mettre la classe Bonjour dans un package

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    package com.test;
    public class Bonjour...
    3) Compiler la servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -cp .;%CATALINA_HOME%/common/lib/servlet-api.jar com/test/Bonjour.java
    4) Créer l'environnement WEB.

    - contexteDeTonAppli
    - contexteDeTonAppli/WEB-INF
    - contexteDeTonAppli/WEB-INF/classes
    - contexteDeTonAppli/WEB-INF/lib

    5) Copier le compilé com/test/Bonjour.class comme suit :

    - contexteDeTonAppli/WEB-INF/classes/com/test/Bonjour.class

    6) Renseigner le contexte dans server.xml de Tomcat comme l'a dit plus haut JoloKossovar

    7) Renseigner la servlet dans le web.xml (cf JoloKossovar)

    8) Démarrer Tomcat

    9) Ouvrir un navigateur http://localhost:8080/contexteDeTonAppli/Bonjour

    10) Savourer pleinement le petit message qui dit "BONJOUR"

  16. #16
    Membre averti Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 379
    Points
    379
    Par défaut
    merci pour ta reponse
    j'ai essayé de teser en mettant un fichier bonjour.html dans :
    exemple/vues
    et là ce fichier s'affiche, je sais pas pourquoi d'ailleurs (j'ai juste suivi le tuto de Serge Tahé... faut toujours creer la meme arborescence? a savoir un dossier dans lequel se trouve le dossier vues et le dossier WEB-INF ???? :s )
    mais quand je fais la meme chose avec le fichier bonjour.java (donc la servlet), ça marche pas
    j'ai l'erreur : Etat HTTP 404 - /exemple/vues/bonjour.java
    Plus j'apprends ... Plus je me sens si loin

  17. #17
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Bon ca signifie deja que ton repertoire est bien déployé. Essaie avec "Bonjour" a la place de Bonjour.java.

    En fait Cela depend du parametre url-pattern de servlet-mapping de ta servlet Bonjour définie dans le web.xml.

    Là tu galère, car tu travailles sans IDE ^^ ce serai bien plus simple avec n'importe quel IDE.

  18. #18
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Citation Envoyé par infofree Voir le message
    faut toujours creer la meme arborescence? a savoir un dossier dans lequel se trouve le dossier vues et le dossier WEB-INF ???? :s )
    Non pas nécessairement pour "vues". Par contre, WEB-INF est très souvent utilisé et je ne sais pas si c'est obligatoire. Tu peux considérer que ça l'est car même si ça ne l'est pas ça reste une bonne pratique. En regle général, on place les sources dans WEB-INF/src, les classe compilé dans WEB-INF/classes, les test dans WEB-INF/test etc etc ...

    EDIT : OUPS, oublié d éditer le message du dessus.

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Citation Envoyé par infofree Voir le message
    quand je fais la meme chose avec le fichier bonjour.java (donc la servlet), ça marche pas
    j'ai l'erreur : Etat HTTP 404 - /exemple/vues/bonjour.java
    Une servlet est une classe java et elle doit-être compilée !

    Et ce n'est pas Tomcat qui va le faire pour toi.

    Ton Bonjour.java ne devrait même pas être dans ton appli Web.

    Il dois seulement y avoir WEB-INF/classes/{nompackage}/Bonjour.class

    Edit: Je confirme que WEB-INF est obligatoire puisque c'est là que Tomcat va chercher rien que le web.xml

    De même que seules les librairies qui se trouvent dans WEB-INF/lib seront chargées et les classes de WEB-INF/classes. Si mets ta classes genre dans WEB-INF/bin, bah il va jamais te la trouver.

  20. #20
    Membre averti Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 379
    Points
    379
    Par défaut
    ok merci c'est un peu plus clair maintenant

    finalement, je crois que je vais essayer de le faire avec Eclipse
    pourriez vous me dire la demarche a suivre , (avec les mots les plus simples possibles )

    ce que j'ai :
    une servlet bonjour.java
    eclipse installé avec tomcat configuré dessus comme serveur !
    Plus j'apprends ... Plus je me sens si loin

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Tester une servlet avec jboss
    Par Grybukas dans le forum Wildfly/JBoss
    Réponses: 6
    Dernier message: 23/03/2009, 16h23
  2. [debutant] tester une valeur numerique
    Par lolodev dans le forum Flex
    Réponses: 2
    Dernier message: 13/12/2007, 22h55
  3. [debutant] executer une Servlet (tomcat)
    Par valal dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 18/02/2006, 18h59
  4. [debutant] deployer une servlet avec Tomcat
    Par Braz dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 22/01/2006, 01h02
  5. [debutant]renvoyer sur une jsp depuis une servlet
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 23/03/2004, 11h55

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