[Struts 1.3.8] Erreur java.lang.ClassNotFoundException
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
Code:
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> |
Cette JSP s'appuie sur un bean tout à fait classique : /WEB-INF/src/beans/Adresse.java
Code:
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;
}
} |
Suit la classe servlet : /WEB-INF/src/java/Adresse.java
Code:
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");
}
} |
Le struts-config.xml pour terminer :
Code:
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> |
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 :
Citation:
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)
Là, je ne vois pas mon erreur :aie:, je me demande s'il ne manque pas un jar quelque part...
Quelqu'un aurait-il une idée ? :roll:
Merci par avance ;)