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 :
Code :
- Etat HTTP 404 - Servlet NewServlet2 n'est pas disponible.
- type Rapport d'état
- message Servlet NewServlet2 n'est pas disponible.
- description La ressource demandée (Servlet NewServlet2 n'est pas disponible.) n'est pas disponible.
|
Fichier web.xml :
Code :
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee....
-
- <servlet>
- <servlet-name>NewServlet2</servlet-name>
- <servlet-class>NewServlet2</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>NewServlet2</servlet-name>
- <url-pattern>/NewServlet2</url-pattern>
- </servlet-mapping>
- <session-config>
- <session-timeout>
- 30
- </session-timeout>
- </session-config>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
|
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