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

  FORUM HardWare.fr
  Programmation
  Java

  premiers pas J2EE (Apache + Tomcat + Eclipse)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

premiers pas J2EE (Apache + Tomcat + Eclipse)

n°957547
ojbis
Posté le 20-01-2005 à 15:52:31  profilanswer
 

Je me met à apprendre les bases de J2EE. Et après avoir réussi à installer et configurer Apache, Tomcat et mod_jk sur Windows. Je veux tester ma premier servlet le classique BonjourMonde.
 

Code :
  1. import javax.servlet.*;
  2. import java.servlet.http.*;
  3. public class BonjourMonde extends HttpServlet {
  4.   public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
  5.     res.setContentType("text/html" );
  6.     PrintWriter out = res.getWriter();
  7.     out.println("<html><head></head><body>" );
  8. out.println("Hello world !!!" );
  9.     out.println("</body></html>" );
  10.   }
  11. }


 
Mais impossible de compiler. Je n'arrive pas à installer l'environement J2EE. Mon JDK 1.4 Marche très bien, j'ai installé le J2EE SDK Toolkit (100Mo) qui install plein de chose mais quand je compile j'ai toujours les messages me disant qu'il ne trouve pas les API javax.servlet et java.servlet.http...
En placant le fichier J2EE.jar dans mon repertoire lib du JDK, je n'ai plus que le deuxieme message d'erreur mais je n'arrive pas à trouver ces API. SVP, je ne trouve rien sur le site de SUN.


Message édité par ojbis le 26-01-2005 à 10:40:29
mood
Publicité
Posté le 20-01-2005 à 15:52:31  profilanswer
 

n°957551
Lam's
Profil: bas.
Posté le 20-01-2005 à 15:56:58  profilanswer
 

T'as pas un fichier %J2EE_HOME%\bin\j2ee.bat ?

n°957554
ojbis
Posté le 20-01-2005 à 15:59:24  profilanswer
 

non, j'ai une dizaine de fichier .bat mais pas de J2EE.bat. Que doit il y avoir dans ce fichier ?

n°957615
uriel
blood pt.2
Posté le 20-01-2005 à 16:52:35  profilanswer
 

tu as specifie que J2ee.jar etait dans ton classpath?


---------------
IVG en france
n°957621
ojbis
Posté le 20-01-2005 à 16:55:08  profilanswer
 

en fait je n'ai pas de probleme avec j2EE.jar mais celui ci ne comporte que l'API javax.servlet.* mais c'est l'API java.servlet.http.* que le compilo et moi cherchons.
 
Comment savoir si j'ai bien recupéré toutes les API ?


Message édité par ojbis le 20-01-2005 à 16:55:35
n°957627
Bidem
Posté le 20-01-2005 à 17:00:42  profilanswer
 

import javax.servlet.http.*;


Message édité par Bidem le 20-01-2005 à 17:01:02
n°957638
ojbis
Posté le 20-01-2005 à 17:06:15  profilanswer
 

En effet ca marche mieu  :D  
Merci.  

n°957682
beemer
Posté le 20-01-2005 à 17:43:11  profilanswer
 

ojbis a écrit :

En effet ca marche mieu  :D  
Merci.


si tu veux eviter ce genre de conneries installes toi un bon ide, genre eclipse ou netbeans

n°958230
ojbis
Posté le 21-01-2005 à 09:19:35  profilanswer
 

je telecharge donc eclipse qui sera surement plus leger et pratique que jbuilder fondation pour ce type de programme.

n°958256
ojbis
Posté le 21-01-2005 à 10:19:45  profilanswer
 

J'ai maintenant bien compilé ma classe mais je n'arrive pas à la déployer.
 
Je l'ai placée dans le repertoire <%TOMCAT_HOME%>/webapps/Test/WEB-INF/classes
J'ai créé un fichier web.xml comme ca dans le repertoire WEB-INF
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  
  3. <web-app>
  4. <display-name>TestTomcat</display-name>
  5. <servlet>
  6.  <servlet-name>BonjourMonde</servlet-name>
  7.  <servlet-class>BonjourMonde</servlet-class>
  8. </servlet>
  9. <servlet-mapping>
  10.  <servlet-name>BonjourMonde</servlet-name>
  11.  <url-pattern>/servlet/BonjourMonde</url-pattern>
  12. </servlet-mapping>
  13. </web-app>


 
Mais je n'arrive pas à accéder à http://127.0.0.1/Test/servlet/BonjourMonde
 
Je comprend pas. J'ai bien regardé ma doc, les exemples de tomcat qui marchent bien (donc pas de prob de config entre Tomcat et apache) mais je n'arrive pas à afficher mon Hello world !!!  :cry:  
 
C'est laborieux mon début :(


Message édité par ojbis le 21-01-2005 à 10:22:57
mood
Publicité
Posté le 21-01-2005 à 10:19:45  profilanswer
 

n°958265
beemer
Posté le 21-01-2005 à 10:36:29  profilanswer
 

2eme conseil : mets tes classes dans un package !!!

n°958314
Bidem
Posté le 21-01-2005 à 11:45:20  profilanswer
 

ojbis a écrit :

...je n'arrive pas à afficher mon Hello world !!!  :cry:  
 
C'est laborieux mon début :(


 
Quel genre de code d'erreur as-tu (404, 500 ...)?

n°958491
ojbis
Posté le 21-01-2005 à 14:13:24  profilanswer
 

j'ai erreur 404
 

Code :
  1. Not Found
  2. The requested URL /Test/servlet/BonjourMonde was not found on this server.
  3. Apache/2.0.52 (Win32) mod_jk/1.2.8 Server at localhost Port 80


Message édité par ojbis le 21-01-2005 à 14:13:56
n°958496
beemer
Posté le 21-01-2005 à 14:23:33  profilanswer
 

essaie deja d'acceder ta page directement via tomcat
as tu mapper le chemin tomcat de ton appli dans apache?

n°958497
Bidem
Posté le 21-01-2005 à 14:23:36  profilanswer
 

A tester :
 
- mettre un fichier html et voir si tu arrives à y accéder
- pareil avec un fichier jsp
 

n°958506
ojbis
Posté le 21-01-2005 à 14:32:54  profilanswer
 

le probleme doit en effet venir du mappage de mon rep dans apache parcequ'avec un fichier html tout simple de texte:
 
j'y accede si je le pose dans le repertoire jsp-examples de webapps mais pas si je le met dans mon repertoire test toujours de webapps... je regarde la config d'apache

n°958508
glod 2
Votre trajet, notre projet.
Posté le 21-01-2005 à 14:35:02  profilanswer
 

comme l'a dit benou, ça marche pas si c'est pas dans un package :o

n°958514
ojbis
Posté le 21-01-2005 à 14:42:31  profilanswer
 

Ah ca y est ca marche ! (mais ca n'a rien a voir avec le package, je vois pas le rapport pour un fichier de test :??: ) C'était juste qu'il fallait que je declare mon répertoire Test dans le fichier mod_jk.conf pour que le liens puisse ce faire. Bon maintenant je vais pouvoir commencer à bosser un peu plus (en faisant des packages ce coup ci  :D ). Merci

n°958690
benou
Posté le 21-01-2005 à 16:31:14  profilanswer
 

Glod 2 a écrit :

comme l'a dit benou, ça marche pas si c'est pas dans un package :o


j'ai rien dit moi  :sweat:


---------------
ma vie, mon oeuvre - HomePlayer
n°962539
ojbis
Posté le 26-01-2005 à 10:29:15  profilanswer
 

J'ai installé Eclipse et son plug-in Tomcat. J'ai refait un petit projet Tomcat sous Eclipse. Mais je n'arrive toujours pas à l'afficher, pourtant eclipse m'a bien modifié le fichier serveur.xml, le fichier mod_jk.conf, j'ai un fichire web.xml dans le répertoire WEB-INF du projet mais l'adresse
http://localhost/MonPremierProjetT [...] njourMonde me renvoie toujours un magnifique "NOT FOUND" et si je test en mettant un fichier HTML dans le répertoire web-inf, l'adresse
http://localhost/MonPremierProjetT [...] /test.html me renvoie un "Forbidden" !  
 
Y a t'il encore une config à faire pour autoriser l'accès à mon Repertoire WEB-INF ? si je met le fichier test.html à la racine de mon projet il s'affiche sans problème.
 
Je suis pourtant la méthode des tuto Eclipse et J2EE mais il doit y avoir un truc qui m'échappe :(

n°962545
benou
Posté le 26-01-2005 à 10:34:14  profilanswer
 

l'accès au répertoire WEB-INF est interdit. Pourquoi tu veux y mettre des fichiers html ?
 
pour accéder à une servlet, 2 solutions :

  • la sale : aller dans le fichier web.xml de tomcat (repetoire conf) est décommenter la déclaration et le mapping de la servlet invoker. Tu pourras accéder à tes servlets à l'url : http://tonSite/taWebApp/servlet/le.nom.de.ta.Servlet
  • la propre : tu déclares chacune de tes servlets et des mapping dans le web.xml de ta webapp.


---------------
ma vie, mon oeuvre - HomePlayer
n°962546
ojbis
Posté le 26-01-2005 à 10:37:10  profilanswer
 

le fichier html c'était juste pour faire un test. Et mon fichier web.xml du repertoire WEB-INF me semble juste:
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  
  3. <web-app>
  4. <display-name>MonPremierProjetTomcat</display-name>
  5. <servlet>
  6.  <servlet-name>BonjourMonde</servlet-name>
  7.  <servlet-class>test.un.BonjourMonde</servlet-class>
  8. </servlet>
  9. <servlet-mapping>
  10.  <servlet-name>BonjourMonde</servlet-name>
  11.  <url-pattern>/MonPremierProjetTomcat/</url-pattern>
  12. </servlet-mapping>
  13. </web-app>


 

n°962551
benou
Posté le 26-01-2005 à 10:47:55  profilanswer
 

non. ton urlPattern est pas bon.
 
là tu accederas à ta servlet à cette url :  
http://localhost/MonPremierProjetT [...] jetTomcat/
 
met plutot un truc du genre /Bonjour, pour pouvoir y accéder à l'url http://localhost/MonPremierProjetTomcat/Bonjour


---------------
ma vie, mon oeuvre - HomePlayer
n°962562
ojbis
Posté le 26-01-2005 à 11:11:37  profilanswer
 

en effet ca marche. Donc pour être sure que j'ai bien compris :
 
dans mon fichier web.xml :
 
les lignes 5,6,7 et 8 attribuent le nom BonjourMonde à ma classe test.un.BonjourMonde
ensuite, les lignes 9,10,11,12 indiquent que la servlet BonjourMonde sera accessible via l'URL <url-pattern>
 
mais a quoi sert <display-name> ?
 
Donc si je tape l'URL: http://localhost/MonPremierProjetTomcat/Bonjour
 
1. localhost m'ammene sur mon serveur Apache + Tomcat
2. le /MonPremierProjetTomcat m'ammene dans mon repertoire de projet grace au <context path> du fichier server.xml de tomcat et à l'alias rajouté dans le fichier mod_jk.conf (le tout en auto par eclipse)
3. le fichier web.xml du repertoire web-inf indique que /bonjour correspond à la classe test.un.BonjourMonde dont le fichier .class est dans le sous repertoire classes du web-inf  
 
j'ai bon ?  :??:  
 

n°962584
benou
Posté le 26-01-2005 à 11:36:47  profilanswer
 

oui, en gros c'est ca :)
 
le display-name est là "pour faire joli". Il peut-être utilisé par exemple pour une interface d'administration du serveur ou ce genre de chose ...


---------------
ma vie, mon oeuvre - HomePlayer
n°962608
ojbis
Posté le 26-01-2005 à 12:03:06  profilanswer
 

Merci  :D  
 
Mais dernière petite question, quand je fais des modif dans le fichier web.xml, je suis obligé de relancer Apache et Tomcat pour que ce soit pris en compte ?

n°962729
Bidem
Posté le 26-01-2005 à 14:05:34  profilanswer
 

ojbis a écrit :

Merci  :D  
 
Mais dernière petite question, quand je fais des modif dans le fichier web.xml, je suis obligé de relancer Apache et Tomcat pour que ce soit pris en compte ?


 
Oui

n°962788
the real m​oins moins
Posté le 26-01-2005 à 14:38:26  profilanswer
 

non.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°962798
ojbis
Posté le 26-01-2005 à 14:49:01  profilanswer
 

alors finalement ? moi je redemarre mais je sais pas si c'est normal...

n°962811
benou
Posté le 26-01-2005 à 15:00:47  profilanswer
 

si tu déclares ton contexte en tant que relaodable (si je me souviens bien), il va vérifier de façon cyclique si le web.xml a été modifié. Si c'est le cas, il arrête et redémarre la web-app. (ca scanne aussi WEB-INF/classes & WEB-INF/lib)
 
cf http://jakarta.apache.org/tomcat/t [...] ntext.html pour le parametrage


Message édité par benou le 26-01-2005 à 15:02:20

---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le   profilanswer
 


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

  premiers pas J2EE (Apache + Tomcat + Eclipse)

 

Sujets relatifs
[ Eclipse ] Personnalisation de la vue OutlineServeur d'aplication JSP ou J2EE ?
eclipse et annotations de java 5Implementation j2ee avec Jaas/LDAP
EJB entity avec EclipseEclipse et Servlet
[CGI-PERL] comment activer perl sur apache version windows ?Erreur 500 sur serveur local apache : .htaccess
[Apache & URL Rewriting] Questions métaphysiquesApache UNICODE UTF-8
Plus de sujets relatifs à : premiers pas J2EE (Apache + Tomcat + Eclipse)


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