Bonjour,
Je suis débutant en Strut2 et j'ai un problème avec mon application.
Je suis sûr que mon code est correct, ainsi que l’arborescence de mon projet mais j'obtiens malgré tout l'erreur 404 et no action dans la console.
Mon fichier struts.xml est à la racine.
Mon code est le suivant :
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 package Bdd; import java.util.ArrayList; import java.util.List; import bean.Utilisateur; /** * @author Olivier Guillou * 2009 février * * Table Utilisateurs. */ public class TableUtilisateur { /** * On créé une lise d'utilisateur. * @return * @return malist */ public List<Utilisateur> creationList() { List<Utilisateur> malist = new ArrayList<Utilisateur>(); Utilisateur a = new Utilisateur("olivier", "pass"); Utilisateur b = new Utilisateur("jérome", "pass2"); Utilisateur c = new Utilisateur("admin", "admin"); Utilisateur d = new Utilisateur("user", "user"); malist.add(a); malist.add(b); malist.add(c); malist.add(d); return malist; } }
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 package bean; /** * @author Olivier Guillou * 2009 février * * Bean simpleUtilisateur. */ public class Utilisateur { /* * Attributs */ /** * L'identifiant */ String identifiant; /** * Le mot de passe */ String mdp; /* * Constructeurs */ /** * Constructeur vide */ public Utilisateur() { // vide } /** * Constructeur qualifié * @param identifiant * @param mdp */ public Utilisateur(String identifiant, String mdp) { super(); this.identifiant = identifiant; this.mdp = mdp; } /* * Getters et setters */ /** * @return identifiant */ public String getIdentifiant() { return identifiant; } /** * @param identifiant */ public void setIdentifiant(String identifiant) { this.identifiant = identifiant; } /** * @return mdp */ public String getMdp() { return mdp; } /** * @param mdp */ public void setMdp(String mdp) { this.mdp = mdp; } }
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101 package beanAction; import java.util.Map; import javax.servlet.http.HttpServletRequest; import model.UtilisateurModel; import bean.Utilisateur; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; /** * @author Guillou Olivier * * JEE Tutoriel 2009-2010 * * Action Classe : UtilisateurAction */ public class UtilisateurAction extends ActionSupport { //------------------------------------------------------------- // Properties //------------------------------------------------------------- /** * Description : * long serialVersionUID */ private static final long serialVersionUID = 1L; // Objets private Utilisateur utilisateur; /** * utilisateur identifié ? */ private boolean identificationUtilisateur; //------------------------------------------------------------- // Getters et setters //------------------------------------------------------------- /** * Accesseur * @return the utilisateur */ public Utilisateur getUtilisateur() { return utilisateur; } /** * Mutateur * @param utilisateur the utilisateur to set */ public void setUtilisateur(Utilisateur utilisateur) { this.utilisateur = utilisateur; } /* (non-Javadoc) * @see org.apache.struts2.interceptor.ServletRequestAware#setServletRequest(javax.servlet.http.HttpServletRequest) */ public void setServletRequest(HttpServletRequest arg0) { // TODO Auto-generated method stub } //------------------------------------------------------------- // Others methods //------------------------------------------------------------- /** * Methode * Description : Permet d'identifier un utilisateur en fonction de son mot de passe et login. * @return @struts Error or SUCCESS */ public String identifierUtilisateurs() { // on créé un nouveau model UtilisateurModel utilisateurModel = new UtilisateurModel(); // on récupère les données du formulaire String loginForm = utilisateur.getIdentifiant(); String passwordForm = utilisateur.getMdp(); // on interroge le model identificationUtilisateur = utilisateurModel.isIdentifier(loginForm, passwordForm); // test métier si l'identification est ok if (identificationUtilisateur == true) { // on récupère la session courante Map session = ActionContext.getContext().getSession(); // on renseigne la session session.put("authentification","true"); session.put("nomUtilisateur",utilisateur.getIdentifiant()); session.put("erreur", "noErreur"); System.out.println("Vous êtes loggué avec succès enjoy :)"); return SUCCESS; } return ERROR; } }
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 package model; import java.util.List; import Bdd.TableUtilisateur; import bean.Utilisateur; /** * @author Olivier Guillou * 2009 février * * Model Utilisateur. */ public class UtilisateurModel { //------------------------------------------------------------- // Methodes du model //------------------------------------------------------------- /** * Methode d'identifiacation de l'utilisateur * @param loginForm * @param passwordForm * @return */ public boolean isIdentifier(String loginForm, String passwordForm) { // on récupère la liste dans la base de donnée (ici en dur) TableUtilisateur currentListe = new TableUtilisateur(); List <Utilisateur>malist = currentListe.creationList(); //on parcour la liste et on teste les entrées du formulaire. for (int i = 0; i < malist.size(); i++) { if(loginForm.equalsIgnoreCase(malist.get(i).getIdentifiant())&& (passwordForm.equalsIgnoreCase(malist.get(i).getMdp()))) { return true; } } return false; } }
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 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.devMode" value="true" /> <constant name="struts.custom.i18n.resources" value="package" /> <package name="beanAction" namespace="/" extends="struts-default"> <action name="index"> <result>index.jsp</result> </action> <!-- Ident rules --> <action name="identificationUtilisateur" class="beanAction.UtilisateurAction" method="identifierUtilisateurs"> <result name="success">success.jsp</result> <result name="error">index.jsp</result> </action> </package> </struts>
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 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!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"> <link rel="stylesheet" type="text/css" href="<s:url value="styles.css"/>" media="all" /> <title>Formulaire de login</title> </meta> </head> <body> <s:form action="identificationUtilisateur" method="post" name="/beanAction" cssClass="formulaireLogin"> <p><s:textfield key="utilisateur.identifiant" label="Nom d'utilisateur" size="20" cssClass="inputs" /> <s:textfield key="utilisateur.mdp" label="Mot de passe" size="20" cssClass="inputs" /> <s:submit value="Login" align="center" cssClass="boutonLogin" /> </p> </s:form> </body> </html>Quelqu'un aurait-il une idée du 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 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Application</display-name> <!-- Les welcomes Files <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list>--> <!-- Le filtre de struts --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <context-param> <param-name>toto</param-name> <param-value>Un Parametre</param-value> </context-param> </web-app>
Merci d'avance pour votre aide.
Partager