Bonjour à tous,

Je précise que j'ai fait plusieurs recherches avant de poster ici (et pas que sur developpez.net), malheureusement infructueuse soit car la personne a résolu son problème sans énoncer sa solution soit la solution n'élucidait pas mon soucis.

Je me suis lancé dans l'apprentissage du J2EE, toutefois lors de l'écriture/lancement de ma première servlet suivant un tutoriel, c'est une catastrophe, je m'explique :

Je lutte depuis plusieurs heures sur une erreur que me génère Eclipse lors de la demandede la page de ma servlet :

En effet lorsque j'ajoute mon fichier web.xml, je rafraîchis ma page et une magnifique erreur 404 me saute à la figure avec pour motif :


type : Rapport d'état

message : Servlet XXXXXXX n'est pas disponible.

description : La ressource demandée (Servlet XXXXXXX n'est pas disponible.) n'est pas disponible.

J'ai un peu cherché et il se trouve que lorsque j'appelle ma servlet Eclipse me sort un beau pavé avec 2 erreurs à l'intérieur :

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
6*mars*2012*14:56:39*org.apache.catalina.core.ApplicationContext*log
INFO:*La*servlet*firstServlet*est*marqué*comme*indisponible
6*mars*2012*14:56:39*org.apache.catalina.core.ApplicationContext*log
GRAVE:*Error*loading*WebappClassLoader
**context:*/Test
**delegate:*false
**repositories:
****/WEB-INF/classes/
---------->*Parent*Classloader:
org.apache.catalina.loader.StandardClassLoader@17e121c
*com.servlet.test.DoIt
java.lang.ClassNotFoundException:*com.servlet.test.DoIt
********at*org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
********at*org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
********at*org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128)
********at*org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
********at*org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
********at*org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
********at*org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
********at*org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
********at*org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
********at*org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
********at*org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
********at*org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
********at*org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
********at*java.lang.Thread.run(Unknown*Source)
6*mars*2012*14:56:39*org.apache.catalina.core.StandardWrapperValve*invoke
GRAVE:*Exception*lors*de*l'allocation*pour*la*servlet*firstServlet
java.lang.ClassNotFoundException:*com.servlet.test.DoIt
********at*org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
********at*org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
********at*org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128)
********at*org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
********at*org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
********at*org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
********at*org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
********at*org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
********at*org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
********at*org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
********at*org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
********at*org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
********at*org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
********at*java.lang.Thread.run(Unknown*Source)
6*mars*2012*14:56:40*org.apache.catalina.core.StandardWrapperValve*invoke
INFO:*La*servlet*firstServlet*est*actuellement*indisponible
Voici le code ma servlet :

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
package com.servlet.test;
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
 
public class DoIt extends HttpServlet {
 
	public void doGet(HttpServletRequest request, HttpServletResponse response)
		throws IOException, ServletException{
 
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<h1>Coucou toi !</h1>");
	}	
}
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
12
13
<web-app>
 
	<servlet>
		<servlet-name>firstServlet</servlet-name>
		<servlet-class>com.servlet.test.DoIt</servlet-class>
	</servlet>
 
	<servlet-mapping>
		<servlet-name>firstServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
 
</web-app>
Avec bien sûr un fichier index.html à la racine du projet.

Tout "fonctionnait" bien tant que je n'avais pas encore le fichier XML, j'étais bien dirigé sur le index.html, donc Tomcat était bien installé, je communiquais bien avec.

Malheureusement je n'avance pas sur ces erreurs...

Si vous pouviez me sortir de ce mauvais pas car malheureusement l'apprentissage du J2EE n'est pas que pour ma culture personnelle mais aussi une demande professionnelle sur laquelle je dois avancer assez vite, surtout ne pas bloque 2 jours sur une simple servlet...

Merci d'avance.