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 :
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
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
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
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>"); } }
Avec bien sûr un fichier index.html à la racine du projet.
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>
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.
Partager