Arborescence fichiers projet j2ee (servlets) - Java - Programmation
Marsh Posté le 25-05-2010 à 13:08:10
Les exemples que tu as vus devaient être assez anciens. Je sais que Tomcat autorisait ce mécanisme jusqu'à la version 4 ou 5.
Maintenant (tomcat 6), et conformément aux spécifications des servlets, ces dernières doivent appartenir à un package.
Marsh Posté le 25-05-2010 à 15:37:17
jamesbond2 a écrit : Salut, |
C'est plutôt comme ça qu'on fait habituellement :
- Les sources sont placées dans un répertoire déclaré "Source package Folder" (ex : src/java)
- Le répertoire "/WEB-INF/classes" est déclaré en tant que "default output folder" (sous Eclipse, mais netbeans doit fonctionner pareil)
Ainsi, à chaque compilation de tes sources depuis "src/java", les classes se retrouveront dans le répertoire "/WEB-INF/classes".
Marsh Posté le 24-05-2010 à 12:02:24
Salut,
J’aurais une question concernant la construction de l’arborescence de fichiers dans un projet j2ee, pour l’instant j’essaie de me familiariser avec eclipse ou netbeans que je trouve beaucoup plus pratique. L’exemple qui suit est avec netbeans et serveur TomCat.
A la création du projet les deux IDE construisent une arborescence par défaut. Avec un répertoire par défaut pour les sources (src/java).
De mon coté je souhaiterais créer un répertoire « /WEB-INF/classes » et mettre toutes mes classes (*.java) à l’intérieur organisées en sous répertoires, comme on le conseille dans beaucoup de tutoriaux. Mais pour faire ça sous netbeans il faut que le « Source package Folder » pointe vers « web/WEB-INF/classes » (paramétrage que j’ai effectué).
Le problème c’est que lorsque je cré une servlet dans ce nouveau répertoire, le chemin n’est pas reconnu à l’exécution. Il me met l’erreur suivante :
Fichier web.xml :
La servlet ne passe que lorsqu’elle est créée dans le « Source package Folder » d’origine soit src/java. Donc je ne peux pas mettre mes servlets dans « web/WEB-INF/classes », POURQUOI ? j’ai vu dans plusieurs bouquins ou tutoriaux que beaucoup de développeurs le faisaient, donc ça devrait être possible non ?
Je sais que tout le contenu du répertoire "WEB-INF" n'est pas accessible par le web, mais vu que pour appeler la servlet j'utilise la string "url-pattern" et non pas le nom du fichier lui même je me disais que ça n'avais pas grande importance.
Merci de vos réponses
Message édité par jamesbond2 le 24-05-2010 à 12:43:48