From b779288c3deef4a72de3e0215ad1b6fc08c19eea Mon Sep 17 00:00:00 2001
From: Othemane KHACHNANE <khachnaneothemane@gmail.com>
Date: Tue, 11 Feb 2025 16:27:38 +0100
Subject: [PATCH] CreateNewFil servlet

---
 sae/WEB-INF/src/controleur/CreateNewFil.java | 39 ++++++++++++++++++++
 sae/WEB-INF/vue/CreationFils.jsp             | 17 +++++++++
 2 files changed, 56 insertions(+)
 create mode 100644 sae/WEB-INF/src/controleur/CreateNewFil.java
 create mode 100644 sae/WEB-INF/vue/CreationFils.jsp

diff --git a/sae/WEB-INF/src/controleur/CreateNewFil.java b/sae/WEB-INF/src/controleur/CreateNewFil.java
new file mode 100644
index 0000000..4b24441
--- /dev/null
+++ b/sae/WEB-INF/src/controleur/CreateNewFil.java
@@ -0,0 +1,39 @@
+package controleur;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.sql.*;
+import java.nio.charset.StandardCharsets;
+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.DS;
+
+@WebServlet("/CreateNewFil")
+public class CreateNewFil extends HttpServlet {
+    public void service(HttpServletRequest req, HttpServletResponse res) {
+        try {
+            String nom = req.getParameter("nom");
+            int createur_id = Integer.parseInt(req.getParameter("createur_id"));
+            String query = "INSERT INTO FilDeDiscussion (nom, createur_id) VALUES (?, ?)";
+
+            Connection con = DS.getConnection();
+            PreparedStatement pstmt = con.prepareStatement(query);
+            pstmt.setString(1, nom);
+            pstmt.setInt(2, createur_id);
+            System.out.println(pstmt);
+            int n = pstmt.executeUpdate();
+            System.out.println(n);
+            req.getRequestDispatcher("CreationFils.jsp").forward(req, res);
+            con.close();
+        } catch (Exception e) {
+            //e.printStackTrace();
+            System.out.println(e.getMessage());
+        }
+    }
+
+}
diff --git a/sae/WEB-INF/vue/CreationFils.jsp b/sae/WEB-INF/vue/CreationFils.jsp
new file mode 100644
index 0000000..9c0a346
--- /dev/null
+++ b/sae/WEB-INF/vue/CreationFils.jsp
@@ -0,0 +1,17 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<!DOCTYPE html>
+<html>
+<head>
+    <title>Liste des Fils</title>
+</head>
+<body>
+    <h1>Créer un nouveau fil de discussion</h1>
+    <form action= "CreateNewFil" method="post">
+    <label for="nom">Nom du fil:</label>
+    <input type="text" id="nom" name="nom" required><br><br>
+    <label for="createur_id">ID du créateur:</label>
+    <input type="number" id="createur_id" name="createur_id"><br><br>
+    <input type="submit" value="Créer">
+    </form>
+</body>
+</html>
\ No newline at end of file
-- 
GitLab