Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1366 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java][Tomcat][JSP] Problème de configuration de Tomcat

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java][Tomcat][JSP] Problème de configuration de Tomcat

n°695447
fragsurpat​te
Posté le 08-04-2004 à 14:01:50  profilanswer
 

Bonjour tout le monde !!
 
Je vous écris car j'ai un petit pb de configuration du serveur Tomcat.
 
Contexte : J'ai créé une applet et je voudrais la faire communiquer avec mon serveur via Servlet.
J'ai donc télécharger Tomcat.Je voulais faire des tests simples pour voir si mon applet se chargeait normalement sous Tomcat.
J'ai créé mon applet sous JBuilder et elle fonctionne quand je l'utilise dans un fichier html.  
Quand j'ai créé mon projet sous JBuilder, ce dernier a créé l'arborescence suivante:
    Projet_Applet (rep)  
        - bak (rep)  
        - classes (rep)  
           -- package_projet (rep)  
           -- projet_applet (rep)  
           -- *.class (endroits où se trouve toutes mes classes dont la classe principale)  
        - doc (rep)  
        - src (rep)  
        - Projet_Applet.jpx
 
Ensuite, j'ai créé mon fichier jsp pour faire fonctionner mon applet avec Tomcat.
Le fichier jsp est bon car identique à un exemple trouvé sur le net.
 
J'ai mis mon fichier jsp ainsi que le répertoire projet_applet (repertoire se trouvant dans Projet_Applet/classes sous JBuilder) dans le répertoire ROOT de l'arborescence Tomcat.
Et quand je lance Tomcat et que je vias à l'@ :
http://nom_de_ma_machine:8080/Appl [...] ervlet.jsp, j'ai l'erreur suivante :
 
 
charger : classe Applet_Test.class introuvable.  
 
java.lang.ClassNotFoundException: Applet_Test.class  
 
   at sun.applet.AppletClassLoader.findClass(Unknown Source)  
 
   at java.lang.ClassLoader.loadClass(Unknown Source)  
 
   at sun.applet.AppletClassLoader.loadClass(Unknown Source)  
 
   at java.lang.ClassLoader.loadClass(Unknown Source)  
 
   at sun.applet.AppletClassLoader.loadCode(Unknown Source)  
 
   at sun.applet.AppletPanel.createApplet(Unknown Source)  
 
   at sun.plugin.AppletViewer.createApplet(Unknown Source)  
 
   at sun.applet.AppletPanel.runLoader(Unknown Source)  
 
   at sun.applet.AppletPanel.run(Unknown Source)  
 
   at java.lang.Thread.run(Unknown Source)  
 
Caused by: java.io.IOException: open HTTP connection failed.  
 
   at sun.applet.AppletClassLoader.getBytes(Unknown Source)  
 
   at sun.applet.AppletClassLoader.access$100(Unknown Source)  
 
   at sun.applet.AppletClassLoader$1.run(Unknown Source)  
 
   at java.security.AccessController.doPrivileged(Native Method)  
 
   ... 10 more  
 
D'après moi, le pb est que j'ai mis dans un mauvais endroit mon fichier jsp ainsi que les classes de mon applet.
 
Donc a quel endroit dois je les mettre ?????
 
PS : j'ai également mis à jour la variable d'environnement CLASSPATH et JAVA_HOME.
 
Merci de votre aide !!

mood
Publicité
Posté le 08-04-2004 à 14:01:50  profilanswer
 

n°695632
la viper
Posté le 08-04-2004 à 16:35:51  profilanswer
 

dans JBuilder crée un WebModule
et de la ajoute une page jsp ..
edite là et mis y le code de ta page jsp .. lance .. et logiquement tu devrais au moins voir ta page jsp..

n°696109
benou
Posté le 08-04-2004 à 23:14:29  profilanswer
 

je comprend pas : c'est ta jsp qui crache l'erreur ??
pourquoi ta jsp cherche à charger l'applet ? :/

n°697990
fragsurpat​te
Posté le 13-04-2004 à 09:28:14  profilanswer
 

la viper a écrit :

dans JBuilder crée un WebModule
et de la ajoute une page jsp ..
edite là et mis y le code de ta page jsp .. lance .. et logiquement tu devrais au moins voir ta page jsp..


Je ne comprend pas ce que tu veux dire par WebModule.
Je débute en Tomcat et JSp donc .......

n°697997
fragsurpat​te
Posté le 13-04-2004 à 09:34:38  profilanswer
 

benou a écrit :

je comprend pas : c'est ta jsp qui crache l'erreur ??
pourquoi ta jsp cherche à charger l'applet ? :/


 
J'ai créé une applet. Je souhaite faire communiquer mon applet avec le serveur Tomcat car j'aurais besoin, un peu plus tard dans mon développement de faire envoyer des fichiers au serveur Tomcat par le biais de l'applet.
 
Donc j'ai créé mon applet mais également un fichier jsp dont le code est le suivant :
 

Code :
  1. <html>
  2. <head>
  3.  <title>
  4.   Communication Applet - Servlet
  5.  </title>
  6. </head>
  7. <body>
  8. <h2 align="center">Communication Applet - Servlet</h2><hr>
  9. <p align="center">
  10. <jsp:plugin
  11.  type     = "applet"
  12.  code     = "Applet_Test.class"
  13.  archive  = "Projet_Applet.jar"
  14.  name     = "Applet_Test"
  15.  width    = "1024"
  16.     height   = "768" >
  17.    </jsp:plugin>
  18.    </p>
  19.    </body>
  20. </html>


 
Mon archive jar a été créé via JBuilder et contient toutes les classes nécessaires à son bon fonctionnement (j'ai testé mon applet avec son archive dans une page html).
 
Les variables d'environnement sont bonnes. J'y ai mis le chemin pour Tomcat, pour l'archive, etc...
 
Si quelqu'un a une idée.
 
PS : pour la config Tomcat, j'ai créé un répertoire AppletServlet dans le répertoire webapps de Tomcat.
Dans ce répertorie AppletServlet, j'y ai mis mon fichier jsp, mon archive. J'ai également mis un répertoire WEB-INF où il y a un autre répertoire classes dans lequel il y a la class ServletMessage.class.
 
voilà tout ce que je pouvais vous dire sur mon projet.
 
AIDEZ MOI, SVP

n°698036
benou
Posté le 13-04-2004 à 10:16:26  profilanswer
 

ton applet est dans un package, non ?
il faut que tu donnes le nom complet de la classe dans l'attribut "code"


---------------
ma vie, mon oeuvre - HomePlayer
n°698043
fragsurpat​te
Posté le 13-04-2004 à 10:22:12  profilanswer
 

benou a écrit :

ton applet est dans un package, non ?
il faut que tu donnes le nom complet de la classe dans l'attribut "code"


 
Tu veux dire que je dois mettre ma classe Applet_Test.class dans un package genre :
 
projet_applet/Applet_Test.class
 
Ce qui signifira que je mettrais :
 
code = projet_applet/Applet_Test.class
 
c ca ?

n°698046
fragsurpat​te
Posté le 13-04-2004 à 10:28:17  profilanswer
 

Bon, j'ai essayé de faire ce que tu m'as dit.
 
J'ai mis dans mon arborescence Tomcat un répertoire de plus (projet_applet).
Je l'ai mis dans webapps/AppletServlet .
Et ce répertoire contient toutes les classes nécessaires pour l'applet.
 
Mais le pb est toujours identique.

n°698076
benou
Posté le 13-04-2004 à 10:52:35  profilanswer
 

ouais mais là non ... il te manque des connaissance de base en java et sur la façon dont fonctionne la "recherche" de classes.  
regarde ce topic : http://forum.hardware.fr/forum2.ph [...] 88&cat=10. Ca parle du classpath de façon statique mais ca fonctionne pareil sous tomcat sauf que celui-ci est construit dynamiquement.
 
en bref. Tu dois avoir une arborescence de répertoire identique à ton arborescence de package : un package -> un rep, une classe -> un fichier.class. Les noms doivent être identique.
 
Sous tomcat, le répertoire WEB-INF/classes sera ajouté au classe passe de ton application web => c'est ce repertoire qui doit être la racine de tes classes.


---------------
ma vie, mon oeuvre - HomePlayer
n°698094
fragsurpat​te
Posté le 13-04-2004 à 11:13:02  profilanswer
 

Donc si je comprend bien ce que tu me dis, je dois mettre toutes les classes utilisées dans mon applet dans le répertoire WEB-INF/classes, c ca ?

mood
Publicité
Posté le 13-04-2004 à 11:13:02  profilanswer
 

n°698106
benou
Posté le 13-04-2004 à 11:25:18  profilanswer
 

fragsurpatte a écrit :

Donc si je comprend bien ce que tu me dis, je dois mettre toutes les classes utilisées dans mon applet dans le répertoire WEB-INF/classes, c ca ?


soit ca, soit mettre le jar de ton applet dans WEB-INF/lib.
Ca revient au même ...
 
une remarque : le nom de ta classe devrait plutot ressembler à ca : code = projet_applet.Applet_Test
 
[:icon4] ne pas confondre le chemin vers le fichier et la classe ...


Message édité par benou le 13-04-2004 à 11:25:24

---------------
ma vie, mon oeuvre - HomePlayer
n°698109
mathix
mathix@jabber.org
Posté le 13-04-2004 à 11:28:19  profilanswer
 

fragsurpatte a écrit :

Donc si je comprend bien ce que tu me dis, je dois mettre toutes les classes utilisées dans mon applet dans le répertoire WEB-INF/classes, c ca ?


 
oui c'est ca et dans le sous-répertoire qui correspond au nom du package
les classes qui sont directement dans le répertoire "classes" (et donc sans package) ne sont pas prises en compte

n°698113
benou
Posté le 13-04-2004 à 11:33:03  profilanswer
 

mathix a écrit :


les classes qui sont directement dans le répertoire "classes" (et donc sans package) ne sont pas prises en compte


 :heink:


---------------
ma vie, mon oeuvre - HomePlayer
n°698133
fragsurpat​te
Posté le 13-04-2004 à 11:50:18  profilanswer
 

benou a écrit :


soit ca, soit mettre le jar de ton applet dans WEB-INF/lib.
Ca revient au même ...
 
une remarque : le nom de ta classe devrait plutot ressembler à ca : code = projet_applet.Applet_Test
 
[:icon4] ne pas confondre le chemin vers le fichier et la classe ...


 
Ok.
J'ai mis toutes mes classes utilisées dans webapps/AppletServlet/WEB-INF/classes.
J'ai mis mon archive dans webapps/AppletServlet/lib.
Le code de mon fichier jsp est le suivant :

Code :
  1. <html>
  2. <head>
  3.  <title>
  4.   Communication Applet - Servlet
  5.  </title>
  6. </head>
  7. <body>
  8. <h2 align="center">Communication Applet - Servlet</h2><hr>
  9. <p align="center">
  10.    <applet
  11.            codebase = "."
  12.            code     = "classes/Applet_Test.class"
  13.            archive  = "lib/Projet_Applet.jar"
  14.            name     = "Applet_Test"
  15.            width    = "1024"
  16.            height   = "768"
  17.            hspace   = "0"
  18.            vspace   = "0"
  19.            align    = "middle">
  20.       </applet>
  21.    </p>
  22.    </body>
  23. </html>


 
Voici l'erreur que j'ai :

Code :
  1. charger : classe classes/Applet_Test.class introuvable.
  2. java.lang.ClassNotFoundException: classes.Applet_Test.class
  3. at sun.applet.AppletClassLoader.findClass(Unknown Source)
  4. at java.lang.ClassLoader.loadClass(Unknown Source)
  5. at sun.applet.AppletClassLoader.loadClass(Unknown Source)
  6. at java.lang.ClassLoader.loadClass(Unknown Source)
  7. at sun.applet.AppletClassLoader.loadCode(Unknown Source)
  8. at sun.applet.AppletPanel.createApplet(Unknown Source)
  9. at sun.plugin.AppletViewer.createApplet(Unknown Source)
  10. at sun.applet.AppletPanel.runLoader(Unknown Source)
  11. at sun.applet.AppletPanel.run(Unknown Source)
  12. at java.lang.Thread.run(Unknown Source)
  13. Caused by: java.io.IOException: open HTTP connection failed.
  14. at sun.applet.AppletClassLoader.getBytes(Unknown Source)
  15. at sun.applet.AppletClassLoader.access$100(Unknown Source)
  16. at sun.applet.AppletClassLoader$1.run(Unknown Source)
  17. at java.security.AccessController.doPrivileged(Native Method)
  18. ... 10 more


 
Mais je me suis qu'il y avait quelquechose de bizarre à mettre classes/ et lib/ dans le fichier jsp donc je les ai viré et j'ai mis ca ds mon fichier jsp:
 

Code :
  1. <html>
  2. <head>
  3.  <title>
  4.   Communication Applet - Servlet
  5.  </title>
  6. </head>
  7. <body>
  8. <h2 align="center">Communication Applet - Servlet</h2><hr>
  9. <p align="center">
  10.    <applet
  11.            codebase = "."
  12.            code     = "classes/Applet_Test.class"
  13.            archive  = "lib/Projet_Applet.jar"
  14.            name     = "Applet_Test"
  15.            width    = "1024"
  16.            height   = "768"
  17.            hspace   = "0"
  18.            vspace   = "0"
  19.            align    = "middle">
  20.       </applet>
  21.    </p>
  22.    </body>
  23. </html>


 
Et j'ai l'erreur suivante :
 

Code :
  1. java.io.FileNotFoundException: http://localhost:8080/AppletServlet/Projet_Applet.jar
  2. at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
  3. at sun.plugin.net.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
  4. at sun.plugin.net.protocol.http.HttpUtils.followRedirects(Unknown Source)
  5. at sun.plugin.cache.CachedJarLoader.isUpToDate(Unknown Source)
  6. at sun.plugin.cache.CachedJarLoader.loadFromCache(Unknown Source)
  7. at sun.plugin.cache.CachedJarLoader.load(Unknown Source)
  8. at sun.plugin.cache.JarCache.get(Unknown Source)
  9. at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
  10. at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
  11. at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
  12. at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
  13. at sun.misc.URLClassPath$3.run(Unknown Source)
  14. at java.security.AccessController.doPrivileged(Native Method)
  15. at sun.misc.URLClassPath.getLoader(Unknown Source)
  16. at sun.misc.URLClassPath.getLoader(Unknown Source)
  17. at sun.misc.URLClassPath.getResource(Unknown Source)
  18. at java.net.URLClassLoader$1.run(Unknown Source)
  19. at java.security.AccessController.doPrivileged(Native Method)
  20. at java.net.URLClassLoader.findClass(Unknown Source)
  21. at sun.applet.AppletClassLoader.findClass(Unknown Source)
  22. at java.lang.ClassLoader.loadClass(Unknown Source)
  23. at sun.applet.AppletClassLoader.loadClass(Unknown Source)
  24. at java.lang.ClassLoader.loadClass(Unknown Source)
  25. at sun.applet.AppletClassLoader.loadCode(Unknown Source)
  26. at sun.applet.AppletPanel.createApplet(Unknown Source)
  27. at sun.plugin.AppletViewer.createApplet(Unknown Source)
  28. at sun.applet.AppletPanel.runLoader(Unknown Source)
  29. at sun.applet.AppletPanel.run(Unknown Source)
  30. at java.lang.Thread.run(Unknown Source)
  31. charger : classe Applet_Test.class introuvable.
  32. java.lang.ClassNotFoundException: Applet_Test.class
  33. at sun.applet.AppletClassLoader.findClass(Unknown Source)
  34. at java.lang.ClassLoader.loadClass(Unknown Source)
  35. at sun.applet.AppletClassLoader.loadClass(Unknown Source)
  36. at java.lang.ClassLoader.loadClass(Unknown Source)
  37. at sun.applet.AppletClassLoader.loadCode(Unknown Source)
  38. at sun.applet.AppletPanel.createApplet(Unknown Source)
  39. at sun.plugin.AppletViewer.createApplet(Unknown Source)
  40. at sun.applet.AppletPanel.runLoader(Unknown Source)
  41. at sun.applet.AppletPanel.run(Unknown Source)
  42. at java.lang.Thread.run(Unknown Source)
  43. Caused by: java.io.IOException: open HTTP connection failed.
  44. at sun.applet.AppletClassLoader.getBytes(Unknown Source)
  45. at sun.applet.AppletClassLoader.access$100(Unknown Source)
  46. at sun.applet.AppletClassLoader$1.run(Unknown Source)
  47. at java.security.AccessController.doPrivileged(Native Method)
  48. ... 10 more


 
Je n'y comprend pas grand chose. Est ce que quelqu'un peut m'aider ???

n°698134
fragsurpat​te
Posté le 13-04-2004 à 11:51:43  profilanswer
 

Avant que vous me disiez quelquechose, le deuxième code pour le fichie jsp que je vous ai montré est faux.
J'ai bien enlevé /classes et /lib.
Excusez moi

n°698149
fragsurpat​te
Posté le 13-04-2004 à 12:07:13  profilanswer
 

Bon ca fonctionne.
 
Pour ceux que ca intéresse, j'ai fait la méthode suivante :
J'ai créer un nouveau répertoire dans webapps appelé AppletServlet2.  
Dans ce répertoire créé, j'ai mis :  
- Projet_Applet.jar  
- AppletServlet.jsp  
- Et un répertoire WEB-INF qui contient un répertoire classes dans lequel il y a ServletMessage.class (qui est la classe de mon servlet)  
- WEB-INF contient aussi le fichier web.xml  
 
J'ai signé mon applet dans Tomcat et ca fonctionne.  
 
Voici le code de mon fichier jsp :

Code :
  1. <html>
  2. <head>
  3.  <title>
  4.   Communication Applet - Servlet
  5.  </title>
  6. </head>
  7. <body>
  8. <h2 align="center">Communication Applet - Servlet</h2><hr>
  9. <p align="center">
  10.    <applet
  11.            codebase = "."
  12.            code     = "projet_applet.Applet_Test.class"
  13.            archive  = "Projet_Applet.jar"
  14.            name     = "Applet_Test"
  15.            width    = "1024"
  16.            height   = "768"
  17.            hspace   = "0"
  18.            vspace   = "0"
  19.            align    = "middle">
  20.       </applet>
  21.    </p>
  22.    </body>
  23. </html>


 
Merci bcq à ceux qui ont essayé de m'aider. :hello:  :hello:  :hello:  :hello:  :hello:  :hello:  :hello:  
 :love:  :love:  :love:  :love:  :love:

n°698301
benou
Posté le 13-04-2004 à 14:34:28  profilanswer
 

un peu facile en utilisant le tag applet ;)


---------------
ma vie, mon oeuvre - HomePlayer
n°698333
fragsurpat​te
Posté le 13-04-2004 à 15:12:36  profilanswer
 

benou a écrit :

un peu facile en utilisant le tag applet ;)


 
Pourquoi tu dis celà ?
 
Je veux bien essayer une autre technique si il y en a une.  
Avec <jsp plugin ...., ca ne fonctionnait pas donc j'ai essayé celà. Donc si c pas top, ca ne me gêne pas de mettre autre chose !!!!!!! :??:  :??:  :??:  :??:  :??:  :??:  :??:

n°698460
benou
Posté le 13-04-2004 à 17:30:00  profilanswer
 

perso je sais pas ce qu'il fait le jsp: plugin, mais vu que c'est lui qui générait l'exception ClassNotFound il devait faire des traitements côté serveur sur l'applet (vérifier la présence de la classe, peut être).
 
En utilisant <applet>, tu contournes le problème.  
 
J'y vois aucun problème ... en fait, il faudrait que je me renseigne pour savoir à quoi sert de tag jsp: plugin. J'aurais pas pensé que ca executait du code côté serveur. Je pensais que c'était une méthode générique pour insérer des "objets" dans une page. Dans le cas d'une applet, je croyais que ca réécrivais bêtement le tag applet, mais visiblement ca fait des choses supplémentaires.


Message édité par benou le 13-04-2004 à 17:30:37

---------------
ma vie, mon oeuvre - HomePlayer
n°698834
fragsurpat​te
Posté le 14-04-2004 à 08:37:05  profilanswer
 

ok je vois.
J'espère que mettre un tag applet ne changera pas l'intéret d'utiliser les servlets. Je ne pense pas car ca n'a pas trop de rapport mais bon.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java][Tomcat][JSP] Problème de configuration de Tomcat

 

Sujets relatifs
Probleme de compatibilité MFC directX 9Comment éviter de redémarrer tomcat ?
[Java] Regexp pour sortir un chemin sans le nom de fichier[resolu tout seul ^^] Probleme avec socket & printf
de l'utilité d'une methode release dans un tag jsp.Probleme pour afficher une image générée avec GD...
[PHP : Fonction mail à problème ?] Oui oui, j'ai un problème...Configuration serveur d'application de Dreamweaver avec FREE
[XHTML] problème de validation d'un XHTML strictJSP, aspirateur dynamique, = faire un proxy avec 1 servlet ?
Plus de sujets relatifs à : [Java][Tomcat][JSP] Problème de configuration de Tomcat


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR