From 6cc5b48b62265ad8ef1cfbadb382b311a9ee7033 Mon Sep 17 00:00:00 2001 From: Ramzi Benmansour Date: Tue, 2 May 2023 13:48:35 +0200 Subject: [PATCH 1/4] les deux FormChecker Implementes + modifs --- src/main/java/Forms/LoginFormChecker.java | 58 +++++++++++++ src/main/java/Forms/SigninFormChecker.java | 77 ++++++++++++++++++ src/main/java/fr/ldnr/beans/User.java | 37 +++++++++ src/main/java/fr/ldnr/servelets/Burger.java | 63 -------------- src/main/java/fr/ldnr/servelets/Carotte.java | 71 ---------------- .../fr/ldnr/servelets/SteackServelet.java | 46 ----------- .../java/fr/ldnr/servelets/TestServlet.java | 46 ----------- src/main/webapp/WEB-INF/Burger.jsp | 17 ---- src/main/webapp/WEB-INF/Carotte.jsp | 17 ---- src/main/webapp/WEB-INF/Home.jsp | 2 +- src/main/webapp/WEB-INF/Login.jsp | 14 +++- src/main/webapp/WEB-INF/Signin.jsp | 58 ++++++------- src/main/webapp/WEB-INF/Steack.jsp | 36 -------- src/main/webapp/WEB-INF/Test.jsp | 37 --------- .../fr/ldnr/servelets/SteackServelet.class | Bin 1520 -> 0 bytes .../fr/ldnr/servelets/SteackServelet.class | Bin 1520 -> 0 bytes 16 files changed, 214 insertions(+), 365 deletions(-) create mode 100644 src/main/java/Forms/LoginFormChecker.java create mode 100644 src/main/java/Forms/SigninFormChecker.java create mode 100644 src/main/java/fr/ldnr/beans/User.java delete mode 100644 src/main/java/fr/ldnr/servelets/Burger.java delete mode 100644 src/main/java/fr/ldnr/servelets/Carotte.java delete mode 100644 src/main/java/fr/ldnr/servelets/SteackServelet.java delete mode 100644 src/main/java/fr/ldnr/servelets/TestServlet.java delete mode 100644 src/main/webapp/WEB-INF/Burger.jsp delete mode 100644 src/main/webapp/WEB-INF/Carotte.jsp delete mode 100644 src/main/webapp/WEB-INF/Steack.jsp delete mode 100644 src/main/webapp/WEB-INF/Test.jsp delete mode 100644 target/classes/fr/ldnr/servelets/SteackServelet.class delete mode 100644 target/mavenproject3-1.0-SNAPSHOT/WEB-INF/classes/fr/ldnr/servelets/SteackServelet.class diff --git a/src/main/java/Forms/LoginFormChecker.java b/src/main/java/Forms/LoginFormChecker.java new file mode 100644 index 0000000..713fc4d --- /dev/null +++ b/src/main/java/Forms/LoginFormChecker.java @@ -0,0 +1,58 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package Forms; + +/** + * + * @author stag + */ +import fr.ldnr.beans.User; +import java.util.HashMap; +import javax.servlet.http.HttpServletRequest; + +public class LoginFormChecker { + private static final String NAME_FIELD = "name"; + private static final String PWD_FIELD = "pwd"; + + private final HttpServletRequest request; + private final HashMap errors; + private User user; + + public LoginFormChecker(HttpServletRequest request) { + this.request = request; + errors = new HashMap<>(); + } + + public boolean checkForm() { + String name = request.getParameter(NAME_FIELD); + String pwd = request.getParameter(PWD_FIELD); + + if (name == null || name.isEmpty()) { + errors.put(NAME_FIELD, "Le nom d'utilisateur est requis"); + } + + if (pwd == null || pwd.isEmpty()) { + errors.put(PWD_FIELD, "Le mot de passe est requis"); + } + + if (errors.isEmpty()) { + // Si les champs sont valides, on peut créer l'utilisateur + user = new User(name, pwd); + return true; + } else { + return false; + } + } + + public HashMap getErrors() { + return errors; + } + + public User getUser() { + return user; + } +} + diff --git a/src/main/java/Forms/SigninFormChecker.java b/src/main/java/Forms/SigninFormChecker.java new file mode 100644 index 0000000..b703b23 --- /dev/null +++ b/src/main/java/Forms/SigninFormChecker.java @@ -0,0 +1,77 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package Forms; + +/** + * + * @author stag + */ +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; + +public class SigninFormChecker { + + private static final String EMAIL_FIELD = "email"; + private static final String PWD_FIELD = "password"; + private static final String CONFIRM_PWD_FIELD = "confirmPassword"; + private static final String PSEUDO_FIELD = "pseudo"; + + private final HttpServletRequest request; + private final HashMap errors; + + public SigninFormChecker(HttpServletRequest request) { + this.request = request; + errors = new HashMap<>(); + } + + public boolean checkForm() { + boolean isValid = true; + + String email = request.getParameter(EMAIL_FIELD); + String password = request.getParameter(PWD_FIELD); + String confirmPassword = request.getParameter(CONFIRM_PWD_FIELD); + String pseudo = request.getParameter(PSEUDO_FIELD); + + if (email == null || email.trim().isEmpty()) { + errors.put(EMAIL_FIELD, "L'adresse email est obligatoire."); + isValid = false; + } else if (!email.contains("@")) { + errors.put(EMAIL_FIELD, "L'adresse email n'est pas valide."); + isValid = false; + } + + if (password == null || password.trim().isEmpty()) { + errors.put(PWD_FIELD, "Le mot de passe est obligatoire."); + isValid = false; + } else if (password.length() < 6) { + errors.put(PWD_FIELD, "Le mot de passe doit contenir au moins 6 caractères."); + isValid = false; + } + + if (confirmPassword == null || confirmPassword.trim().isEmpty()) { + errors.put(CONFIRM_PWD_FIELD, "La confirmation du mot de passe est obligatoire."); + isValid = false; + } else if (!confirmPassword.equals(password)) { + errors.put(CONFIRM_PWD_FIELD, "La confirmation du mot de passe ne correspond pas."); + isValid = false; + } + + if (pseudo == null || pseudo.trim().isEmpty()) { + errors.put(PSEUDO_FIELD, "Le pseudo est obligatoire."); + isValid = false; + } else if (pseudo.length() < 3) { + errors.put(PSEUDO_FIELD, "Le pseudo doit contenir au moins 3 caractères."); + isValid = false; + } + + return isValid; + } + + public HashMap getErrors() { + return errors; + } +} + diff --git a/src/main/java/fr/ldnr/beans/User.java b/src/main/java/fr/ldnr/beans/User.java new file mode 100644 index 0000000..a4e95fb --- /dev/null +++ b/src/main/java/fr/ldnr/beans/User.java @@ -0,0 +1,37 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package fr.ldnr.beans; + +/** + * + * @author stag + */ +public class User { + private String name; + private String password; + + public User(String name, String password) { + this.name = name; + this.password = password; + } + + // getters and setters + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/src/main/java/fr/ldnr/servelets/Burger.java b/src/main/java/fr/ldnr/servelets/Burger.java deleted file mode 100644 index 86caaf5..0000000 --- a/src/main/java/fr/ldnr/servelets/Burger.java +++ /dev/null @@ -1,63 +0,0 @@ -package fr.ldnr.servelets; - -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -import java.io.IOException; -import java.io.PrintWriter; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * - * @author stag - */ -@WebServlet(name = "Burger", urlPatterns = {"/burger"}) -public class Burger extends HttpServlet { - - /** - * Processes requests for both HTTP GET and POST - * methods. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs - */ - protected void processRequest(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - request.getServletContext() - .getRequestDispatcher("/WEB-INF/burger.jsp") - .forward(request, response); - } - - /** - * Handles the HTTP POST method. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs ©LDNR - Herbert Caffarel - * Module JEE Page 15 sur 16 - */ - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - processRequest(request, response); - } - - /** - * Returns a short description of the servlet. - * - * @return a String containing servlet description - */ - @Override - public String getServletInfo() { - return "Short description"; - }// -} diff --git a/src/main/java/fr/ldnr/servelets/Carotte.java b/src/main/java/fr/ldnr/servelets/Carotte.java deleted file mode 100644 index 72e1137..0000000 --- a/src/main/java/fr/ldnr/servelets/Carotte.java +++ /dev/null @@ -1,71 +0,0 @@ - -import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * - * @author stag - */ -@WebServlet(name = "Carotte", urlPatterns = {"/carotte"}) -public class Carotte extends HttpServlet { - - /** - * Processes requests for both HTTP GET and POST - * methods. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs - */ - protected void processRequest(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - request.getServletContext() - .getRequestDispatcher("/WEB-INF/Carotte.jsp") - .forward(request, response); - } - - // - /** - * Handles the HTTP GET method. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs - */ - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - processRequest(request, response); - } - - /** - * Handles the HTTP POST method. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs - */ - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - processRequest(request, response); - } - - /** - * Returns a short description of the servlet. - * - * @return a String containing servlet description - */ - @Override - public String getServletInfo() { - return "Short description"; - }// - -} diff --git a/src/main/java/fr/ldnr/servelets/SteackServelet.java b/src/main/java/fr/ldnr/servelets/SteackServelet.java deleted file mode 100644 index 3ea1b0b..0000000 --- a/src/main/java/fr/ldnr/servelets/SteackServelet.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package fr.ldnr.servelets; - -import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * - * @author stag - */ -@WebServlet(name = "steack", urlPatterns = {"/steack"}) -public class SteackServelet extends HttpServlet { - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { -// PrintWriter out = resp.getWriter(); -// out.println("" -// + "" -// + "Ma page de test" -// + ""); -// out.println("" -// + "

coucou

" -// + "" -// + "" -// ); - - req.setAttribute("title", "Mon repas préféré"); - req.setAttribute("accompagnement", "A"); - req.setAttribute("boisson", "Coca"); - req.setAttribute("message", "Ceci est un message"); - req.setAttribute("auteur", "Ramzi"); - req.setAttribute("",this); - req.getServletContext() - .getRequestDispatcher("/WEB-INF/Steack.jsp") - .forward(req, resp); - - } -} diff --git a/src/main/java/fr/ldnr/servelets/TestServlet.java b/src/main/java/fr/ldnr/servelets/TestServlet.java deleted file mode 100644 index 3268583..0000000 --- a/src/main/java/fr/ldnr/servelets/TestServlet.java +++ /dev/null @@ -1,46 +0,0 @@ -package fr.ldnr.servlets; - -import fr.ldnr.beans.Personne; - -import fr.ldnr.beans.Personne; -import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import fr.ldnr.beans.Personne; -import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import javax.servlet.ServletException; - -import javax.servlet.http.HttpServlet; - -public class TestServlet extends HttpServlet { - - public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - // Récupération d'un paramètre depuis la query string envoyée par le client - String parametreAuteur = request.getParameter("auteur"); - // Création d'un attribut ayant la portée requête - String attributMessage = "Transmission d'attribut : OK ! Avec paramètre: " + parametreAuteur; - request.setAttribute("cleAttribut", attributMessage); - // Création d'un bean et initialisation de ses propriétés - Personne alphonse = new Personne(); - alphonse.setNom("Danlta"); - alphonse.setPrenom("Alphonse"); - alphonse.setAge(25); - - // Ajout du bean à la requête - request.setAttribute("alphonse", alphonse); - // Appel de la vue - this.getServletContext() - .getRequestDispatcher(("/WEB-INF/test.jsp")) - .forward(request, response); - - - } -} diff --git a/src/main/webapp/WEB-INF/Burger.jsp b/src/main/webapp/WEB-INF/Burger.jsp deleted file mode 100644 index 316656c..0000000 --- a/src/main/webapp/WEB-INF/Burger.jsp +++ /dev/null @@ -1,17 +0,0 @@ -<%-- - Document : Burger - Created on : 25 avr. 2023, 15:08:31 - Author : stag ---%> - -<%@page contentType="text/html" pageEncoding="UTF-8"%> - - - - - JSP Page - - - - - diff --git a/src/main/webapp/WEB-INF/Carotte.jsp b/src/main/webapp/WEB-INF/Carotte.jsp deleted file mode 100644 index 450686a..0000000 --- a/src/main/webapp/WEB-INF/Carotte.jsp +++ /dev/null @@ -1,17 +0,0 @@ -<%-- - Document : Carotte - Created on : 25 avr. 2023, 14:34:44 - Author : stag ---%> - -<%@page contentType="text/html" pageEncoding="UTF-8"%> - - - - - Les carottes - - -

Les carottes sont cuites !

- - diff --git a/src/main/webapp/WEB-INF/Home.jsp b/src/main/webapp/WEB-INF/Home.jsp index 1cf9ce0..4c7e88b 100644 --- a/src/main/webapp/WEB-INF/Home.jsp +++ b/src/main/webapp/WEB-INF/Home.jsp @@ -7,7 +7,7 @@ Blog - <%@include file="./jspf/Header.jsp" %> + <%@include file="/WEB-INF/jspf/Header.jsp" %>

Bienvenue sur mon blog

diff --git a/src/main/webapp/WEB-INF/Login.jsp b/src/main/webapp/WEB-INF/Login.jsp index c46d399..369f1ef 100644 --- a/src/main/webapp/WEB-INF/Login.jsp +++ b/src/main/webapp/WEB-INF/Login.jsp @@ -1,5 +1,5 @@ +<%@page import="Forms.LoginFormChecker"%> <%@include file="taglibs.jsp" %> - <%@page contentType="text/html" pageEncoding="UTF-8"%> @@ -11,12 +11,22 @@ <%@include file="/WEB-INF/jspf/Header.jsp" %>

Page de connexion

-
+ + +

${errorMessage}

+
+ +

+ + + + + diff --git a/src/main/webapp/WEB-INF/Signin.jsp b/src/main/webapp/WEB-INF/Signin.jsp index 2e5ed14..c00cfd7 100644 --- a/src/main/webapp/WEB-INF/Signin.jsp +++ b/src/main/webapp/WEB-INF/Signin.jsp @@ -1,5 +1,7 @@ <%@include file="taglibs.jsp" %> + <%@page contentType="text/html" pageEncoding="UTF-8"%> +<%@page import="Forms.SigninFormChecker" %> @@ -10,13 +12,32 @@ <%@include file="/WEB-INF/jspf/Header.jsp" %>

Page d'inscription

- - -

${errorMessage}

-
- + + <%-- Check form and add errors to request attributes --%> + <% + if (request.getMethod().equalsIgnoreCase("post")) { + + SigninFormChecker formChecker = new SigninFormChecker(request); + boolean valid = formChecker.checkForm(); + + if (!valid) { + request.setAttribute("errors", formChecker.getErrors()); + } + } + %> + + <%-- Display form errors --%> + +

Erreurs :

+
    + +
  • ${error.value}
  • +
    +
+
+ + <%-- Display the form --%>
-
@@ -24,30 +45,9 @@
-
+
-
- - - <%-- - - --%> - - + diff --git a/src/main/webapp/WEB-INF/Steack.jsp b/src/main/webapp/WEB-INF/Steack.jsp deleted file mode 100644 index badc81c..0000000 --- a/src/main/webapp/WEB-INF/Steack.jsp +++ /dev/null @@ -1,36 +0,0 @@ -<%-- - Document : Steack - Created on : 25 avr. 2023, 13:18:28 - Author : stag ---%> - -<%@page contentType="text/html" pageEncoding="UTF-8"%> - - - - - JSP Page - - - -

voici ma page!

-
ici est une div
- <% - String title = (String) request.getAttribute("title"); - String accompagnement = (String) request.getAttribute("accompagnement"); - String boisson = (String) request.getParameter("boisson"); - String message = (String) request.getAttribute("message"); - String auteur = (String) request.getAttribute("auteur"); - out.println("
Test Accompagnement : " + accompagnement + "
"); - out.println("
Boisson: " + boisson + "
"); - %> -
-

<%=title%>

-
écrit par <%=auteur%>
-
Boisson: <%=boisson%>
-
accompagnement <%=accompagnement%>
-
Message: <%=message%>
-
- - - diff --git a/src/main/webapp/WEB-INF/Test.jsp b/src/main/webapp/WEB-INF/Test.jsp deleted file mode 100644 index 414fb75..0000000 --- a/src/main/webapp/WEB-INF/Test.jsp +++ /dev/null @@ -1,37 +0,0 @@ -<%-- - Document : Test - Created on : 27 avr. 2023, 13:12:05 - Author : stag ---%> - -<%@page contentType="text/html" pageEncoding="UTF-8"%> - - - - - JSP Page - - -

this is the Test jsp view!

-
Récupération du bean par JSP ! - -

Cette partie n'apparaît que si le bean n'existe pas dans la - requête !

- - -
-
Affichage du nom du bean récupéré : <%= alphonse.getNom()%> -
Création du second bean avec des paramètres positionnés en JSP ! - -
Cette partie n'apparaît que si le bean n'existe pas dans la - requête ! - - -
-
Affichage du nom du second bean : <%= secondBean.getNom()%> -
- - diff --git a/target/classes/fr/ldnr/servelets/SteackServelet.class b/target/classes/fr/ldnr/servelets/SteackServelet.class deleted file mode 100644 index ecbce50ac468d6d8888594afde07fe135e294487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1520 zcmX^0Z`VEs1_omWe=Y`L1|1FtT@D64ZU%h@0}cj54hAC*24fBe6AlJb4hAz026GMu z3l0WLkh~QKgEcpU4TCK=gB^oCJA(r|gCipYn@wh3W{Djm1G9!^7$XCVbAC!HBLlxr zW?rgaX>L+#QAlD^PAVgVkWYScVoq3MQ6`8F6=W&N$Sh`LQ1VGD($7iBE7C7cEhH}hQ;SQi2`Vct$j>WIwFWtxxhS=ekwKlH7Kq7=3@k;d#RZHEgq;GlgOP#DwIVsS zpd>Rtub7>|iJifjk%22XzqBYh)h!bgKEkLT)&u#GkwG%3G_NExH#ID?I5R0H)iEzG zza$ZC2qS|knrjo`lKSDPNzlNsW@KQ=OUzAWWMC@>hbSWhcWF^hKw?QrYEfP>BLllW zM4X2~gh7;%fwd&F1mqkM-~2pjgf&bF*!Lu zw;(Y+FEuwcuY{3-(UFmXJt;r4xHvx#oC=Z?85!7fQ;Ule(^DB4gq>59GZj*cOB71; z6yTz4iKQi}rA3SktU-ynRhf(o3_J|(3?7UO!usK^PP(3cZqQ_)msMQA&fv+z;Kkt0 z&fvqt;LG60$e=(d)i5&1fr1ftQek8e1}V_b%-8qyher^GHfUHPDNqGz!)-1!2{JP9 z6sMLrmXs7_CY6??GBT(`5{!OMVqUs_a7j^SUOFV1LPY$NvQm>vzzI??J+%aCt#f`} zNoqw2BZGp5CR&uEs<38ckU@19syriuNIE=wxMUU=B$gy+q!uwUm|}4jx>ZmwA+%XD zGRULahM|O!fjuq1s64SKg^|GlVh1A3pl*X|f&>E=S!f2*3}aAa5MmH!00AZjMo?;H zU}O+uU|`T^U}RuqU|?X?+RnhZk%57Mi9wu!fq@MyD8eAY07_P11q_l5QVa|XEDX{N zG7L;$&6^mQ8JHOu7y`6~n1q;jGO#c+XbZ6lu|ZkvLL5*Qrw|vE#Vy1GW$|i37&{sG z7#W24cQObtF=*@TWDsO#K)6GTfs28GL79PzL4`qtL6t#{L5)F!L7l;fL4(1XL6gCm zL5snQL7Ty!K^N>+1&Di~Ze?HyV31{y1N$X_L7qW@fr&v8>^mj~B?e^%CI%I-k5w7e b7#J9Y85kMV8JHL}iWxK+w4xapiy5>5L6MrS diff --git a/target/mavenproject3-1.0-SNAPSHOT/WEB-INF/classes/fr/ldnr/servelets/SteackServelet.class b/target/mavenproject3-1.0-SNAPSHOT/WEB-INF/classes/fr/ldnr/servelets/SteackServelet.class deleted file mode 100644 index ecbce50ac468d6d8888594afde07fe135e294487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1520 zcmX^0Z`VEs1_omWe=Y`L1|1FtT@D64ZU%h@0}cj54hAC*24fBe6AlJb4hAz026GMu z3l0WLkh~QKgEcpU4TCK=gB^oCJA(r|gCipYn@wh3W{Djm1G9!^7$XCVbAC!HBLlxr zW?rgaX>L+#QAlD^PAVgVkWYScVoq3MQ6`8F6=W&N$Sh`LQ1VGD($7iBE7C7cEhH}hQ;SQi2`Vct$j>WIwFWtxxhS=ekwKlH7Kq7=3@k;d#RZHEgq;GlgOP#DwIVsS zpd>Rtub7>|iJifjk%22XzqBYh)h!bgKEkLT)&u#GkwG%3G_NExH#ID?I5R0H)iEzG zza$ZC2qS|knrjo`lKSDPNzlNsW@KQ=OUzAWWMC@>hbSWhcWF^hKw?QrYEfP>BLllW zM4X2~gh7;%fwd&F1mqkM-~2pjgf&bF*!Lu zw;(Y+FEuwcuY{3-(UFmXJt;r4xHvx#oC=Z?85!7fQ;Ule(^DB4gq>59GZj*cOB71; z6yTz4iKQi}rA3SktU-ynRhf(o3_J|(3?7UO!usK^PP(3cZqQ_)msMQA&fv+z;Kkt0 z&fvqt;LG60$e=(d)i5&1fr1ftQek8e1}V_b%-8qyher^GHfUHPDNqGz!)-1!2{JP9 z6sMLrmXs7_CY6??GBT(`5{!OMVqUs_a7j^SUOFV1LPY$NvQm>vzzI??J+%aCt#f`} zNoqw2BZGp5CR&uEs<38ckU@19syriuNIE=wxMUU=B$gy+q!uwUm|}4jx>ZmwA+%XD zGRULahM|O!fjuq1s64SKg^|GlVh1A3pl*X|f&>E=S!f2*3}aAa5MmH!00AZjMo?;H zU}O+uU|`T^U}RuqU|?X?+RnhZk%57Mi9wu!fq@MyD8eAY07_P11q_l5QVa|XEDX{N zG7L;$&6^mQ8JHOu7y`6~n1q;jGO#c+XbZ6lu|ZkvLL5*Qrw|vE#Vy1GW$|i37&{sG z7#W24cQObtF=*@TWDsO#K)6GTfs28GL79PzL4`qtL6t#{L5)F!L7l;fL4(1XL6gCm zL5snQL7Ty!K^N>+1&Di~Ze?HyV31{y1N$X_L7qW@fr&v8>^mj~B?e^%CI%I-k5w7e b7#J9Y85kMV8JHL}iWxK+w4xapiy5>5L6MrS -- GitLab From 2b0997047c3b6c4a9da7a943dafbf58e9ee0f96d Mon Sep 17 00:00:00 2001 From: Ramzi Benmansour Date: Fri, 5 May 2023 00:05:11 +0200 Subject: [PATCH 2/4] added checkers des formulaires (upgrade) --- src/main/java/Forms/LoginFormChecker.java | 42 +++++++++++------ src/main/java/Forms/SigninFormChecker.java | 18 ++++++- src/main/java/fr/ldnr/beans/User.java | 52 +++++++++++++++++---- src/main/java/fr/ldnr/servelets/Home.java | 6 ++- src/main/java/fr/ldnr/servelets/Login.java | 38 +++++++-------- src/main/java/fr/ldnr/servelets/Logout.java | 41 ++++++++++++++++ src/main/java/fr/ldnr/servelets/Signin.java | 33 ++++--------- src/main/webapp/WEB-INF/Login.jsp | 19 ++++---- src/main/webapp/WEB-INF/Signin.jsp | 50 +++++++------------- src/main/webapp/WEB-INF/jspf/Header.jsp | 1 + src/main/webapp/rsc/css/Style.css | 5 ++ 11 files changed, 192 insertions(+), 113 deletions(-) create mode 100644 src/main/java/fr/ldnr/servelets/Logout.java diff --git a/src/main/java/Forms/LoginFormChecker.java b/src/main/java/Forms/LoginFormChecker.java index 713fc4d..fdf9be8 100644 --- a/src/main/java/Forms/LoginFormChecker.java +++ b/src/main/java/Forms/LoginFormChecker.java @@ -14,7 +14,8 @@ import java.util.HashMap; import javax.servlet.http.HttpServletRequest; public class LoginFormChecker { - private static final String NAME_FIELD = "name"; + + private static final String PSEUDO_FIELD = "pseudo"; private static final String PWD_FIELD = "pwd"; private final HttpServletRequest request; @@ -27,24 +28,30 @@ public class LoginFormChecker { } public boolean checkForm() { - String name = request.getParameter(NAME_FIELD); + String pseudo = request.getParameter(PSEUDO_FIELD); String pwd = request.getParameter(PWD_FIELD); - if (name == null || name.isEmpty()) { - errors.put(NAME_FIELD, "Le nom d'utilisateur est requis"); - } + boolean isFormOK = true; - if (pwd == null || pwd.isEmpty()) { - errors.put(PWD_FIELD, "Le mot de passe est requis"); + if (pseudo == null || pseudo.trim().length() < 3) { + errors.put(PSEUDO_FIELD, "Doit faire au moins 3 caractères"); + isFormOK = false; } - if (errors.isEmpty()) { - // Si les champs sont valides, on peut créer l'utilisateur - user = new User(name, pwd); - return true; - } else { - return false; + if (pwd.length() < 6) { + errors.put(PWD_FIELD, "Doit faire au moins 6 caractères"); + isFormOK = false; } + +// if (errors.isEmpty()) { +// // Si les champs sont valides, on peut créer l'utilisateur +// user = new User(pseudo, pwd); +// // isFormOK = true +// return true; +// } else { +// return false; +// } + return isFormOK; } public HashMap getErrors() { @@ -54,5 +61,12 @@ public class LoginFormChecker { public User getUser() { return user; } + + private String getParameter(String field){ + if(request.getParameter(field) == null || request.getParameter(field).trim().length() == 0) { + return null; + } else { + return request.getParameter(field).trim(); + } + } } - diff --git a/src/main/java/Forms/SigninFormChecker.java b/src/main/java/Forms/SigninFormChecker.java index b703b23..f247053 100644 --- a/src/main/java/Forms/SigninFormChecker.java +++ b/src/main/java/Forms/SigninFormChecker.java @@ -9,6 +9,7 @@ package Forms; * * @author stag */ +import fr.ldnr.beans.User; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; @@ -21,6 +22,7 @@ public class SigninFormChecker { private final HttpServletRequest request; private final HashMap errors; + private User user; public SigninFormChecker(HttpServletRequest request) { this.request = request; @@ -34,7 +36,9 @@ public class SigninFormChecker { String password = request.getParameter(PWD_FIELD); String confirmPassword = request.getParameter(CONFIRM_PWD_FIELD); String pseudo = request.getParameter(PSEUDO_FIELD); + user = new User(email, pseudo, password); + //traitement de la saisie email = pas necessaire if (email == null || email.trim().isEmpty()) { errors.put(EMAIL_FIELD, "L'adresse email est obligatoire."); isValid = false; @@ -73,5 +77,17 @@ public class SigninFormChecker { public HashMap getErrors() { return errors; } -} + private String getParameter(String field) { + if (request.getParameter(field) == null || request.getParameter(field).trim().length() == 0) { + return null; + } else { + return request.getParameter(field).trim(); + } + } + + public User getUser() { + return user; + } + +} diff --git a/src/main/java/fr/ldnr/beans/User.java b/src/main/java/fr/ldnr/beans/User.java index a4e95fb..6fc6778 100644 --- a/src/main/java/fr/ldnr/beans/User.java +++ b/src/main/java/fr/ldnr/beans/User.java @@ -10,21 +10,48 @@ package fr.ldnr.beans; * @author stag */ public class User { - private String name; + private String id; + private String email; + private String pseudo; private String password; + + public User() { + } + + public User(String id, String email, String pseudo, String password) { + this.id = id; + this.email = email; + this.pseudo = pseudo; + this.password = password; + } + + public User(String email, String pseudo, String password) { + this.email = email; + this.pseudo = pseudo; + this.password = password; + } - public User(String name, String password) { - this.name = name; + + public User(String pseudo, String password) { + this.pseudo = pseudo; this.password = password; } + public String getId() { + return id; + } + // getters and setters - public String getName() { - return name; + public String getEmail() { + return email; } - - public void setName(String name) { - this.name = name; + + public String getPseudo() { + return pseudo; + } + + public void setPseudo(String pseudo) { + this.pseudo = pseudo; } public String getPassword() { @@ -34,4 +61,13 @@ public class User { public void setPassword(String password) { this.password = password; } + + public void setId(String id) { + this.id = id; + } + + public void setEmail(String email) { + this.email = email; + } + } diff --git a/src/main/java/fr/ldnr/servelets/Home.java b/src/main/java/fr/ldnr/servelets/Home.java index aa53d4c..f380163 100644 --- a/src/main/java/fr/ldnr/servelets/Home.java +++ b/src/main/java/fr/ldnr/servelets/Home.java @@ -16,6 +16,8 @@ public class Home extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + // a remplacer par une base de donnees List
articles = new ArrayList<>(); articles.add(new Article("Article 1", "Contenu de l'article 1", "2023-04-27", "Auteur 1")); articles.add(new Article("Article 2", "Contenu de l'article 2", "2023-04-28", "Auteur 2")); @@ -23,7 +25,9 @@ public class Home extends HttpServlet { articles.add(new Article("Article 4", "Contenu de l'article 4", "2023-04-30", "Auteur 4")); request.setAttribute("articles", articles); - request.getRequestDispatcher("/WEB-INF/Home.jsp").forward(request, response); + + request.getRequestDispatcher("/WEB-INF/Home.jsp") + .forward(request, response); } diff --git a/src/main/java/fr/ldnr/servelets/Login.java b/src/main/java/fr/ldnr/servelets/Login.java index 5e9af17..a9c2686 100644 --- a/src/main/java/fr/ldnr/servelets/Login.java +++ b/src/main/java/fr/ldnr/servelets/Login.java @@ -1,12 +1,12 @@ package fr.ldnr.servelets; -import java.io.IOException; -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import Forms.LoginFormChecker; +import java.io.*; +import java.util.*; +import javax.servlet.*; +import javax.servlet.annotation.*; +import javax.servlet.http.*; +import static jdk.internal.org.jline.utils.Log.error; @WebServlet(name = "login", urlPatterns = {"/login"}) public class Login extends HttpServlet { @@ -14,29 +14,23 @@ public class Login extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Login.jsp"); + RequestDispatcher dispatcher = request.getServletContext().getRequestDispatcher("/WEB-INF/Login.jsp"); dispatcher.forward(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String username = request.getParameter("username"); - String password = request.getParameter("password"); - boolean authenticated = false; - - if (username.equals("admin") && password.equals("12345")) { - authenticated = true; + LoginFormChecker checker = new LoginFormChecker(request); + if (!checker.checkForm()) { + request.setAttribute("errors", checker.getErrors()); + request.setAttribute("userData", checker.getUser()); + request.getServletContext() + .getRequestDispatcher("/WEB-INF/Login.jsp") + .forward(request, response); } else { - authenticated = false; - } - - if (authenticated) { response.sendRedirect(request.getContextPath() + "/home"); - } else { - request.setAttribute("errorMessage", "Invalid username or password"); - RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Login.jsp"); - dispatcher.forward(request, response); + } } diff --git a/src/main/java/fr/ldnr/servelets/Logout.java b/src/main/java/fr/ldnr/servelets/Logout.java new file mode 100644 index 0000000..e17884f --- /dev/null +++ b/src/main/java/fr/ldnr/servelets/Logout.java @@ -0,0 +1,41 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package fr.ldnr.servelets; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author stag + */ +@WebServlet(name = "Logout", urlPatterns = {"/logout"}) +public class Logout extends HttpServlet { + + // + /** + * Handles the HTTP GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + //invalidation + request.getSession().invalidate(); + //redirection vers accueil + response.sendRedirect(request.getContextPath() + "/home"); + } + +} diff --git a/src/main/java/fr/ldnr/servelets/Signin.java b/src/main/java/fr/ldnr/servelets/Signin.java index 7c78a7f..a5bc2a8 100644 --- a/src/main/java/fr/ldnr/servelets/Signin.java +++ b/src/main/java/fr/ldnr/servelets/Signin.java @@ -1,5 +1,6 @@ package fr.ldnr.servelets; +import Forms.SigninFormChecker; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; @@ -7,6 +8,7 @@ import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import static sun.security.krb5.KrbException.errorMessage; @WebServlet(name = "sign-in", urlPatterns = {"/sign-in"}) public class Signin extends HttpServlet { @@ -26,34 +28,17 @@ public class Signin extends HttpServlet { String confirmPassword = request.getParameter("confirmPassword"); String pseudo = request.getParameter("pseudo"); + SigninFormChecker checker = new SigninFormChecker(request); boolean authenticated = false; - String errorMessage = ""; - - if (!email.contains("@")) { - errorMessage = "Adresse email invalide."; - } - else if (pseudo.length() < 3) { - errorMessage = "Le pseudo doit contenir au moins 3 caractères."; - } - else if (password.length() < 6) { - errorMessage = "Le mot de passe doit contenir au moins 6 caractères."; - } - else if (!password.equals(confirmPassword)) { - errorMessage = "Le mot de passe et la confirmation ne sont pas identiques."; - } - else { - authenticated = true; - } - - if (authenticated) { + if (checker.checkForm()) { response.sendRedirect(request.getContextPath() + "/home"); } else { - String script = "alert('" + errorMessage + "');"; - request.setAttribute("errorMessage", errorMessage); - request.setAttribute("script", script); - RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Signin.jsp"); - dispatcher.forward(request, response); + request.setAttribute("errors", checker.getErrors()); + request.setAttribute("userData", checker.getUser()); + request.getServletContext() + .getRequestDispatcher("/WEB-INF/Signin.jsp") + .forward(request, response); } } } diff --git a/src/main/webapp/WEB-INF/Login.jsp b/src/main/webapp/WEB-INF/Login.jsp index 369f1ef..4a2fe01 100644 --- a/src/main/webapp/WEB-INF/Login.jsp +++ b/src/main/webapp/WEB-INF/Login.jsp @@ -1,4 +1,3 @@ -<%@page import="Forms.LoginFormChecker"%> <%@include file="taglibs.jsp" %> <%@page contentType="text/html" pageEncoding="UTF-8"%> @@ -17,17 +16,17 @@
- -
+ + " required>
+ ${errors.pseudo} - -
+ +
+ + ${errors.pwd} - - - - - + + diff --git a/src/main/webapp/WEB-INF/Signin.jsp b/src/main/webapp/WEB-INF/Signin.jsp index c00cfd7..7b5c9c5 100644 --- a/src/main/webapp/WEB-INF/Signin.jsp +++ b/src/main/webapp/WEB-INF/Signin.jsp @@ -1,7 +1,6 @@ <%@include file="taglibs.jsp" %> <%@page contentType="text/html" pageEncoding="UTF-8"%> -<%@page import="Forms.SigninFormChecker" %> @@ -13,40 +12,25 @@ <%@include file="/WEB-INF/jspf/Header.jsp" %>

Page d'inscription

- <%-- Check form and add errors to request attributes --%> - <% - if (request.getMethod().equalsIgnoreCase("post")) { - - SigninFormChecker formChecker = new SigninFormChecker(request); - boolean valid = formChecker.checkForm(); - - if (!valid) { - request.setAttribute("errors", formChecker.getErrors()); - } - } - %> - - <%-- Display form errors --%> - -

Erreurs :

-
    - -
  • ${error.value}
  • -
    -
-
- - <%-- Display the form --%>
- -
- -
- -
- -
+ +
+ ${requestScope.errors.email} + + +
+ ${requestScope.errors.password} + + +
+ ${requestScope.errors.confirmPassword} + + +
+ ${requestScope.errors.pseudo} + +
diff --git a/src/main/webapp/WEB-INF/jspf/Header.jsp b/src/main/webapp/WEB-INF/jspf/Header.jsp index 356d5a3..4503265 100644 --- a/src/main/webapp/WEB-INF/jspf/Header.jsp +++ b/src/main/webapp/WEB-INF/jspf/Header.jsp @@ -51,5 +51,6 @@
  • Home
  • Inscription
  • Connexion
  • +
  • Se deconnecter
  • diff --git a/src/main/webapp/rsc/css/Style.css b/src/main/webapp/rsc/css/Style.css index d9f663e..900e4ab 100644 --- a/src/main/webapp/rsc/css/Style.css +++ b/src/main/webapp/rsc/css/Style.css @@ -10,6 +10,11 @@ form { background: #2B3A42; box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.5); } +.error { + color: red; + font-size: 1.8rem; + font-style: italic; +} h1 { color: #F7DC6F; -- GitLab From b3f7f547186b72024935fa5dfe5d9822cc6219fa Mon Sep 17 00:00:00 2001 From: Ramzi Benmansour Date: Fri, 5 May 2023 00:12:04 +0200 Subject: [PATCH 3/4] Refactorisation des formChecker --- src/main/java/Forms/LoginFormChecker.java | 24 ++----------- src/main/java/Forms/SigninFormChecker.java | 25 ++----------- src/main/java/Forms/UserFormChecker.java | 42 ++++++++++++++++++++++ 3 files changed, 48 insertions(+), 43 deletions(-) create mode 100644 src/main/java/Forms/UserFormChecker.java diff --git a/src/main/java/Forms/LoginFormChecker.java b/src/main/java/Forms/LoginFormChecker.java index fdf9be8..e430897 100644 --- a/src/main/java/Forms/LoginFormChecker.java +++ b/src/main/java/Forms/LoginFormChecker.java @@ -13,18 +13,14 @@ import fr.ldnr.beans.User; import java.util.HashMap; import javax.servlet.http.HttpServletRequest; -public class LoginFormChecker { +public class LoginFormChecker extends UserFormChecker{ private static final String PSEUDO_FIELD = "pseudo"; private static final String PWD_FIELD = "pwd"; - private final HttpServletRequest request; - private final HashMap errors; - private User user; public LoginFormChecker(HttpServletRequest request) { - this.request = request; - errors = new HashMap<>(); + super(request); } public boolean checkForm() { @@ -54,19 +50,5 @@ public class LoginFormChecker { return isFormOK; } - public HashMap getErrors() { - return errors; - } - - public User getUser() { - return user; - } - - private String getParameter(String field){ - if(request.getParameter(field) == null || request.getParameter(field).trim().length() == 0) { - return null; - } else { - return request.getParameter(field).trim(); - } - } + } diff --git a/src/main/java/Forms/SigninFormChecker.java b/src/main/java/Forms/SigninFormChecker.java index f247053..0664de1 100644 --- a/src/main/java/Forms/SigninFormChecker.java +++ b/src/main/java/Forms/SigninFormChecker.java @@ -13,20 +13,15 @@ import fr.ldnr.beans.User; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; -public class SigninFormChecker { +public class SigninFormChecker extends UserFormChecker{ private static final String EMAIL_FIELD = "email"; private static final String PWD_FIELD = "password"; private static final String CONFIRM_PWD_FIELD = "confirmPassword"; private static final String PSEUDO_FIELD = "pseudo"; - private final HttpServletRequest request; - private final HashMap errors; - private User user; - public SigninFormChecker(HttpServletRequest request) { - this.request = request; - errors = new HashMap<>(); + super(request); } public boolean checkForm() { @@ -74,20 +69,6 @@ public class SigninFormChecker { return isValid; } - public HashMap getErrors() { - return errors; - } - - private String getParameter(String field) { - if (request.getParameter(field) == null || request.getParameter(field).trim().length() == 0) { - return null; - } else { - return request.getParameter(field).trim(); - } - } - - public User getUser() { - return user; - } + } diff --git a/src/main/java/Forms/UserFormChecker.java b/src/main/java/Forms/UserFormChecker.java new file mode 100644 index 0000000..b64843d --- /dev/null +++ b/src/main/java/Forms/UserFormChecker.java @@ -0,0 +1,42 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package Forms; + +import fr.ldnr.beans.User; +import java.util.HashMap; +import javax.servlet.http.HttpServletRequest; + +/** + * + * @author stag + */ +public class UserFormChecker { + + protected final HttpServletRequest request; + protected final HashMap errors; + protected User user; + + public UserFormChecker(HttpServletRequest request) { + this.request = request; + errors = new HashMap<>(); + } + + public HashMap getErrors() { + return errors; + } + + private String getParameter(String field) { + if (request.getParameter(field) == null || request.getParameter(field).trim().length() == 0) { + return null; + } else { + return request.getParameter(field).trim(); + } + } + + public User getUser() { + return user; + } +} -- GitLab From 8ee6695343945f161fef6ecd24c059d0a38ab25d Mon Sep 17 00:00:00 2001 From: Ramzi Benmansour Date: Fri, 5 May 2023 00:20:59 +0200 Subject: [PATCH 4/4] Amelioration formChecker --- .../{UserFormChecker.java => FormChecker.java} | 15 +++++++-------- src/main/java/Forms/LoginFormChecker.java | 3 ++- src/main/java/Forms/SigninFormChecker.java | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) rename src/main/java/Forms/{UserFormChecker.java => FormChecker.java} (81%) diff --git a/src/main/java/Forms/UserFormChecker.java b/src/main/java/Forms/FormChecker.java similarity index 81% rename from src/main/java/Forms/UserFormChecker.java rename to src/main/java/Forms/FormChecker.java index b64843d..d6b9b48 100644 --- a/src/main/java/Forms/UserFormChecker.java +++ b/src/main/java/Forms/FormChecker.java @@ -5,7 +5,6 @@ */ package Forms; -import fr.ldnr.beans.User; import java.util.HashMap; import javax.servlet.http.HttpServletRequest; @@ -13,17 +12,17 @@ import javax.servlet.http.HttpServletRequest; * * @author stag */ -public class UserFormChecker { - +public abstract class FormChecker { protected final HttpServletRequest request; protected final HashMap errors; - protected User user; + protected T bean; + - public UserFormChecker(HttpServletRequest request) { + public FormChecker(HttpServletRequest request) { this.request = request; errors = new HashMap<>(); } - + public HashMap getErrors() { return errors; } @@ -36,7 +35,7 @@ public class UserFormChecker { } } - public User getUser() { - return user; + public T getBean() { + return bean; } } diff --git a/src/main/java/Forms/LoginFormChecker.java b/src/main/java/Forms/LoginFormChecker.java index e430897..94a99a3 100644 --- a/src/main/java/Forms/LoginFormChecker.java +++ b/src/main/java/Forms/LoginFormChecker.java @@ -13,7 +13,7 @@ import fr.ldnr.beans.User; import java.util.HashMap; import javax.servlet.http.HttpServletRequest; -public class LoginFormChecker extends UserFormChecker{ +public class LoginFormChecker extends FormChecker{ private static final String PSEUDO_FIELD = "pseudo"; private static final String PWD_FIELD = "pwd"; @@ -26,6 +26,7 @@ public class LoginFormChecker extends UserFormChecker{ public boolean checkForm() { String pseudo = request.getParameter(PSEUDO_FIELD); String pwd = request.getParameter(PWD_FIELD); + bean = new User(pseudo, pwd); boolean isFormOK = true; diff --git a/src/main/java/Forms/SigninFormChecker.java b/src/main/java/Forms/SigninFormChecker.java index 0664de1..ffbca48 100644 --- a/src/main/java/Forms/SigninFormChecker.java +++ b/src/main/java/Forms/SigninFormChecker.java @@ -13,7 +13,7 @@ import fr.ldnr.beans.User; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; -public class SigninFormChecker extends UserFormChecker{ +public class SigninFormChecker extends FormChecker{ private static final String EMAIL_FIELD = "email"; private static final String PWD_FIELD = "password"; @@ -31,7 +31,7 @@ public class SigninFormChecker extends UserFormChecker{ String password = request.getParameter(PWD_FIELD); String confirmPassword = request.getParameter(CONFIRM_PWD_FIELD); String pseudo = request.getParameter(PSEUDO_FIELD); - user = new User(email, pseudo, password); + bean = new User(email, pseudo, password); //traitement de la saisie email = pas necessaire if (email == null || email.trim().isEmpty()) { -- GitLab