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

Tomcat et TomEE Java Discussion :

problème packages à la compilation de servlet


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut problème packages à la compilation de servlet
    Bonjour,

    Je dispose d'un serveur Tomcat qui n'a pas été installé par moi et que je souhaite utilisé pour développer des Servlet.

    J'ai crée un fichier test.java qui contient un exemple très simple de Servlet. Mais lorsque j'execute la commande "javac test.java" j'ai l'erreur :package javax.servlet does not exist.

    J'ai bien "servlet-api.jar" dans le répertoire ...\Tomcat\common\lib

    J'ai trouvé sur le forum un problème similaire qui a pour réponse "met servlet-api.jar dans le CLASSPATH". Ca veut dire qu'il faut mettre le chemin "...\Tomcat\common\lib\servlet-api.jar" dans une variable d'environnement nommée CLASSPATH, c'est ça? En tout cas, c'est ce que j'ai fait mais rien n'a changé.

    Est ce qu'il faut compiler le fichier à un endroit précis? Est ce que j'ai mal compris le conseil sur le CLASSPATH? Est ce qu'il y a autres choses à faire?

    Bon, vous l'avez compris, je débute sur les Servlets et Tomcat. Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    J'ai finalement réussit en faisant:
    javac -classpath "C:\...\Tomcat\common\lib\servlet-api.jar" Test.java
    Je ne sais pas pourquoi ça ne marche pas sans.



    Mais comme souvent, la résolution d'un problème permet d'en découvrir un autre.

    J'explique:
    Je dispose d'un Test.java avec le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    package pack;
    //import en tout genre
    public class Test extends HttpServlet {
      //code
    }
    ce fichier ce trouve dans le repertoire : ...Tomcat\webapps\A\B\C\WEB-INF\src\pack
    Je compile et je met Test.class dans le repertoire:...Tomcat\webapps\A\B\C\WEB-INF\classes

    Je dispose aussi d'un web.xml dans le repertoire ...Tomcat\webapps\A\B\C\WEB-INF dont le contenu est:

    <?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">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <web-app> 
    	<display-name>NomAppli</display-name> 
    	<servlet> 
    		<servlet-name>test</servlet-name> 
    		<servlet-class>pack.Test</servlet-class> 
    	</servlet> 
    	<servlet-mapping> 
    		<servlet-name>test</servlet-name> 
    		<url-pattern>/Test</url-pattern> 
    	</servlet-mapping> 
    </web-app>
    et je test avec l'URL: http://IP:portTomcat/NomAppli/Test
    j'obtiens:

    Etat HTTP 404 -
    type Rapport d'état
    message /NomAppli/Test
    description La ressource demandée (/NomAppli/Test) n'est pas disponible.

    J'ai essayé de redémarrer Tomcat et j'ai essayé plusieurs variantes dans web.xml mais le résultat est le même. Qu'est ce qui ne va pas?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    A priori, il faut démarrer l'application dans le manager de Tomcat. (ou alors je pars en sucette)

    Quand je vais dans le manager de tomcat, aucun chemin ne correspond au mien. Est ce qu'il faut vraiment faire ça? Comment déployer mon application?

    J'abandonne pour aujourd'hui.

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Citation Envoyé par laurent333
    Je compile et je met Test.class dans le repertoire:...Tomcat\webapps\A\B\C\WEB-INF\classes
    Citation Envoyé par laurent333
    et je test avec l'URL: http://IP:portTomcat/NomAppli/Test


    Donc, pour résumer, tu mets ta Servlet dans un chemin , et tu essaies d'y accéder par un autre chemin ?

    De plus, on n'est pas libre de l'emplacement de tous les fichiers d'une application web !
    Par exemple, dans TOMCAT, le dossier global de l'application doit être mis dans webapps (ça tu le connais déjà) mais de plus, le dossier WEB-INF doit être dans la racine du dossier de l'application (ça tu le connais pas apparament !) !
    Ainsi dans ton cas (WEB-INF dans webapps\A\B\C\WEB-INF) Tomcat ne considère pas ce que tu as fait comme une application web !

    Pour commencer (je ne suis pas sûr que c'est le seul problème ), laisses tomber le A/B/C ! Crées un dossier "webapps/test" par exemple et mets y ton WEB-INF (avec le web.xml et classes).

    Ensuite, tu peux espérer qu'en tapant http://IP:portTomcat/test/Test ta Servlet puisse fonctionner !

    Une dernière chose : penses STP à mettre tes extraits de code où d'XML entre les balises !

    Merci.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    Bon, j'ai ajouté les balises, désolé. J'ai lu l'article du forum pour les nouveaux qui explique comment bien utiliser le forum et j'ai rien vu sur cette balise. Peut être une petite amélioration à apporter.

    Sinon, mon problème est résolu. C'est la première fois que je faisais ce genre de chose donc j'ai essayé de m'en sortir avec des tuto trouvés sur internet mais ça na pas suffit. J'ai bien vu que dans les exemples leurs applis étaient dans le repertoire webapps mais il n'était pas expliqué que c'était obligatoire. D'ailleurs, il y a déjà des applis qui tournent dans le répertoire webapps/A/B/C (je ne sais pas quelle est l'astuce). C'est pour ça que je l'avais placées là.

    Merci beaucoup Modjo. Je vais chercher par moi même, mais si tu as un tuto qui explique tout ça, je suis preneur.

    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TOMCAT] Problème de timeout d'une servlet
    Par tuxor dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 18/09/2007, 12h04
  2. [VC++.NET]Problème de pré-compilation
    Par Rafoo dans le forum MFC
    Réponses: 5
    Dernier message: 18/10/2005, 08h37
  3. Problème bizzard à la compilation...
    Par Franck.H dans le forum C
    Réponses: 12
    Dernier message: 12/10/2005, 21h54
  4. [Tomcat]comment compiler les servlets sous eclipse et tomcat
    Par boussaad dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 31/03/2005, 15h29
  5. Réponses: 7
    Dernier message: 18/01/2005, 09h13

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