diff --git a/WEB-INF/src/controleur/MessageController.java b/WEB-INF/src/controleur/MessageController.java new file mode 100644 index 0000000000000000000000000000000000000000..998bc4e34aa60195cb09c7371356984077be5310 --- /dev/null +++ b/WEB-INF/src/controleur/MessageController.java @@ -0,0 +1,42 @@ +package controleur; + +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import modele.dao.DaoMessage; +import modele.dto.Message; + +import java.io.IOException; +import java.time.LocalDateTime; + +@WebServlet("/message") +public class MessageController extends HttpServlet { + @Override + protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + String username; + // vérification de l'authentification + if((username = (String) req.getSession().getAttribute("username")) == null){ + resp.sendRedirect("index.html"); + return ; + } + String action = (String) req.getParameter("action"); + String vue; + + switch (action){ + case "send": + String contenue = req.getParameter("message"); + DaoMessage daoMessage = new DaoMessage(); + int idThread = Integer.parseInt(req.getParameter("thread")); + Message message = new Message(0, username, idThread, contenue, LocalDateTime.now()); + daoMessage.create(message); + vue = "thread?action=open&id=" + idThread; + break; + default: + vue = ""; + } + req.getRequestDispatcher(vue).forward(req, resp); + + } +} diff --git a/WEB-INF/vue/chat.jsp b/WEB-INF/vue/chat.jsp index 111d44b82ac304f288209a15d71af57761687a17..49bbc778a13c894489bf38c77843f366d0df04ec 100644 --- a/WEB-INF/vue/chat.jsp +++ b/WEB-INF/vue/chat.jsp @@ -106,12 +106,12 @@ <% } } %> <div id="input" class="fixed-bottom p-2 bg-white border-top border-2 border-dark"> - <form class="input-group mb-3 container-lg" method="post" action="#"> - <a class="input-group-text link-primary" href="chat.html"> + <form class="input-group mb-3 container-lg" method="post" action="message?action=send&thread=<%=id%>"> + <a class="input-group-text link-primary" href="thread?action=open&id=<%=id %>"> <i class="bi-arrow-clockwise"></i> </a> <textarea name="message" class="form-control" placeholder="Entrez votre message ici."></textarea> - <input type="submit" class="input-group-text"> + <input type="submit" class="input-group-text" value="Envoyer"> </form> </div> </div>