From bdf22bbbb1e0d64962ac215e83965f8c506e36cb Mon Sep 17 00:00:00 2001
From: Yannis Devos <yannis.devos.etu@univ-lille.fr>
Date: Fri, 14 Feb 2025 10:30:06 +0100
Subject: [PATCH] dao user fini

---
 .idea/misc.xml                        |   1 -
 WEB-INF/.idea/.gitignore              |   3 +
 WEB-INF/.idea/libraries/lib.xml       |  10 +++
 WEB-INF/.idea/misc.xml                |   6 ++
 WEB-INF/.idea/modules.xml             |   8 ++
 WEB-INF/.idea/uiDesigner.xml          | 124 ++++++++++++++++++++++++++
 WEB-INF/.idea/vcs.xml                 |   6 ++
 WEB-INF/WEB-INF.iml                   |  12 +++
 {dao => WEB-INF/src/dao}/UserDAO.java |  22 +++--
 {dao => WEB-INF/src/dto}/User.java    |   2 +-
 10 files changed, 186 insertions(+), 8 deletions(-)
 create mode 100644 WEB-INF/.idea/.gitignore
 create mode 100644 WEB-INF/.idea/libraries/lib.xml
 create mode 100644 WEB-INF/.idea/misc.xml
 create mode 100644 WEB-INF/.idea/modules.xml
 create mode 100644 WEB-INF/.idea/uiDesigner.xml
 create mode 100644 WEB-INF/.idea/vcs.xml
 create mode 100644 WEB-INF/WEB-INF.iml
 rename {dao => WEB-INF/src/dao}/UserDAO.java (85%)
 rename {dao => WEB-INF/src/dto}/User.java (98%)

diff --git a/.idea/misc.xml b/.idea/misc.xml
index a818314..c9d8514 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ProjectRootManager" version="2" project-jdk-name="17" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
diff --git a/WEB-INF/.idea/.gitignore b/WEB-INF/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/WEB-INF/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/WEB-INF/.idea/libraries/lib.xml b/WEB-INF/.idea/libraries/lib.xml
new file mode 100644
index 0000000..2076a0d
--- /dev/null
+++ b/WEB-INF/.idea/libraries/lib.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+  <library name="lib">
+    <CLASSES>
+      <root url="file://$PROJECT_DIR$/../../../lib" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+    <jarDirectory url="file://$PROJECT_DIR$/../../../lib" recursive="false" />
+  </library>
+</component>
\ No newline at end of file
diff --git a/WEB-INF/.idea/misc.xml b/WEB-INF/.idea/misc.xml
new file mode 100644
index 0000000..a818314
--- /dev/null
+++ b/WEB-INF/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" project-jdk-name="17" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/WEB-INF/.idea/modules.xml b/WEB-INF/.idea/modules.xml
new file mode 100644
index 0000000..8d096ba
--- /dev/null
+++ b/WEB-INF/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/WEB-INF.iml" filepath="$PROJECT_DIR$/WEB-INF.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/WEB-INF/.idea/uiDesigner.xml b/WEB-INF/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/WEB-INF/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+</project>
\ No newline at end of file
diff --git a/WEB-INF/.idea/vcs.xml b/WEB-INF/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/WEB-INF/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/WEB-INF/WEB-INF.iml b/WEB-INF/WEB-INF.iml
new file mode 100644
index 0000000..fb8e866
--- /dev/null
+++ b/WEB-INF/WEB-INF.iml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="lib" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/dao/UserDAO.java b/WEB-INF/src/dao/UserDAO.java
similarity index 85%
rename from dao/UserDAO.java
rename to WEB-INF/src/dao/UserDAO.java
index c922852..1815ad7 100644
--- a/dao/UserDAO.java
+++ b/WEB-INF/src/dao/UserDAO.java
@@ -1,13 +1,10 @@
 package dao;
 
-import java.io.*;
 import java.sql.*;
 
-import jakarta.servlet.*;
+import dto.User;
 import jakarta.servlet.http.*;
-import jakarta.servlet.annotation.WebServlet;
 
-@WebServlet("/sae-userDAO")
 public class UserDAO extends HttpServlet{
     private Connection con;
 
@@ -23,7 +20,7 @@ public class UserDAO extends HttpServlet{
     public String getAllUsers(){
         StringBuilder txt = new StringBuilder();
         try{
-            Statement stmt = con.createStatement();
+            Statement stmt = this.con.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * FROM userAccount;");
 
             while(rs.next()){
@@ -43,7 +40,7 @@ public class UserDAO extends HttpServlet{
     public String getUserById(int id){
         StringBuilder txt = new StringBuilder();
         try{
-            PreparedStatement stmt = con.prepareStatement("SELECT * FROM userAccount WHERE id=?");
+            PreparedStatement stmt = this.con.prepareStatement("SELECT * FROM userAccount WHERE id=?");
             stmt.setInt(1, id);
             ResultSet rs = stmt.executeQuery();
 
@@ -61,6 +58,19 @@ public class UserDAO extends HttpServlet{
         return txt.toString();
     }
 
+    public void addUser(User nUser){
+        try{
+            PreparedStatement stmt = this.con.prepareStatement("INSERT INTO userAccount VALUES (?,?,?)");
+            stmt.setInt(1, nUser.getID());
+            stmt.setString(2, nUser.getUserName());
+            stmt.setString(3, nUser.getPwd());
+
+            stmt.executeUpdate();
+
+        } catch (SQLException sqle) {
+            sqle.getStackTrace();
+        }
+    }
 }
 
 
diff --git a/dao/User.java b/WEB-INF/src/dto/User.java
similarity index 98%
rename from dao/User.java
rename to WEB-INF/src/dto/User.java
index fd2c026..3642e93 100644
--- a/dao/User.java
+++ b/WEB-INF/src/dto/User.java
@@ -1,4 +1,4 @@
-package dao;
+package dto;
 
 public class User {
     private int userID;
-- 
GitLab