From 1270077aef238c730b10992400c1d3437611cc51 Mon Sep 17 00:00:00 2001 From: kmitresse Date: Wed, 1 May 2024 15:17:30 +0200 Subject: [PATCH] refacto: devWeb - remove max warning as possible (back) --- .../src/main/java/uppa/project/Global.java | 2 - .../project/bean/ForgottenPasswordBean.java | 30 ++++++++-- .../java/uppa/project/bean/LoginBean.java | 39 ++++++++++--- .../java/uppa/project/bean/NewGameBean.java | 45 ++++++++++++++ .../java/uppa/project/bean/PlayerBean.java | 10 ++++ .../java/uppa/project/bean/ProfileBean.java | 58 ++++++++++++++++--- .../java/uppa/project/bean/RegisterBean.java | 44 +++++++++++--- .../uppa/project/bean/ResetPasswordBean.java | 29 +++++++--- .../SessionServletContextListener.java | 27 --------- .../web/servlet/ForgottenPasswordServlet.java | 31 +++++----- .../uppa/project/web/servlet/GameServlet.java | 9 ++- .../web/servlet/GameStatisticsServlet.java | 10 +++- .../project/web/servlet/IndexServlet.java | 8 +++ .../project/web/servlet/LobbyServlet.java | 8 +++ .../project/web/servlet/LoginServlet.java | 15 +++++ .../project/web/servlet/LogoutServlet.java | 12 ++-- .../project/web/servlet/NewGameServlet.java | 15 +++++ .../project/web/servlet/ProfileServlet.java | 20 ++++++- .../project/web/servlet/RegisterServlet.java | 16 ++++- .../web/servlet/ResetPasswordServlet.java | 23 ++++++-- .../project/web/servlet/RulesServlet.java | 10 ++++ .../Projet/src/main/webapp/WEB-INF/web.xml | 6 -- 22 files changed, 362 insertions(+), 105 deletions(-) delete mode 100644 S2/DevWeb/Projet/src/main/java/uppa/project/listener/SessionServletContextListener.java diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/Global.java b/S2/DevWeb/Projet/src/main/java/uppa/project/Global.java index d926446..619fa5f 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/Global.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/Global.java @@ -4,8 +4,6 @@ public final class Global { public static final String APP_NAME = "Cards Rush"; public static final String PERSISTENCE_UNIT_NAME = "prod"; - public static final String PERSISTENCE_UNIT_NAME_TEST = "test"; - public static final String TOMCAT_PORT = "8088"; public static final String MAIL_USERNAME = "cardsrushuppa@gmail.com"; public static final String MAIL_PASSWORD = "aktr zity mayw kvek"; public static final String MAIL_PORT = "587"; diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ForgottenPasswordBean.java b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ForgottenPasswordBean.java index b32aded..402501f 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ForgottenPasswordBean.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ForgottenPasswordBean.java @@ -1,5 +1,12 @@ +/* + * ForgottenPasswordBeen.java, 20/03/2024 + * UPPA M1 TI 2023-2024 + * Pas de copyright, aucun droits + */ + package uppa.project.bean; +import java.io.Serial; import java.io.Serializable; import java.util.Properties; import java.util.UUID; @@ -22,6 +29,7 @@ import static uppa.project.web.servlet.ForgottenPasswordServlet.CreateToken; public class ForgottenPasswordBean implements Serializable { + @Serial private static final long serialVersionUID = 1L; private String email; @@ -29,10 +37,12 @@ public class ForgottenPasswordBean implements Serializable { public ForgottenPasswordBean() { } - public ForgottenPasswordBean(String email) { - this.email = email; - } - + /** + * Validation des paramètres de la requête & gestion de la création du token de réinitialisation de mot de passe + * + * @param requestPath le chemin de la requête + * @return true si l'adresse e-mail est valide, false sinon + */ public boolean validate(String requestPath) { Game_JPA_DAO_Factory factory = new Game_JPA_DAO_Factory(); @@ -53,12 +63,22 @@ public class ForgottenPasswordBean implements Serializable { return false; } - + /** + * + * @param email l'adresse e-mail supposée de l'utilisateur ayant oublié son mot de passe. + * @return this + */ public ForgottenPasswordBean setEmail(String email) { this.email = email; return this; } + /** + * Création et envoi d'un token de réinitialisation de mot de passe + * + * @param user l'utilisateur ayant oublié son mot de passe + * @param requestPath le chemin de la requête + */ private void sendTokenEmail(User user, String requestPath) { String token = UUID.randomUUID().toString(); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/LoginBean.java b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/LoginBean.java index 71d8b8f..ca13302 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/LoginBean.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/LoginBean.java @@ -1,5 +1,12 @@ +/* + * LoginBean.java, 20/03/2024 + * UPPA M1 TI 2023-2024 + * Pas de copyright, aucun droits + */ + package uppa.project.bean; +import java.io.Serial; import java.io.Serializable; import uppa.project.database.dao.DAO; import uppa.project.database.dao.DAOException; @@ -10,22 +17,20 @@ import uppa.project.json.HttpResponseCode; public class LoginBean implements Serializable { + @Serial private static final long serialVersionUID = 1L; - private String username; private String password; private User user; - private HttpResponse error; - public LoginBean() { } - public LoginBean(String username, String password) { - this.username = username; - this.password = password; - } - + /** + * Validation des paramètres de la requête + * + * @return true si le nom d'utilisateur et le mot de passe sont valides, false sinon + */ public boolean validate() { Game_JPA_DAO_Factory factory = new Game_JPA_DAO_Factory(); @@ -49,20 +54,38 @@ public class LoginBean implements Serializable { return false; } + /** + * + * @param username le nom d'utilisateur supposé de l'utilisateur qui souhaite se connecter + * @return l'entité + */ public LoginBean setUsername(String username) { this.username = username; return this; } + /** + * + * @param password le mot de passe supposé de l'utilisateur qui souhaite se connecter + * @return l'entité + */ public LoginBean setPassword(String password) { this.password = password; return this; } + /** + * + * @return l'utilisateur connecté + */ public User getUser() { return user; } + /** + * + * @return l'erreur + */ public HttpResponse getError() { return error; } diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/NewGameBean.java b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/NewGameBean.java index 28427ac..92162e2 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/NewGameBean.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/NewGameBean.java @@ -1,6 +1,12 @@ +/* + * NewGameBean.java, 20/03/2024 + * UPPA M1 TI 2023-2024 + * Pas de copyright, aucun droits + */ package uppa.project.bean; import jakarta.persistence.EntityManager; +import java.io.Serial; import java.io.Serializable; import uppa.project.database.dao.DAO; import uppa.project.database.dao.DAOException; @@ -12,6 +18,7 @@ import uppa.project.json.HttpResponseCode; public class NewGameBean implements Serializable { + @Serial private static final long serialVersionUID = 1L; private String difficulty; @@ -27,6 +34,11 @@ public class NewGameBean implements Serializable { public NewGameBean() { } + /** + * Validation des paramètres de la requête + * + * @return true si les paramètres sont valides, false sinon + */ public boolean validate() { EntityManager entityManager = EntityManagerProvider.getInstance(); @@ -55,35 +67,68 @@ public class NewGameBean implements Serializable { return false; } + /** + * + * @param difficulty la difficulté de la partie + * @return l'entité + */ public NewGameBean setDifficulty(String difficulty) { this.difficulty = difficulty; return this; } + /** + * + * @param nbRounds le nombre de tours de la partie + * @return l'entité + */ public NewGameBean setNbRounds(String nbRounds) { this.nbRounds = nbRounds; return this; } + /** + * + * @param timer le temps de jeu de la partie + * @return l'entité + */ public NewGameBean setTimer(String timer) { this.timer = timer; return this; } + /** + * + * @param nbValues le nombre de valeurs de la partie + * @return l'entité + */ public NewGameBean setNbValues(String nbValues) { this.nbValues = nbValues; return this; } + /** + * + * @param nbColors le nombre de couleurs de la partie + * @return l'entité + */ public NewGameBean setNbColors(String nbColors) { this.nbColors = nbColors; return this; } + /** + * + * @return la partie créée + */ public Game getGame() { return game; } + /** + * + * @return l'erreur + */ public HttpResponse getError() { return error; } diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/PlayerBean.java b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/PlayerBean.java index 7eafc51..25722cf 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/PlayerBean.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/PlayerBean.java @@ -1,3 +1,8 @@ +/* + * PlayerBean.java, 1/05/2024 + * UPPA M1 TI 2023-2024 + * Pas de copyright, aucun droits + */ package uppa.project.bean; import jakarta.persistence.EntityManager; @@ -14,6 +19,11 @@ public class PlayerBean { this.player = player; } + /** + * Gestion des joueurs de la parties + * + * @return true si tous les joueurs sont gérés, false sinon + */ public boolean validate(){ EntityManager em = EntityManagerProvider.getInstance(); em.getTransaction().begin(); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ProfileBean.java b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ProfileBean.java index 3b88982..aeb21e1 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ProfileBean.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ProfileBean.java @@ -1,3 +1,8 @@ +/* + * ProfileBean.java, 01/05/2024 + * UPPA M1 TI 2023-2024 + * Pas de copyright, aucun droits + */ package uppa.project.bean; import jakarta.persistence.EntityManager; @@ -21,15 +26,11 @@ public class ProfileBean { public ProfileBean() {} - public ProfileBean(String username,String oldEmail, String email, String oldPassword, String password, String gender) { - this.id = username; - this.oldEmail = oldEmail; - this.email = email; - this.oldPassword = oldPassword; - this.password = password; - this.gender = gender; - } - +/** + * Validation des paramètres de la requête & mise à jour des informations de l'utilisateur + * + * @return true si les paramètres sont valides, false sinon + */ public boolean validate() { EntityManager entityManager = EntityManagerProvider.getInstance(); entityManager.getTransaction().begin(); @@ -78,39 +79,78 @@ public class ProfileBean { } } + /** + * + * @param id l'identifiant de l'utilisateur + * @return l'entité + */ public ProfileBean setId(String id) { this.id = id; return this; } + /** + * + * @param email l'adresse e-mail actuelle de l'utilisateur + * @return l'entité + */ public ProfileBean setOldEmail(String email) { this.oldEmail = email; return this; } + + /** + * + * @param email la nouvelle adresse e-mail de l'utilisateur + * @return l'entité + */ public ProfileBean setEmail(String email) { this.email = email; return this; } + /** + * + * @param oldPassword l'ancien mot de passe de l'utilisateur + * @return l'entité + */ public ProfileBean setOldPassword(String oldPassword) { this.oldPassword = oldPassword; return this; } + /** + * + * @param password le nouveau mot de passe de l'utilisateur + * @return l'entité + */ public ProfileBean setPassword(String password) { this.password = password; return this; } + /** + * + * @param gender le genre de l'utilisateur + * @return l'entité + */ public ProfileBean setGender(String gender) { this.gender = gender; return this; } + /** + * + * @return l'erreur + */ public HttpResponse getError() { return error; } + /** + * + * @return l'utilisateur + */ public User getUser() { return user; } diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/RegisterBean.java b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/RegisterBean.java index c2ddc3b..852f231 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/RegisterBean.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/RegisterBean.java @@ -1,6 +1,7 @@ package uppa.project.bean; import jakarta.persistence.EntityManager; +import java.io.Serial; import java.io.Serializable; import java.time.LocalDate; import java.time.ZoneId; @@ -15,6 +16,7 @@ import uppa.project.json.HttpResponseCode; public class RegisterBean implements Serializable { + @Serial private static final long serialVersionUID = 1L; private String username; @@ -28,14 +30,11 @@ public class RegisterBean implements Serializable { public RegisterBean() { } - public RegisterBean(String username, String email, String password, String birth, String gender) { - this.username = username; - this.email = email; - this.password = password; - this.birth = birth; - this.gender = gender; - } - + /** + * Validation des paramètres de la requête & création d'un nouvel utilisateur + * + * @return true si les paramètres sont valides, false sinon + */ public boolean validate() { Game_JPA_DAO_Factory jpaDaoFactory = new Game_JPA_DAO_Factory(); DAO userDAO; @@ -100,31 +99,60 @@ public class RegisterBean implements Serializable { return false; } + /** + * + * @param username le nom d'utilisateur + * @return l'entité + */ public RegisterBean setUsername(String username) { this.username = username; return this; } + /** + * + * @param password le mot de passe + * @return l'entité + */ public RegisterBean setPassword(String password) { this.password = password; return this; } + /** + * + * @param email l'adresse e-mail + * @return l'entité + */ public RegisterBean setEmail(String email) { this.email = email; return this; } + /** + * + * @param birth la date de naissance + * @return l'entité + */ public RegisterBean setBirth(String birth) { this.birth = birth; return this; } + /** + * + * @param gender le genre de l'utilisateur + * @return l'entité + */ public RegisterBean setGender(String gender) { this.gender = gender; return this; } + /** + * + * @return l'erreur + */ public HttpResponse getError() { return error; } diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ResetPasswordBean.java b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ResetPasswordBean.java index 6fcf21e..a49e6b9 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ResetPasswordBean.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/bean/ResetPasswordBean.java @@ -1,10 +1,8 @@ package uppa.project.bean; import jakarta.persistence.EntityManager; +import java.io.Serial; import java.io.Serializable; -import java.time.LocalDate; -import java.time.ZoneId; -import java.util.Date; import uppa.project.database.dao.DAO; import uppa.project.database.dao.DAOException; import uppa.project.database.dao.EntityManagerProvider; @@ -14,6 +12,7 @@ import uppa.project.database.pojo.User; public class ResetPasswordBean implements Serializable { + @Serial private static final long serialVersionUID = 1L; private String token; @@ -23,11 +22,11 @@ public class ResetPasswordBean implements Serializable { public ResetPasswordBean() { } - public ResetPasswordBean(String token, String password) { - this.token = token; - this.password = password; - } - + /** + * Validation des paramètres de la requête & gestion de la réinitialisation du mot de passe + * + * @return true si le token est valide, false sinon + */ public boolean validate() { Game_JPA_DAO_Factory jpaDaoFactory = new Game_JPA_DAO_Factory(); DAO userDAO; @@ -66,16 +65,30 @@ public class ResetPasswordBean implements Serializable { return true; } + /** + * + * @param token le token de réinitialisation de mot de passe + * @return this + */ public ResetPasswordBean setToken(String token) { this.token = token; return this; } + /** + * + * @param password le nouveau mot de passe + * @return this + */ public ResetPasswordBean setPassword(String password) { this.password = password; return this; } + /** + * + * @return le message d'erreur + */ public String getErrorMessage() { return errorMessage; } diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/listener/SessionServletContextListener.java b/S2/DevWeb/Projet/src/main/java/uppa/project/listener/SessionServletContextListener.java deleted file mode 100644 index 28a0028..0000000 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/listener/SessionServletContextListener.java +++ /dev/null @@ -1,27 +0,0 @@ -package uppa.project.listener; - -import jakarta.servlet.ServletContextEvent; -import jakarta.servlet.ServletContextListener; -import jakarta.servlet.http.HttpSession; -import java.util.HashSet; -import java.util.Set; - -public class SessionServletContextListener implements ServletContextListener { - public void contextInitialized(ServletContextEvent event){ - Set logins = new HashSet(); - event.getServletContext().setAttribute("loginSession", logins); - } - - public static void addSession(HttpSession session){ - Set logins = (Set) session.getServletContext().getAttribute("loginSession"); - logins.add(session); - } - - public static void removeSession(HttpSession session){ - Set logins = (Set) session.getServletContext().getAttribute("loginSession"); - logins.remove(session); - } - - public void contextDestroyed(ServletContextEvent event){} -} - diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ForgottenPasswordServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ForgottenPasswordServlet.java index 55a9677..dfbac38 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ForgottenPasswordServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ForgottenPasswordServlet.java @@ -32,6 +32,14 @@ public class ForgottenPasswordServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page de réinitialisation de mot de passe + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.setAttribute("current", "forgotten-password"); request.getRequestDispatcher("/WEB-INF/pages/forgotten-password.jsp").forward(request, response); @@ -40,9 +48,9 @@ public class ForgottenPasswordServlet extends HttpServlet { /** * Gestion de la réinitialisation de mot de passe * - * @param request - * @param response - * @throws IOException + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("application/json"); @@ -67,18 +75,11 @@ public class ForgottenPasswordServlet extends HttpServlet { out.flush(); } - public static User getUserByEmail(String email){ - try { - DAO_JPA_User daoJpaUser = new DAO_JPA_User(); - User[] users = daoJpaUser.findByField("email", email); - if (users.length == 0) { - return null; - } - return users[0]; - } catch (DAOException e) { - throw new RuntimeException(e); - } - } + /** + * Création d'un token de réinitialisation de mot de passe + * + * @param token le token + */ public static void CreateToken(RecoveryPasswordToken token){ Game_JPA_DAO_Factory jpaDaoFactory = new Game_JPA_DAO_Factory(); em.getTransaction().begin(); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameServlet.java index f587bd1..d80e0d9 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameServlet.java @@ -14,7 +14,6 @@ import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import uppa.project.database.dao.DAO; import uppa.project.database.dao.DAOException; -import uppa.project.database.dao.jpa.DAO_JPA_Game; import uppa.project.database.dao.jpa.Game_JPA_DAO_Factory; import uppa.project.database.pojo.Game; @@ -24,6 +23,14 @@ public class GameServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page de jeu + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { DAO gameDAO = new Game_JPA_DAO_Factory().getDAOGame(); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameStatisticsServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameStatisticsServlet.java index e4e61b3..71ee330 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameStatisticsServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameStatisticsServlet.java @@ -18,13 +18,21 @@ public class GameStatisticsServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page de statistiques de jeu + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { Game game; try { DAO gameDAO = new Game_JPA_DAO_Factory().getDAOGame(); game = gameDAO.findById(Integer.parseInt(request.getParameter("id"))); ArrayList players = new ArrayList<>(); - for (Player player : game.getPlayers()) players.add(player); + players.addAll(game.getPlayers()); request.setAttribute("players", players); request.setAttribute("game", game); request.getRequestDispatcher("/WEB-INF/pages/game-statistics.jsp").forward(request, response); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/IndexServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/IndexServlet.java index 80ee750..6d0141e 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/IndexServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/IndexServlet.java @@ -19,6 +19,14 @@ public class IndexServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page d'accueil + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.setAttribute("current", "index"); request.getRequestDispatcher("/WEB-INF/pages/index.jsp").forward(request, response); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LobbyServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LobbyServlet.java index a2ba6e9..221c6b0 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LobbyServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LobbyServlet.java @@ -26,6 +26,14 @@ public class LobbyServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page de lobby + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.getRequestDispatcher("/WEB-INF/pages/lobby.jsp").forward(request, response); } diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LoginServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LoginServlet.java index 39cb9d3..f1e8d03 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LoginServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LoginServlet.java @@ -24,11 +24,26 @@ public class LoginServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page de connexion + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.setAttribute("current", "login"); request.getRequestDispatcher("/WEB-INF/pages/login.jsp").forward(request, response); } + /** + * Gestion de la connexion + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LogoutServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LogoutServlet.java index 38c4aa1..bd1ce47 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LogoutServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/LogoutServlet.java @@ -6,24 +6,26 @@ package uppa.project.web.servlet; -import com.google.gson.Gson; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; -import uppa.project.listener.SessionServletContextListener; @WebServlet(name = "logoutServlet", value = "/logout") public class LogoutServlet extends HttpServlet { - private final Gson gson = new Gson(); - public void init() { } + /** + * Déconnexion de l'utilisateur + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - SessionServletContextListener.removeSession(request.getSession()); request.getSession().removeAttribute("user"); response.sendRedirect(request.getContextPath() + "/login"); } diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/NewGameServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/NewGameServlet.java index b07086e..ca9e7c2 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/NewGameServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/NewGameServlet.java @@ -25,10 +25,25 @@ public class NewGameServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page de création de partie + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.getRequestDispatcher("/WEB-INF/pages/new-game.jsp").forward(request, response); } + /** + * Création d'une nouvelle partie + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { Gson gson = new Gson(); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ProfileServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ProfileServlet.java index e8bf11c..f7aa607 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ProfileServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ProfileServlet.java @@ -29,9 +29,17 @@ public class ProfileServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page de profil + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { User usersession = (User) request.getSession().getAttribute("user"); - DAO userDAO = null; + DAO userDAO; try { userDAO = new Game_JPA_DAO_Factory().getDAOUser(); User user = userDAO.findById(usersession.getId().intValue()); @@ -39,15 +47,21 @@ public class ProfileServlet extends HttpServlet { System.out.println("Partie jouée le " + p.getGame().getCreatedAt().toLocaleString()); } request.getSession().setAttribute("user", user); -// request.setAttribute("current", "profile"); request.getRequestDispatcher("/WEB-INF/pages/profile.jsp").forward(request, response); } catch (DAOException e) { - System.out.println(e); + System.out.println(e.getMessage()); response.sendRedirect(request.getContextPath() + "/lobby"); } } + /** + * Gestion de la modification de profil + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/RegisterServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/RegisterServlet.java index 6b68a8d..d5b9592 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/RegisterServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/RegisterServlet.java @@ -14,7 +14,6 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; -import uppa.project.bean.LoginBean; import uppa.project.bean.RegisterBean; import uppa.project.json.HttpResponse; import uppa.project.json.HttpResponseCode; @@ -25,11 +24,26 @@ public class RegisterServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page d'inscription + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.setAttribute("current", "register"); request.getRequestDispatcher("/WEB-INF/pages/register.jsp").forward(request, response); } + /** + * Gestion de l'inscription + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ResetPasswordServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ResetPasswordServlet.java index b582d5a..e97403a 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ResetPasswordServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/ResetPasswordServlet.java @@ -8,13 +8,10 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; -import uppa.project.bean.RegisterBean; import uppa.project.bean.ResetPasswordBean; import uppa.project.database.dao.DAOException; import uppa.project.database.dao.jpa.DAO_JPA_RecoveryPasswordToken; -import uppa.project.database.dao.jpa.DAO_JPA_User; import uppa.project.database.pojo.RecoveryPasswordToken; -import uppa.project.database.pojo.User; import uppa.project.json.HttpResponse; import uppa.project.json.HttpResponseCode; @@ -23,6 +20,14 @@ public class ResetPasswordServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page de réinitialisation de mot de passe + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { RecoveryPasswordToken token = findRecoveryToken(request.getParameter("token")); if (token == null) { @@ -40,9 +45,9 @@ public class ResetPasswordServlet extends HttpServlet { /** * Gestion de la réinitialisation de mot de passe * - * @param request - * @param response - * @throws IOException + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("application/json"); @@ -69,6 +74,12 @@ public class ResetPasswordServlet extends HttpServlet { out.flush(); } + /** + * Recherche d'un token de réinitialisation de mot de passe + * + * @param token le token + * @return le token de réinitialisation de mot de passe + */ public static RecoveryPasswordToken findRecoveryToken(String token) { try { DAO_JPA_RecoveryPasswordToken daoJpaRecoveryPasswordToken = new DAO_JPA_RecoveryPasswordToken(); diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/RulesServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/RulesServlet.java index 8341469..c263b7f 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/RulesServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/RulesServlet.java @@ -12,7 +12,17 @@ public class RulesServlet extends HttpServlet { public void init() { } + /** + * Affichage de la page des règles + * + * @param request la requête + * @param response la réponse + * @throws IOException si une erreur d'entrée/sortie survient + * @throws ServletException si une erreur de servlet survient + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.getRequestDispatcher("/WEB-INF/pages/rules.jsp").forward(request, response); } + public void destroy() { + } } diff --git a/S2/DevWeb/Projet/src/main/webapp/WEB-INF/web.xml b/S2/DevWeb/Projet/src/main/webapp/WEB-INF/web.xml index a71d39c..2e20efa 100644 --- a/S2/DevWeb/Projet/src/main/webapp/WEB-INF/web.xml +++ b/S2/DevWeb/Projet/src/main/webapp/WEB-INF/web.xml @@ -3,12 +3,6 @@ xmlns="https://jakarta.ee/xml/ns/jakartaee" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" version="5.0"> - - - uppa.project.listener.SessionServletContextListener - - - AuthenticationFilter uppa.project.web.filter.AuthenticationFilter