[struts 1.1] ActionForm vide
Bonjour tout le monde. Tout semble correct pour moi mais je ne sais pas pourquoi ca ne marche pas (j'ai l'impression que mon ActionForm est vide!!!)
1. web.xml
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
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app SYSTEM "../web-app_2_3.dtd" >
<web-app>
<display-name>Test Struts</display-name>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app> |
2. struts-config.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config SYSTEM "../struts-config_1_1.dtd" >
<struts-config>
<form-beans>
<form-bean name="loginForm" type="org.toto.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" type="org.toto.LoginAction" name="loginForm">
<forward name="success" path="accueil.jsp"></forward>
<forward name="failure" path="login.jsp"></forward>
</action>
</action-mappings>
</struts-config> |
3- LoginForm.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
| package org.toto;
import org.apache.struts.action.ActionForm;
public class LoginForm extends ActionForm {
private String login;
private String password;
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
} |
4- LoginAction.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
| package org.toto;
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;
public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm lf = (LoginForm) form;
String login = lf.getLogin();
String password = lf.getPassword();
System.out.println("----> "+login+" et "+password);
if((login.equals("toto")) && (password.equals("toto")))
return mapping.findForward("success");
return
mapping.findForward("failure");
}
} |
5-login.jsp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="login.do" method="post">
<label>login:</label><input type="text"></input><br></br>
<label>password:</label><input type="password"></input><br></br>
<input type="submit" value="valider"></input>
</form>
</body>
</html> |
Les librairies dans mon projet (sous eclipse):
Citation:
commons-beanutils.jar,commons_collections.jar,commons-digester.jar, commons-fileupload.jar, commons-lang.jar,commons-logging.jar, commons-validator.jar, jakarta-oro.jar, struts-legacy.jar,struts.jar
Et en fin voici les erreurs que j'obtiens (sous Tomcat).
J'obtiens des erreurs aussi sous JBoss.
Citation:
13 mars 2011 04:25:25 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.6.0_03\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.6.0_03/bin/client;C:/Program Files/Java/jre1.6.0_03/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\;C:\Program Files\Java\jre1.6.0_03\bin
13 mars 2011 04:25:25 org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
13 mars 2011 04:25:25 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 871 ms
13 mars 2011 04:25:25 org.apache.catalina.core.StandardService start
INFO: Démarrage du service Catalina
13 mars 2011 04:25:25 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.33
13 mars 2011 04:25:25 org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
13 mars 2011 04:25:26 org.apache.coyote.http11.Http11BaseProtocol start
INFO: Démarrage de Coyote HTTP/1.1 sur http-8080
13 mars 2011 04:25:26 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
13 mars 2011 04:25:26 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/30 config=null
13 mars 2011 04:25:26 org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
13 mars 2011 04:25:27 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1252 ms
13 mars 2011 04:25:49 org.apache.jasper.xmlparser.MyEntityResolver resolveEntity
GRAVE: PUBLIC ID invalide: null
13 mars 2011 04:26:16 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
13 mars 2011 04:26:16 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
----> null et null
13 mars 2011 04:26:16 org.apache.struts.action.RequestProcessor processException
ATTENTION: Unhandled Exception thrown: class java.lang.NullPointerException
13 mars 2011 04:26:16 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet action a généré une exception
java.lang.NullPointerException
at org.toto.LoginAction.execute(LoginAction.java:21)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
Merci de votre aide.