Bonjour,

J'ai un problème avec des servlets. J'ai installé Tomcat 6 et j'ai déployé l'exemple Hello World. Voici l'architecture de l'application :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
webapps/
+-exemple/
  +-src/
  | +-mypackage/
  |   +-Hello.java
  +-web/
  | +-WEB-INF/
  | | +-classes/
  | | +-lib/
  | | +-web.xml
  | +-index.html
  +-build/
  | +-WEB-INF/
  | | +-classes/
  | | | +-mypackage/
  | | |    +-Hello.class
  | | +-lib/
  | | +-web.xml
  | +-index.html
  +-build.xml
Le répertoire build/ est généré avec le build.xml, il contient les fichiers du répertoire web/ et les classes compilées de src/.

Voici le fichier web.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app [...]>
  <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>mypackage.Hello</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>
Quand je vais à l'adresse http://localhost:8080/exemple/build/hello, il est écrit que la ressource n'est pas disponible.
Si dans web.xml, je change la ligne de url par <url-pattern>/build/hello</url-pattern>, ça indique la même chose.
Quand je copie le répertoire build/ dans le webapps/ et que je vais à l'adresse http://localhost:8080/build/hello, le serveur trouve la servlet.

Est-ce que le répertoire WEB-INF/ doit-être un sous-répertoire direct du répertoire exemple/ ?
Si oui, a-t-il un moyen de tester l'application dans le répertoire build/ ?

Merci d'avance.