mirror of
https://github.com/kmitresse/Cards-Rush.git
synced 2026-05-13 17:11:49 +00:00
refacto: devWeb - remove max warning as possible (back)
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<User> 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;
|
||||
}
|
||||
|
||||
@@ -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<User> 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;
|
||||
}
|
||||
|
||||
-27
@@ -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<HttpSession> logins = new HashSet<HttpSession>();
|
||||
event.getServletContext().setAttribute("loginSession", logins);
|
||||
}
|
||||
|
||||
public static void addSession(HttpSession session){
|
||||
Set<HttpSession> logins = (Set<HttpSession>) session.getServletContext().getAttribute("loginSession");
|
||||
logins.add(session);
|
||||
}
|
||||
|
||||
public static void removeSession(HttpSession session){
|
||||
Set<HttpSession> logins = (Set<HttpSession>) session.getServletContext().getAttribute("loginSession");
|
||||
logins.remove(session);
|
||||
}
|
||||
|
||||
public void contextDestroyed(ServletContextEvent event){}
|
||||
}
|
||||
|
||||
+16
-15
@@ -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();
|
||||
|
||||
@@ -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<Game> gameDAO = new Game_JPA_DAO_Factory().getDAOGame();
|
||||
|
||||
@@ -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<Game> gameDAO = new Game_JPA_DAO_Factory().getDAOGame();
|
||||
game = gameDAO.findById(Integer.parseInt(request.getParameter("id")));
|
||||
ArrayList<Player> 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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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<User> userDAO = null;
|
||||
DAO<User> 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");
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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() {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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">
|
||||
<listener>
|
||||
<listener-class>
|
||||
uppa.project.listener.SessionServletContextListener
|
||||
</listener-class>
|
||||
</listener>
|
||||
|
||||
<filter>
|
||||
<filter-name>AuthenticationFilter</filter-name>
|
||||
<filter-class>uppa.project.web.filter.AuthenticationFilter</filter-class>
|
||||
|
||||
Reference in New Issue
Block a user