diff --git a/WEB-INF/src/controleur/MessageController.java b/WEB-INF/src/controleur/MessageController.java index c9fac8bbb58b43e25b45cd64781c64c0511f91b8..d4dced676bfe5a31c6b0fa075a79b3b665364b68 100644 --- a/WEB-INF/src/controleur/MessageController.java +++ b/WEB-INF/src/controleur/MessageController.java @@ -40,7 +40,7 @@ public class MessageController extends HttpServlet { vue = "thread?action=open&id=" + idThread; } catch (NumberFormatException exception){ req.setAttribute("error", "Ne changez pas l'url vous même!"); - vue = "/WEB-INF/error.jsp"; + vue = "/WEB-INF/vue/error.jsp"; } break; @@ -64,7 +64,8 @@ public class MessageController extends HttpServlet { } break; default: - vue = ""; + req.setAttribute("error", "Ne changez pas l'url vous même!"); + vue = "/WEB-INF/vue/error.jsp"; } req.getRequestDispatcher(vue).forward(req, resp); } diff --git a/WEB-INF/src/controleur/Navigation.java b/WEB-INF/src/controleur/Navigation.java index 0ac09ab6dec4a5bc5ade7261a926f9ea9185dcb9..d46b0792851053ad768b7d52bafce3f7031b475e 100644 --- a/WEB-INF/src/controleur/Navigation.java +++ b/WEB-INF/src/controleur/Navigation.java @@ -13,35 +13,39 @@ public class Navigation extends HttpServlet{ @Override public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String page = (String) req.getParameter("page"); - String vue; - // vérification de l'authentification - if(req.getSession().getAttribute("username") == null && !page.equals("signin")){ + if(req.getSession().getAttribute("username") == null && !page.equals("signin")) { resp.sendRedirect("index.html"); - } else { - switch (page){ - case "fils": - vue = "WEB-INF/vue/fils.jsp"; - break; - case "signin": - vue = "WEB-INF/vue/signin.jsp"; - break; - case "login": - vue = "WEB-INF/vue/login.jsp"; - break; - case "compte": - vue = "WEB-INF/vue/compte.jsp"; - break; - case "filsSuivis": - vue = "WEB-INF/vue/filsSuivis.jsp"; - break; - case "creerFil": - vue = "WEB-INF/vue/creerFil.jsp"; - break; - default: - vue = "WEB-INF/vue/accueil.jsp"; - } - req.getRequestDispatcher(vue).forward(req, resp); + return; } + + String vue; + + switch (page){ + case "fils": + vue = "WEB-INF/vue/fils.jsp"; + break; + case "signin": + vue = "WEB-INF/vue/signin.jsp"; + break; + case "login": + vue = "WEB-INF/vue/login.jsp"; + break; + case "compte": + vue = "WEB-INF/vue/compte.jsp"; + break; + case "filsSuivis": + vue = "WEB-INF/vue/filsSuivis.jsp"; + break; + case "creerFil": + vue = "WEB-INF/vue/creerFil.jsp"; + break; + default: + req.setAttribute("error", "Ne changez pas l'url vous même!"); + req.getRequestDispatcher("/WEB-INF/vue/error.jsp"); + return; + } + req.getRequestDispatcher(vue).forward(req, resp); + } } \ No newline at end of file diff --git a/WEB-INF/src/controleur/ThreadController.java b/WEB-INF/src/controleur/ThreadController.java index ccb0f863e030b870cff25d78aa7a6644eac97d60..68c197a858cb36cc2816781f67d94123fc72cbd6 100644 --- a/WEB-INF/src/controleur/ThreadController.java +++ b/WEB-INF/src/controleur/ThreadController.java @@ -27,17 +27,35 @@ public class ThreadController extends HttpServlet { String vue; DaoFollower daoFollower = new DaoFollower(); DaoThread daoThread = new DaoThread(); + + int idThread; + if (req.getParameter("id") == null) idThread = -1; + else { + // Vérifie que l'id mis est bien un int (au cas où il a été changé à la main + try { + idThread = Integer.parseInt(req.getParameter("id")); + }catch (NumberFormatException e) { + req.setAttribute("error", "Ne changez pas l'url vous même!"); + vue = "WEB-INF/vue/error.jsp"; + req.getRequestDispatcher(vue).forward(req, resp); + return; + } + } - if(req.getParameter("id") == null) idThread = -1; - else idThread = Integer.parseInt(req.getParameter("id")); + if(daoThread.findById(idThread) == null){ + req.setAttribute("error", "Ne changez pas l'url vous même!"); + req.getRequestDispatcher("/WEB-INF/vue/error.jsp"); + return; + } Follower follow = new Follower(username, idThread); switch (action){ case "follow": if(daoFollower.checkFollowerExist(follow)){ - resp.sendRedirect("index.html"); + req.setAttribute("error", "Vous suivez déjà ce fils"); + req.getRequestDispatcher("/WEB-INF/vue/error.jsp"); return ; } daoFollower.create(follow); @@ -66,7 +84,9 @@ public class ThreadController extends HttpServlet { vue = "WEB-INF/vue/chat.jsp?id=" + idThread; break; default: - vue = "WEB-INF/vue/fils.jsp"; + req.setAttribute("error", "Ne changez pas l'url vous même!"); + req.getRequestDispatcher("/WEB-INF/vue/error.jsp"); + return; } req.getRequestDispatcher(vue).forward(req, resp); }