diff --git a/pom.xml b/pom.xml
index 60cfac0..7bb40df 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,6 +19,17 @@
${jakartaee}
provided
+
+ jakarta.platform
+ jakarta.jakartaee-web-api
+ 10.0.0
+ provided
+
+
+ org.mariadb.jdbc
+ mariadb-java-client
+ 3.3.2
+
diff --git a/src/main/java/com/test/bdd/ClientJpa.java b/src/main/java/com/test/bdd/ClientJpa.java
new file mode 100644
index 0000000..d88016c
--- /dev/null
+++ b/src/main/java/com/test/bdd/ClientJpa.java
@@ -0,0 +1,37 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.test.bdd;
+
+import com.test.beans.Client;
+import jakarta.ejb.Stateless;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ * @author emile.malcuit
+ */
+@Stateless //type EJB, logique métier, à injecter dans les autres classes avec @EJB
+public class ClientJpa {
+
+ @PersistenceContext(unitName = "bdclientPU") //en lien avec le fichier persistence.xml :
+ private EntityManager em;
+
+ // Lecture de tous les clients
+ public List readAll() {
+ List lesClients = em.createQuery("SELECT c FROM Client c", Client.class).getResultList();
+ return lesClients;
+ }
+
+ // Création d’un client
+ public int create(Client unClient) {
+ em.persist(unClient); // enregistre l’objet en base
+ // Force la synchro avec la base pour récupérer l’ID tout de suite
+ em.flush();
+ return unClient.getId(); // l’ID est rempli automatiquement par JPA
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/test/bdd/ClientMysql.java b/src/main/java/com/test/bdd/ClientMysql.java
index fa2e3a4..9b69dfa 100644
--- a/src/main/java/com/test/bdd/ClientMysql.java
+++ b/src/main/java/com/test/bdd/ClientMysql.java
@@ -9,7 +9,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
-import com.test.beans.Client;
+import com.test.beans.ClientOld;
import java.sql.PreparedStatement;
/**
@@ -17,8 +17,7 @@ import java.sql.PreparedStatement;
* @author emile.malcuit
*/
public class ClientMysql {
- private Connection laConnexion = connexionSQL.getConnect("192.168.100.100", "bdclient", "adminClient", "admin");
-
+ private Connection laConnexion = connexionSQL.getConnect("192.168.100.100", "bdclient", "adminClient", "mdpBDclient");
public ClientMysql() {
}
@@ -27,7 +26,7 @@ public class ClientMysql {
}
- public void createClient(Client newCli) {
+ public void createClient(ClientOld newCli) {
String commande = "INSERT INTO client(nom, prenom, mail) VALUES (?, ?, ?)";
try (PreparedStatement pstmt = laConnexion.prepareStatement(commande)) {
@@ -47,14 +46,14 @@ public class ClientMysql {
- public ArrayList readAll(){
- ArrayList lesClients=new ArrayList<>();
+ public ArrayList readAll(){
+ ArrayList lesClients=new ArrayList<>();
try {
Statement stmt=laConnexion.createStatement();
ResultSet resultQ=null;
resultQ=stmt.executeQuery("SELECT * FROM client;");
while (resultQ.next()){
- Client resultat=new Client(resultQ.getInt("id"),resultQ.getString("nom"),resultQ.getString("prenom"),resultQ.getString("mail"));
+ ClientOld resultat=new ClientOld(resultQ.getInt("id"),resultQ.getString("nom"),resultQ.getString("prenom"),resultQ.getString("mail"));
lesClients.add(resultat);
}
resultQ.close();
@@ -70,9 +69,9 @@ public class ClientMysql {
}
- public Client read(int id){
+ public ClientOld read(int id){
String commande = "SELECT * FROM client WHERE id = ?";
- Client recherche = new Client();
+ ClientOld recherche = new ClientOld();
try(PreparedStatement pstmt = laConnexion.prepareStatement(commande)){
pstmt.setString(1, Integer.toString(id));
diff --git a/src/main/java/com/test/bdd/SalarieJpa.java b/src/main/java/com/test/bdd/SalarieJpa.java
new file mode 100644
index 0000000..947e278
--- /dev/null
+++ b/src/main/java/com/test/bdd/SalarieJpa.java
@@ -0,0 +1,32 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.test.bdd;
+
+import com.test.beans.Salarie;
+import jakarta.ejb.Stateless;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
+import java.util.List;
+
+/**
+ *
+ * @author emile.malcuit
+ */
+@Stateless
+public class SalarieJpa {
+ @PersistenceContext(unitName = "bdclientPU") //en lien avec le fichier persistence.xml :
+ private EntityManager em;
+
+ // Lecture de tous les clients
+ public List readAll() {
+ List lesSalaries = em.createQuery("SELECT c FROM Salarie c", Salarie.class).getResultList();
+ return lesSalaries;
+ }
+
+ public Salarie find(Salarie unSalarie){
+ return em.find(Salarie.class, unSalarie);
+ }
+
+}
diff --git a/src/main/java/com/test/bdd/SalarieMySQL.java b/src/main/java/com/test/bdd/SalarieMySQL.java
index cdcbb43..f535387 100644
--- a/src/main/java/com/test/bdd/SalarieMySQL.java
+++ b/src/main/java/com/test/bdd/SalarieMySQL.java
@@ -4,7 +4,7 @@
*/
package com.test.bdd;
-import com.test.beans.Salarie;
+import com.test.beans.SalarieOld;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -15,14 +15,14 @@ import java.sql.SQLException;
* @author emile.malcuit
*/
public class SalarieMySQL {
- private Connection laConnexion = connexionSQL.getConnect("192.168.100.100", "bdclient", "adminClient", "admin");
+ private Connection laConnexion = connexionSQL.getConnect("192.168.100.100", "bdclient", "adminClient", "mdpBDclient");
public SalarieMySQL() {
}
- public Salarie read(String nom, String mdp){
+ public SalarieOld read(String nom, String mdp){
String commande = "SELECT * FROM salarie WHERE nom = ? and mdp = ?";
- Salarie recherche = new Salarie();
+ SalarieOld recherche = new SalarieOld();
try(PreparedStatement pstmt = laConnexion.prepareStatement(commande)){
pstmt.setString(1, nom);
diff --git a/src/main/java/com/test/beans/Client.java b/src/main/java/com/test/beans/Client.java
index 2d8469d..e959385 100644
--- a/src/main/java/com/test/beans/Client.java
+++ b/src/main/java/com/test/beans/Client.java
@@ -4,69 +4,73 @@
*/
package com.test.beans;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import java.io.Serializable;
+
/**
*
* @author emile.malcuit
*/
+@Entity // indique que c’est une entité gérée par JPA
+@Table(name = "client") // nom de la table SQL dans la bd liée
+
public class Client {
+
+ //Annotations pour gérer id auto-incrémenté
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY) // clé primaire auto-incrémentée
private int id;
+
private String nom;
private String prenom;
private String mail;
-
-
- public Client() {
- }
-
+
+ public Client() {} // obligatoire pour JPA (constructeur vide)
+
public Client(int id, String nom, String prenom, String mail) {
- this.id = id;
+ this.id=id;
this.nom = nom;
this.prenom = prenom;
this.mail = mail;
}
-
+
+ public Client(String nom, String prenom, String mail) {
+ this.nom = nom;
+ this.prenom = prenom;
+ this.mail = mail;
+ }
+
+ // Getters, setters, toString() identiques
+ public int getId()
+ { return id; }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getNom() {
- return nom;
- }
-
- public void setNom(String nom) {
- this.nom = nom;
- }
-
- public String getPrenom() {
- return prenom;
- }
-
- public void setPrenom(String prenom) {
- this.prenom = prenom;
- }
-
- public String getMail() {
- return mail;
- }
-
- public void setMail(String mail) {
- this.mail = mail;
- }
-
+ public void setId(int id)
+ { this.id = id; }
+
+ public String getNom()
+ { return nom; }
+
+ public void setNom(String nom)
+ { this.nom = nom; }
+
+ public String getPrenom()
+ { return prenom; }
+
+ public void setPrenom(String prenom)
+ { this.prenom = prenom; }
+
+ public String getMail()
+ { return mail; }
+
+ public void setMail(String mail)
+ { this.mail = mail; }
+
@Override
public String toString() {
return "Client{" + "id=" + id + ", nom=" + nom + ", prenom=" + prenom + ", mail=" + mail + '}';
}
-
-
-
-
-
-
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/test/beans/ClientOld.java b/src/main/java/com/test/beans/ClientOld.java
new file mode 100644
index 0000000..1417782
--- /dev/null
+++ b/src/main/java/com/test/beans/ClientOld.java
@@ -0,0 +1,72 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.test.beans;
+
+/**
+ *
+ * @author emile.malcuit
+ */
+public class ClientOld {
+ private int id;
+ private String nom;
+ private String prenom;
+ private String mail;
+
+
+ public ClientOld() {
+ }
+
+ public ClientOld(int id, String nom, String prenom, String mail) {
+ this.id = id;
+ this.nom = nom;
+ this.prenom = prenom;
+ this.mail = mail;
+ }
+
+
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getNom() {
+ return nom;
+ }
+
+ public void setNom(String nom) {
+ this.nom = nom;
+ }
+
+ public String getPrenom() {
+ return prenom;
+ }
+
+ public void setPrenom(String prenom) {
+ this.prenom = prenom;
+ }
+
+ public String getMail() {
+ return mail;
+ }
+
+ public void setMail(String mail) {
+ this.mail = mail;
+ }
+
+ @Override
+ public String toString() {
+ return "Client{" + "id=" + id + ", nom=" + nom + ", prenom=" + prenom + ", mail=" + mail + '}';
+ }
+
+
+
+
+
+
+}
diff --git a/src/main/java/com/test/beans/Salarie.java b/src/main/java/com/test/beans/Salarie.java
index 079f436..48fb9fa 100644
--- a/src/main/java/com/test/beans/Salarie.java
+++ b/src/main/java/com/test/beans/Salarie.java
@@ -4,22 +4,43 @@
*/
package com.test.beans;
-import java.util.Objects;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import java.io.Serializable;
/**
*
* @author emile.malcuit
*/
-public class Salarie {
+@Entity // indique que c’est une entité gérée par JPA
+@Table(name = "salarie") // nom de la table SQL dans la bd liée
+public class Salarie implements Serializable {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY) // clé primaire auto-incrémentée
private int id;
+
private String nom;
private String mdp;
private boolean isAdmin;
+ public Salarie(){}
-
- public Salarie() {
- }
+ public Salarie(int id, String nom, String mdp, boolean isAdmin) {
+ this.id=id;
+ this.nom = nom;
+ this.mdp = mdp;
+ this.isAdmin = isAdmin;
+ }
+
+ public Salarie(String nom, String mdp, boolean isAdmin) {
+ this.nom = nom;
+ this.mdp = mdp;
+ this.isAdmin = isAdmin;
+ }
public int getId() {
return id;
@@ -53,7 +74,12 @@ public class Salarie {
this.isAdmin = isAdmin;
}
-
+ @Override
+ public int hashCode() {
+ int hash = 7;
+ hash = 67 * hash + this.id;
+ return hash;
+ }
@Override
public boolean equals(Object obj) {
@@ -67,13 +93,14 @@ public class Salarie {
return false;
}
final Salarie other = (Salarie) obj;
- if (!Objects.equals(this.nom, other.nom)) {
- return false;
- }
- return Objects.equals(this.mdp, other.mdp);
+ return this.id == other.id;
+ }
+
+
+
+ @Override
+ public String toString() {
+ return "com.test.beans.Salarie[ id=" + id + " ]";
}
-
-
-
}
diff --git a/src/main/java/com/test/beans/SalarieOld.java b/src/main/java/com/test/beans/SalarieOld.java
new file mode 100644
index 0000000..aa66e2e
--- /dev/null
+++ b/src/main/java/com/test/beans/SalarieOld.java
@@ -0,0 +1,79 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.test.beans;
+
+import java.util.Objects;
+
+/**
+ *
+ * @author emile.malcuit
+ */
+public class SalarieOld {
+ private int id;
+ private String nom;
+ private String mdp;
+ private boolean isAdmin;
+
+
+
+ public SalarieOld() {
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getNom() {
+ return nom;
+ }
+
+ public void setNom(String nom) {
+ this.nom = nom;
+ }
+
+ public String getMdp() {
+ return mdp;
+ }
+
+ public void setMdp(String mdp) {
+ this.mdp = mdp;
+ }
+
+ public boolean isIsAdmin() {
+ return isAdmin;
+ }
+
+ public void setIsAdmin(boolean isAdmin) {
+ this.isAdmin = isAdmin;
+ }
+
+
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final SalarieOld other = (SalarieOld) obj;
+ if (!Objects.equals(this.nom, other.nom)) {
+ return false;
+ }
+ return Objects.equals(this.mdp, other.mdp);
+ }
+
+
+
+
+}
diff --git a/src/main/java/com/test/forms/AuthentifForm.java b/src/main/java/com/test/forms/AuthentifForm.java
index 6cd6587..4a60f86 100644
--- a/src/main/java/com/test/forms/AuthentifForm.java
+++ b/src/main/java/com/test/forms/AuthentifForm.java
@@ -4,7 +4,8 @@
*/
package com.test.forms;
-import com.test.beans.Salarie;
+import com.test.beans.SalarieOld;
+import jakarta.ejb.EJB;
import jakarta.servlet.http.HttpServletRequest;
/**
@@ -12,6 +13,9 @@ import jakarta.servlet.http.HttpServletRequest;
* @author emile.malcuit
*/
public class AuthentifForm {
+ @EJB
+
+
private String resultat = "Vous n'êtes pas administrateur";
public String getResultat() {
@@ -23,11 +27,11 @@ public class AuthentifForm {
}
- public boolean controlerAdmin(Salarie unSalarie){ //HttpServletRequest request
- //Salarie admin = new Salarie("Lovelace", "Ada");
+ public boolean controlerAdmin(SalarieOld unSalarie){ //HttpServletRequest request
+ //Salarie admin = new SalarieOld("Lovelace", "Ada");
//String login = request.getParameter("user_name");
//String mdp = request.getParameter("user_password");
- //Salarie userSaisi = new Salarie(login, mdp);
+ //Salarie userSaisi = new SalarieOld(login, mdp);
boolean retour = false;
if(unSalarie.isIsAdmin()){
retour = true;
diff --git a/src/main/java/com/test/forms/ListeForm.java b/src/main/java/com/test/forms/ListeForm.java
new file mode 100644
index 0000000..0b71d41
--- /dev/null
+++ b/src/main/java/com/test/forms/ListeForm.java
@@ -0,0 +1,37 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.test.forms;
+
+import com.test.bdd.ClientJpa;
+import com.test.beans.Client;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateless;
+import java.util.List;
+
+/**
+ *
+ * @author emile.malcuit
+ */
+@Stateless //type EJB
+public class ListeForm {
+ @EJB //pour utiliser la classe ClientJPA définie en @Stateless
+ private ClientJpa dao;
+
+ private String resultat;
+
+ public String getResultat() {
+ return resultat;
+ }
+
+ public void setResultat(String resultat) {
+ this.resultat = resultat;
+ }
+
+ public List readClient(){
+ List lesClients = dao.readAll();
+ System.out.println("Les clients récuprés");
+ return lesClients;
+ }
+}
diff --git a/src/main/java/com/test/forms/NouveauClientForm.java b/src/main/java/com/test/forms/NouveauClientForm.java
new file mode 100644
index 0000000..2c88798
--- /dev/null
+++ b/src/main/java/com/test/forms/NouveauClientForm.java
@@ -0,0 +1,45 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.test.forms;
+
+import com.test.bdd.ClientJpa;
+import com.test.beans.Client;
+import jakarta.ejb.EJB;
+import jakarta.ejb.Stateless;
+import jakarta.servlet.http.HttpServletRequest;
+
+/**
+ *
+ * @author emile.malcuit
+ */
+@Stateless //type EJB
+public class NouveauClientForm {
+ @EJB //pour utiliser la classe ClientJPA définie en @Stateless
+ private ClientJpa dao;
+
+ private String resultat;
+
+ public String getResultat() {
+ return resultat;
+ }
+
+ public void setResultat(String resultat) {
+ this.resultat = resultat;
+ }
+
+ public int verifierClient(HttpServletRequest request){
+ int id=-1;
+
+ String leNom = request.getParameter("nom");
+ String lePrenom =request.getParameter("prenom");
+
+ if ((lePrenom.matches("[A-Za-zÀ-ÖØ-öø-ÿ' -]{1,100}"))&& (leNom.matches("[A-Za-zÀ-ÖØ-öø-ÿ' -]{1,100}"))){
+ Client cliSaisi = new Client(request.getParameter("nom"),request.getParameter("prenom"),request.getParameter("email") );
+ id = dao.create(cliSaisi);
+ System.out.println("Client créé avec id : " + id);
+ }
+ return id;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/test/servlets/AcceuilServlet.java b/src/main/java/com/test/servlets/AcceuilServlet.java
index 7d1bcdb..77a69dc 100644
--- a/src/main/java/com/test/servlets/AcceuilServlet.java
+++ b/src/main/java/com/test/servlets/AcceuilServlet.java
@@ -82,6 +82,7 @@ public class AcceuilServlet extends HttpServlet {
String mdp = request.getParameter("user_password");
String test;
if (login != null && !login.isBlank()) {
+ System.out.println("Hello world 1");
test = verifConnexion(login , mdp);
request.setAttribute("login", login);
request.setAttribute("connect",test);
diff --git a/src/main/java/com/test/servlets/AuthentifServlet.java b/src/main/java/com/test/servlets/AuthentifServlet.java
index 005cda4..9399c32 100644
--- a/src/main/java/com/test/servlets/AuthentifServlet.java
+++ b/src/main/java/com/test/servlets/AuthentifServlet.java
@@ -5,7 +5,7 @@
package com.test.servlets;
import com.test.bdd.SalarieMySQL;
-import com.test.beans.Salarie;
+import com.test.beans.SalarieOld;
import com.test.forms.AuthentifForm;
import java.io.IOException;
import java.io.PrintWriter;
@@ -14,6 +14,7 @@ import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
/**
*
@@ -79,12 +80,18 @@ public class AuthentifServlet extends HttpServlet {
//Recupération de l'éssaie de connexion
String nom = request.getParameter("user_name");
String mdp = request.getParameter("user_password");
- Salarie unSalarie = new SalarieMySQL().read(nom, mdp);
+ SalarieOld unSalarie = new SalarieMySQL().read(nom, mdp);
//Vérification des droits
AuthentifForm authent = new AuthentifForm();
boolean isAdmin = authent.controlerAdmin(unSalarie);
String status = authent.getResultat();
+ HttpSession session = request.getSession(true);
+ if(isAdmin){
+ session.setAttribute("isAuthorised", "yes");
+ }else{
+ session.setAttribute("isAuthorised", "no");
+ }
request.setAttribute("isAdmin", isAdmin);
request.setAttribute("status", status);
request.setAttribute("pseudo", unSalarie.getNom());
diff --git a/src/main/java/com/test/servlets/ListeServlet.java b/src/main/java/com/test/servlets/ListeServlet.java
index b5213d5..c7286b2 100644
--- a/src/main/java/com/test/servlets/ListeServlet.java
+++ b/src/main/java/com/test/servlets/ListeServlet.java
@@ -4,8 +4,12 @@
*/
package com.test.servlets;
+import com.test.bdd.ClientJpa;
import com.test.bdd.ClientMysql;
import com.test.beans.Client;
+import com.test.beans.ClientOld;
+import com.test.forms.ListeForm;
+import jakarta.ejb.EJB;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
@@ -13,7 +17,9 @@ import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import java.util.ArrayList;
+import java.util.List;
/**
*
@@ -21,7 +27,8 @@ import java.util.ArrayList;
*/
@WebServlet(name="ListeServlet", urlPatterns={"/ListeClients"})
public class ListeServlet extends HttpServlet {
-
+ @EJB
+ private ListeForm leControle; // injecté par Jakarta EE grâce à @EJB, géré par le contrôleur
/**
* Processes requests for both HTTP GET and POST
* methods.
@@ -61,11 +68,18 @@ public class ListeServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
- ClientMysql UnClient = new ClientMysql();
- ArrayList lesClients = UnClient.readAll();
-
- request.setAttribute("lesClients", lesClients);
- getServletContext().getRequestDispatcher("/WEB-INF/ListeClientsJSP.jsp").forward(request, response);
+ HttpSession session = request.getSession(true);
+ if(session.getAttribute("isAuthorised").equals("yes")){
+ //ClientMysql UnClient = new ClientMysql();
+ //ArrayList lesClients = UnClient.readAll();
+
+ List lesClients= leControle.readClient();
+ request.setAttribute("lesClients", lesClients);
+ getServletContext().getRequestDispatcher("/WEB-INF/ListeClientsJSP.jsp").forward(request, response);
+ }else{
+ getServletContext().getRequestDispatcher("/WEB-INF/AcceuilJSP.jsp").forward(request, response);
+ }
+
}
/**
diff --git a/src/main/java/com/test/servlets/ModifServlet.java b/src/main/java/com/test/servlets/ModifServlet.java
new file mode 100644
index 0000000..399263b
--- /dev/null
+++ b/src/main/java/com/test/servlets/ModifServlet.java
@@ -0,0 +1,95 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template
+ */
+package com.test.servlets;
+
+import com.test.bdd.ClientMysql;
+import com.test.beans.ClientOld;
+import java.io.IOException;
+import java.io.PrintWriter;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author emile.malcuit
+ */
+@WebServlet(name="ModifServlet", urlPatterns={"/Modification"})
+public class ModifServlet extends HttpServlet {
+
+ /**
+ * Processes requests for both HTTP GET and POST
+ * methods.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet ModifServlet");
+ out.println("");
+ out.println("");
+ out.println("Servlet ModifServlet at " + request.getContextPath() + "
");
+ out.println("");
+ out.println("");
+ }
+ }
+
+ //
+ /**
+ * Handles the HTTP GET method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ int id = (int) request.getAttribute("id");
+ ClientMysql cliSQL = new ClientMysql();
+ ClientOld leClient = cliSQL.read(id);
+
+ request.setAttribute("leClient", leClient);
+ //getServletContext().getRequestDispatcher("/WEB-INF/modifierClientJSP.jsp").forward(request, response);
+
+ }
+
+ /**
+ * Handles the HTTP POST method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }//
+
+}
diff --git a/src/main/java/com/test/servlets/NouveauServlet.java b/src/main/java/com/test/servlets/NouveauServlet.java
index 0c08c55..6547cbd 100644
--- a/src/main/java/com/test/servlets/NouveauServlet.java
+++ b/src/main/java/com/test/servlets/NouveauServlet.java
@@ -5,7 +5,9 @@
package com.test.servlets;
import com.test.bdd.ClientMysql;
-import com.test.beans.Client;
+import com.test.beans.ClientOld;
+import com.test.forms.NouveauClientForm;
+import jakarta.ejb.EJB;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
@@ -13,6 +15,7 @@ import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
/**
*
@@ -20,6 +23,8 @@ import jakarta.servlet.http.HttpServletResponse;
*/
@WebServlet(name="NouveauServlet", urlPatterns={"/NouveauClient"})
public class NouveauServlet extends HttpServlet {
+ @EJB
+ private NouveauClientForm leControle; // injecté par Jakarta EE grâce à @EJB, géré par le contrôleur
/**
* Processes requests for both HTTP GET and POST
@@ -60,7 +65,12 @@ public class NouveauServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
- getServletContext().getRequestDispatcher("/WEB-INF/NouveauClientJSP.jsp").forward(request, response);
+ HttpSession session = request.getSession(true);
+ if(session.getAttribute("isAuthorised").equals("yes")){
+ getServletContext().getRequestDispatcher("/WEB-INF/NouveauClientJSP.jsp").forward(request, response);
+ }else{
+ getServletContext().getRequestDispatcher("/WEB-INF/AcceuilJSP.jsp").forward(request, response);
+ }
}
@@ -77,7 +87,8 @@ public class NouveauServlet extends HttpServlet {
throws ServletException, IOException {
//Recuperation des informations inserer dans le formulaire nouveau client
- Client newCli = new Client();
+ /**
+ ClientOld newCli = new ClientOld();
newCli.setNom(request.getParameter("nom"));
newCli.setPrenom(request.getParameter("prenom"));
newCli.setMail(request.getParameter("email"));
@@ -85,6 +96,9 @@ public class NouveauServlet extends HttpServlet {
//Insertion du client en db
ClientMysql cliSQL = new ClientMysql();
cliSQL.createClient(newCli);
+ */
+ leControle.verifierClient(request);
+ System.out.println("test EJB");
response.sendRedirect(request.getContextPath() + "/ListeClients");
diff --git a/src/main/java/com/test/servlets/TestClientSQL.java b/src/main/java/com/test/servlets/TestClientSQL.java
index d17452b..20e245c 100644
--- a/src/main/java/com/test/servlets/TestClientSQL.java
+++ b/src/main/java/com/test/servlets/TestClientSQL.java
@@ -6,7 +6,7 @@ package com.test.servlets;
*/
import com.test.bdd.ClientMysql;
-import com.test.beans.Client;
+import com.test.beans.ClientOld;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
@@ -42,8 +42,8 @@ public class TestClientSQL extends HttpServlet {
out.println("");
out.println("");
ClientMysql UnClient = new ClientMysql();
- ArrayList lesClients = UnClient.readAll();
- for(Client unClient:lesClients){
+ ArrayList lesClients = UnClient.readAll();
+ for(ClientOld unClient:lesClients){
out.println(unClient.toString());
}
out.println("Servlet TestClientSQL at " + request.getContextPath() + "
");
diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml
index 7582bf1..4ad8cb2 100644
--- a/src/main/resources/META-INF/persistence.xml
+++ b/src/main/resources/META-INF/persistence.xml
@@ -1,7 +1,15 @@
-
-
+
+ jdbc/bdclient
+
+
+
+
+
+
+
+
diff --git a/src/main/webapp/WEB-INF/ListeClientsJSP.jsp b/src/main/webapp/WEB-INF/ListeClientsJSP.jsp
index 10a86f2..909c0eb 100644
--- a/src/main/webapp/WEB-INF/ListeClientsJSP.jsp
+++ b/src/main/webapp/WEB-INF/ListeClientsJSP.jsp
@@ -29,6 +29,7 @@
Nom |
Prénom |
Mail |
+ Mofication |
@@ -36,6 +37,7 @@
| ${client.nom} |
${client.prenom} |
${client.mail} |
+ Modification |
diff --git a/src/main/webapp/WEB-INF/modifierClientJSP.jsp b/src/main/webapp/WEB-INF/modifierClientJSP.jsp
new file mode 100644
index 0000000..b7e33e3
--- /dev/null
+++ b/src/main/webapp/WEB-INF/modifierClientJSP.jsp
@@ -0,0 +1,41 @@
+<%--
+ Document : modifierClientJSP.jsp
+ Created on : 3 oct. 2025, 13:46:53
+ Author : emile.malcuit
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+
+
+
+
+ Modification d'un client
+
+
+ <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+ <%@include file="jspf/entete.jspf" %>
+ <%@include file="jspf/menu.jspf" %>
+ Bonjour Les Zouaves
+
+
+
+ Modification d’un client
+
+
+
+
+
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 41d657d..878d932 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -1,5 +1,8 @@
+
+ Acceuil
+
AcceuilServlet
com.test.servlets.AcceuilServlet
@@ -20,6 +23,10 @@
TestClientSQL
com.test.servlets.TestClientSQL
+
+ ModifServlet
+ com.test.servlets.ModifServlet
+
AcceuilServlet
/Acceuil
@@ -40,6 +47,10 @@
TestClientSQL
/TestClientSQL
+
+ ModifServlet
+ /Modification
+
30