resulution bug

This commit is contained in:
emile.malcuit
2025-10-17 13:15:53 +02:00
parent 689a45a91b
commit 48b056e42c
22 changed files with 633 additions and 93 deletions

11
pom.xml
View File

@@ -19,6 +19,17 @@
<version>${jakartaee}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-web-api</artifactId>
<version>10.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>3.3.2</version>
</dependency>
</dependencies>
<build>

View File

@@ -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 : <persistence-unit name="bdclientPU" transaction-type="JTA">
private EntityManager em;
// Lecture de tous les clients
public List<Client> readAll() {
List<Client> lesClients = em.createQuery("SELECT c FROM Client c", Client.class).getResultList();
return lesClients;
}
// Création dun client
public int create(Client unClient) {
em.persist(unClient); // enregistre lobjet en base
// Force la synchro avec la base pour récupérer lID tout de suite
em.flush();
return unClient.getId(); // lID est rempli automatiquement par JPA
}
}

View File

@@ -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<Client> readAll(){
ArrayList<Client> lesClients=new ArrayList<>();
public ArrayList<ClientOld> readAll(){
ArrayList<ClientOld> 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));

View File

@@ -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 : <persistence-unit name="bdclientPU" transaction-type="JTA">
private EntityManager em;
// Lecture de tous les clients
public List<Salarie> readAll() {
List<Salarie> lesSalaries = em.createQuery("SELECT c FROM Salarie c", Salarie.class).getResultList();
return lesSalaries;
}
public Salarie find(Salarie unSalarie){
return em.find(Salarie.class, unSalarie);
}
}

View File

@@ -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);

View File

@@ -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 cest 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 int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
public Client(String nom, String prenom, String mail) {
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;
}
// Getters, setters, toString() identiques
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 + '}';
}
}

View File

@@ -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 + '}';
}
}

View File

@@ -4,21 +4,42 @@
*/
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 cest 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(int id, String nom, String mdp, boolean isAdmin) {
this.id=id;
this.nom = nom;
this.mdp = mdp;
this.isAdmin = isAdmin;
}
public Salarie() {
public Salarie(String nom, String mdp, boolean isAdmin) {
this.nom = nom;
this.mdp = mdp;
this.isAdmin = isAdmin;
}
public int getId() {
@@ -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 + " ]";
}
}

View File

@@ -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);
}
}

View File

@@ -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;

View File

@@ -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<Client> readClient(){
List<Client> lesClients = dao.readAll();
System.out.println("Les clients récuprés");
return lesClients;
}
}

View File

@@ -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;
}
}

View File

@@ -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);

View File

@@ -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());

View File

@@ -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 <code>GET</code> and <code>POST</code>
* 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<Client> lesClients = UnClient.readAll();
HttpSession session = request.getSession(true);
if(session.getAttribute("isAuthorised").equals("yes")){
//ClientMysql UnClient = new ClientMysql();
//ArrayList<ClientOld> lesClients = UnClient.readAll();
List<Client> 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);
}
request.setAttribute("lesClients", lesClients);
getServletContext().getRequestDispatcher("/WEB-INF/ListeClientsJSP.jsp").forward(request, response);
}
/**

View File

@@ -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 <code>GET</code> and <code>POST</code>
* 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("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ModifServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet ModifServlet at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> 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 <code>POST</code> 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";
}// </editor-fold>
}

View File

@@ -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 <code>GET</code> and <code>POST</code>
@@ -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");

View File

@@ -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("</head>");
out.println("<body>");
ClientMysql UnClient = new ClientMysql();
ArrayList<Client> lesClients = UnClient.readAll();
for(Client unClient:lesClients){
ArrayList<ClientOld> lesClients = UnClient.readAll();
for(ClientOld unClient:lesClients){
out.println(unClient.toString());
}
out.println("<h1>Servlet TestClientSQL at " + request.getContextPath() + "</h1>");

View File

@@ -1,7 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="3.0" xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd">
<!-- Define Persistence Unit -->
<persistence-unit name="my_persistence_unit">
<persistence-unit name="bdclientPU" transaction-type="JTA">
<jta-data-source>jdbc/bdclient</jta-data-source>
<properties>
<property name="jakarta.persistence.jdbc.driver" value="org.mariadb.jdbc.Driver"/>
<property name="jakarta.persistence.jdbc.url" value="jdbc:mariadb://192.168.100.100/bdclient"/>
<property name="jakarta.persistence.jdbc.user" value="adminClient"/>
<property name="jakarta.persistence.jdbc.password" value="mdpBDclient"/>
<!-- Optionnel : génération du schéma -->
<property name="jakarta.persistence.schema-generation.database.action" value="none"/>
</properties>
</persistence-unit>
</persistence>

View File

@@ -29,6 +29,7 @@
<th>Nom</th>
<th>Prénom</th>
<th>Mail</th>
<th>Mofication</th>
</tr>
<c:forEach var="client" items="${lesClients}">
<tr>
@@ -36,6 +37,7 @@
<td>${client.nom}</td>
<td>${client.prenom}</td>
<td>${client.mail}</td>
<td><a href="/Modification?id=${client.id}">Modification</td>
</tr>
</c:forEach>
</table>

View File

@@ -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"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Modification d'un client</title>
</head>
<body>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@include file="jspf/entete.jspf" %>
<%@include file="jspf/menu.jspf" %>
<h1>Bonjour Les Zouaves</h1>
<p>Modification dun client </p>
</br>
<form action="${pageContext.request.contextPath}/Modification" method="POST">
<label for="nom">Nom :</label><br />
<input type="text" id="nom" name="nom" value="${leClient.nom}" required /><br /><br />
<label for="prenom">Prénom :</label><br />
<input type="text" id="prenom" name="prenom" value="${leClient.prenom}" required /><br /><br />
<label for="email">E-mail :</label><br />
<input type="text" id="email" name="email" value="${leClient.mail}" required /><br /><br />
<div class="valider">
<input type="submit" value="Insérer" />
</div>
</form>
</body>
</html>

View File

@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="6.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd">
<welcome-file-list>
<welcome-file>Acceuil</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>AcceuilServlet</servlet-name>
<servlet-class>com.test.servlets.AcceuilServlet</servlet-class>
@@ -20,6 +23,10 @@
<servlet-name>TestClientSQL</servlet-name>
<servlet-class>com.test.servlets.TestClientSQL</servlet-class>
</servlet>
<servlet>
<servlet-name>ModifServlet</servlet-name>
<servlet-class>com.test.servlets.ModifServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AcceuilServlet</servlet-name>
<url-pattern>/Acceuil</url-pattern>
@@ -40,6 +47,10 @@
<servlet-name>TestClientSQL</servlet-name>
<url-pattern>/TestClientSQL</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ModifServlet</servlet-name>
<url-pattern>/Modification</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30