Bonjour,
j'ai voulu créer ma première servlet mais ça ne marche pas, j'ai une erreur 500 avec ce message :
je ne sais pas comment résoudre le problème.
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 Etat HTTP 500 - -------------------------------------------------------------------------------- type Rapport d'exception message description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête. exception javax.servlet.ServletException: Erreur d'allocation à une instance de servlet org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) java.lang.Thread.run(Thread.java:595) cause mère java.lang.NoClassDefFoundError: Formulaire (wrong name: formulairepersonne/Formulaire) java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClass(ClassLoader.java:620) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) java.lang.Thread.run(Thread.java:595)
mon arborescence de fichiers est :
Tomcat5.0\webapps
****Kyti
******index.html
******WEB-INF
********web.xml
********lib (vide)
********classes
**********Formulaire.class
**********Formulaire.java
mon fichier index.html contient :
mon fichier web.xml contient :
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 <html> <head><title>Formulaire</title></head> <body bgcolor="orange" text="yellow"> <h2>Enregistrement de vos coordonnées</h2> <hr> <form method="get" action="Formulaire"> <h3>Civilit&ecute; : <select name="civilite"> <option>Monsieur</option> <option>Madame</option> <option>Mademoiselle</option> </select></h3> <h3>Nom : <input type="text" name="nom" size="24"></h3> <h3>Pr&ecute;nom : <input type="text" name="prenom"></h3> <h3>Age : <input type="text" name="age" size="5"></h3> <hr /><input type="submit" value="Envoyer le formulaire"> <input type="reset" value="Tout effacer"> </form> </body> </html>
ma servlet contient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>Formulaire age personne TEST</display-name> <servlet> <servlet-name>Formulaire</servlet-name> <servlet-class>Formulaire</servlet-class> </servlet> <servlet-mapping> <servlet-name>Formulaire</servlet-name> <url-pattern>/Formulaire</url-pattern> </servlet-mapping> </web-app>
je n'ai eu aucune erreur à la compilation, et aucun warning, j'ai compilé avec jcreator.
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 package formulairepersonne; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class Formulaire extends HttpServlet { //Traiter la requête HTTP Get public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); // type MIME pour l'en-tête http --> Page HTML PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>Enregistrement coordonnées</title></head>"); out.println("<body bgcolor=orange text=yellow>"); out.println("<h2>Enregistrement de vos coordonnées effectué</h2>"); out.println("<hr width=75%>"); out.print("<p><b>Bonjour "+ request.getParameter("civilite")+" "); out.print(request.getParameter("prenom")+" "); out.println(request.getParameter("nom")+"."); int âge = Integer.parseInt(request.getParameter("age")); String message = "Vous êtes un"; if (âge>0 && âge<12) message += " enfant."; if (âge>=12 && âge<18) message += " adolescent."; if (âge>=18 && âge<60) message += " adulte."; if (âge>=60) message += "e personne du troisième âge."; out.println("<p>"+ message +"</b></body></html>"); } }
j'ai trouvé cet exemple sur http://emmanuel-remy.developpez.com/...u/Servlets.htm
Est-ce que quelqu'un sait d'où vient le pb ?
MERCI
Partager