Bonjour,
Je suis en train de faire un simple TP, je ne trouve pas la source d'une exception... J'ai beau regarder sur le site d'Apache et sur le Net, rien n'y fait...
Commençons par la présentation du projet :
Une JSP contient un simple formulaire : /pages/index.jsp
Cette JSP s'appuie sur un bean tout à fait classique : /WEB-INF/src/beans/Adresse.java
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 <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html:html> <head> <title>Une application Struts</title> </head> <body> <html:form action="/accueil" method="post"> <table> <tr> <td> Ville </td> <td> <html:text property="ville"/> </td> </tr> <tr> <td> Code Postal </td> <td> <html:text property="codePostal"/> </td> </tr> <tr> <td colspan="2"> <html:submit value="Enregistrer"/> </td> </tr> </table> </html:form> </body> </html:html>
Suit la classe servlet : /WEB-INF/src/java/Adresse.java
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 package beans; import org.apache.struts.action.ActionForm; public class Adresse extends ActionForm { private static final long serialVersionUID = 1L; public String Ville; public String CodePostal; public String getCodePostal() { return CodePostal; } public void setCodePostal(String codePostal) { CodePostal = codePostal; } public String getVille() { return Ville; } public void setVille(String ville) { Ville = ville; } }
Le struts-config.xml pour terminer :
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 package java; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import beans.Adresse; public class Controle extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { //récupération du formulaire Adresse uneAdresse = new Adresse(); uneAdresse = (Adresse) form; if (uneAdresse.getVille() != null && ! uneAdresse.getVille().equals("")) { System.out.println("La ville : " + uneAdresse.getVille()); } return mapping.findForward("succes"); } }
Je lance Tomcat, appelle l'appli web, le formulaire s'affiche très bien. Je rentre une simple donnée, et boum ! Je me prends une Erreur 500 :
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 <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config> <!-- ================================================ Form Bean Definitions --> <form-beans> <form-bean name="AdresseBean" type="beans.Adresse"/> </form-beans> <!-- =========================================== Global Forward Definitions --> <global-forwards> <forward name="welcome" path="/Welcome.do"/> <forward name="succes" path="/pages/succes.jsp"/> </global-forwards> <!-- =========================================== Action Mapping Definitions --> <action-mappings> <action path="/accueil" name="AdresseBean" type="java.Controle" /> </action-mappings> <!-- ======================================== Message Resources Definitions --> <message-resources parameter="java.MessageResources" /> </struts-config>
Là, je ne vois pas mon erreur , je me demande s'il ne manque pas un jar quelque part...exception
javax.servlet.ServletException: java.Controle
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
cause mère
java.lang.ClassNotFoundException: java.Controle
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
org.apache.struts.chain.commands.util.ClassUtils.getApplicationClass(ClassUtils.java:54)
org.apache.struts.chain.commands.util.ClassUtils.getApplicationInstance(ClassUtils.java:71)
org.apache.struts.chain.commands.servlet.CreateAction.createAction(CreateAction.java:98)
org.apache.struts.chain.commands.servlet.CreateAction.getAction(CreateAction.java:68)
org.apache.struts.chain.commands.AbstractCreateAction.execute(AbstractCreateAction.java:90)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Quelqu'un aurait-il une idée ?
Merci par avance
Partager