Salut à tous, après de nombreuses recherches et 2 jours passées à galérer avec struts, je vous demande un petit coup de main pour me lancer avec struts.
Pour le moment j'essaie de faire un truc basique de chez basique, ouvrir un formulaire jsp avec identifiant et mot de passe - valider - nouvelle page affichant l'identifiant saisi.
Je précise que le projet est un projet web crée sous eclipse, tous les plugins sont installés (aucune erreur d'import)
Voici l'arborescence du projet :
Voici le code :
login.jsp
LoginForm.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 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> <%@ page language="java" import="java.util.*" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> </head> <body> <div id="top"> <h1>Bourse du transport</h1> </div> <div id="gauche"></div> <div id="contenu"> <h1>Bienvenue. Veuillez vous identifier.</h1> <div> <html:form action="login.do" method="GET" focus="login"> Login : <html:text property="login" /><br /> Password : <html:password property="password" /><br /> <html:submit property="submit" /> </html:form> </div> </div> </body> </html>
LoginAction.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 package login; import org.apache.struts.action.ActionForm; public class LoginForm extends ActionForm { private String login; private String password; public LoginForm() { super(); } 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; } }
Struts-config.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
21
22
23 package login; 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 { // On traite la requête cliente LoginForm form = (LoginForm) _form; System.out.println("Struts in action " + form.getLogin() + " - " + form.getPassword()); // On redirige vers la vue adaptée return mapping.findForward("Accueil"); } }
Web.xml (au cas où)
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 <?xml version="1.0" encoding="UTF-8"?> <!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> <!-- Login ActionForm Bean --> <form-bean name="LoginForm" type="login.LoginForm" /> </form-beans> <!-- ========= Global Exception Definitions ============================ --> <global-exceptions></global-exceptions> <!-- ========== Global Forward Definitions ============================= --> <global-forwards></global-forwards> <!-- ========== Action Mapping Definitions ============================= --> <action-mappings> <!-- Login ActionForm Example ===================================== --> <action path="/login" name="LoginForm" type="login.LoginAction" scope="request"> <forward name="Accueil" path="/Accueil.jsp" /> </action> </action-mappings> <!-- ========== Message Resources Definitions =========================== --> <!-- ========== Plug Ins Configuration ================================== --> </struts-config>
Accueil.jsp
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
47
48
49
50
51
52
53 <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>projetili</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <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> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>application</param-name> <param-value>ApplicationResources</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> </web-app>
J'obtient l'erreur suivante :
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 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Confirmation de connexion</title> <%@ page language="java" import="java.util.*" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> </head> <body> <h1 align="center">Confirmation de connexion</H1> <div align="center"> Bonjour <bean:write name="LoginForm" property="login" /> </div> </body> </html>
exception
javax.servlet.ServletException: Exception creating bean of class login.LoginForm: {1}
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.jsp.login_jsp._jspService(login_jsp.java:101)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
cause mère
javax.servlet.jsp.JspException: Exception creating bean of class login.LoginForm: {1}
org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:465)
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:432)
org.apache.jsp.jsp.login_jsp._jspx_meth_html_form_0(login_jsp.java:119)
org.apache.jsp.jsp.login_jsp._jspService(login_jsp.java:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
toute aide serait la bienvenue - merci![]()
Partager