Compare commits

...

2 Commits

Author SHA1 Message Date
thomas.millot
239a3b33e7 Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:22:06 +02:00
thomas.millot
10c95e08ef Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-18 17:15:48 +02:00
10 changed files with 145 additions and 130 deletions

View File

@ -1,62 +1,67 @@
package bdd;
/*
Connexion.java
Classe permettant d'établir une connexion avec une base de données mySQL
*/
*/
import java.sql.Connection;
import java.sql.DriverManager;
public class Connexion {
private static Connection connect; // Variable de connexion
/**
* Constructeur
* @param serveur nom du serveur, localhost si local
* @param bdd nom de la base de données
* @param nomUtil nom utilisateur
* @param mdp mot de passe lié à l'utilisateur
*/
private Connexion(String serveur, String bdd, String nomUtil, String mdp) {
try {
// 1. Chargement du driver
//Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("Driver accessible");
// 2. Initialisation des paramètres de connexion
String host = serveur; // Serveur de bd
String dbname = bdd; // Nom bd
String url = "jdbc:mysql://" + host + "/" + dbname; // url de connexion
//url += "?autoReconnect=true"; // Ajout 26/09/2021
System.out.println("url : "+url);
String user = nomUtil; // nom du user
System.out.println("nomUtil : "+nomUtil);
String passwd = mdp; // mot de passe
System.out.println("mdp : "+mdp);
// 3. Connexion
connect = (Connection) DriverManager.getConnection(url, user, passwd);
System.out.println("Connexion réussie !");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Retourne la connection établie (Création d'une connection si elle n'existe pas)
* @param serveur nom du serveur, localhost si local
* Constructeur
*
* @param serveur nom du serveur, localhost si local
* @param bdd nom de la base de données
* @param nomUtil nom utilisateur
* @param mdp mot de passe lié à l'utilisateur
*/
private Connexion(String serveur, String bdd, String nomUtil, String mdp) {
try {
// 1. Chargement du driver
//Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("Driver accessible");
// 2. Initialisation des paramètres de connexion
String host = serveur; // Serveur de bd
String dbname = bdd; // Nom bd
String url = "jdbc:mysql://" + host + "/" + dbname; // url de connexion
//url += "?autoReconnect=true"; // Ajout 26/09/2021
System.out.println("url : " + url);
String user = nomUtil; // nom du user
System.out.println("nomUtil : " + nomUtil);
String passwd = mdp; // mot de passe
System.out.println("mdp : " + mdp);
// 3. Connexion
connect = (Connection) DriverManager.getConnection(url, user, passwd);
System.out.println("Connexion réussie !");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Retourne la connection établie (Création d'une connection si elle
* n'existe pas)
*
* @param serveur nom du serveur, localhost si local
* @param bdd nom de la base de données
* @param nomUtil nom utilisateur
* @param mdp mot de passe lié à l'utilisateur
* @return connection établie
*/
*/
public static Connection getConnect(String serveur, String bdd, String nomUtil, String mdp) {
System.out.println("getConnect");
if (connect == null) {
new Connexion(serveur, bdd, nomUtil, mdp);
}
return connect;
}
}
}

View File

@ -19,15 +19,14 @@ import java.util.ArrayList;
* @author thomas.millot
*/
public class PompierMysql {
private Connection theConnection;
private Pompier unPompier;
public PompierMysql()
{
public PompierMysql() {
theConnection = Connexion.getConnect("localhost", "sdis29", "admin", "minda");
}
public ArrayList<Pompier> readAll() {
ArrayList<Pompier> lesPompiers = new ArrayList<>();
@ -63,65 +62,67 @@ public class PompierMysql {
System.out.println("SQLState : " + ex.getSQLState());
System.out.println("Code erreur : " + ex.getErrorCode());
}
return lesPompiers;
}
/**
* Creation du client passé en paramètre dans la table client
* Requête non préparée
* Creation du client passé en paramètre dans la table client Requête non
* préparée
*
* @param c objet de type Client (sans identifiant)
* @return int : id du client créé
*/
public int create(Pompier p) {
int id = -1;
try {
try {
Statement stmt = theConnection.createStatement();
int status = stmt.executeUpdate(
"INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) "
+ "VALUES ('" + p.getNom() + "', '"
+ p.getPrenom() + "', '"
+ p.getStatut() + "', "
+ p.getMail() + ", '"
+ p.getLogin() + "', '"
+ p.getMdp() + "', '"
+ p.getAdresse() + "', '"
+ p.getVille()+ "', '"
+ p.getBip()+ "', '"
+ p.getNbGardes()+ "', '"
+ p.getGrade()+ "', '"
+ p.getCommentaire()+ "', '"
+ p.getDateEnreg()+ "', '"
+ p.getDateModif() + "');",
Statement.RETURN_GENERATED_KEYS);
"INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) "
+ "VALUES ('" + p.getNom() + "', '"
+ p.getPrenom() + "', '"
+ p.getStatut() + "', "
+ p.getMail() + ", '"
+ p.getLogin() + "', '"
+ p.getMdp() + "', '"
+ p.getAdresse() + "', '"
+ p.getVille() + "', '"
+ p.getBip() + "', '"
+ p.getNbGardes() + "', '"
+ p.getGrade() + "', '"
+ p.getCommentaire() + "', '"
+ p.getDateEnreg() + "', '"
+ p.getDateModif() + "');",
Statement.RETURN_GENERATED_KEYS);
// Recherche de l'identifiant du client créé
if (status > 0) {
ResultSet result = stmt.getGeneratedKeys();
if (result.first()) {
id = result.getInt(1);
id = result.getInt(1);
}
}
}
} catch (SQLException ex) {
System.out.println("SQLException : " + ex.getMessage());
System.out.println("SQLState : " + ex.getSQLState());
System.out.println("Code erreur : " + ex.getErrorCode());
}
}
return id;
}
/**
* Creation du client passé en paramètre dans la table client
* Requête préparée
* Creation du client passé en paramètre dans la table client Requête
* préparée
*
* @param c objet de type Client (sans identifiant)
* @return int : id du client créé
*/
public int createRP(Pompier p) {
int id = -1;
try {
try {
PreparedStatement stmt = null;
String sql = "INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
String sql = "INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
stmt = theConnection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
stmt.setString(1, p.getNom());
stmt.setString(2, p.getPrenom());
@ -139,20 +140,19 @@ public class PompierMysql {
stmt.setString(14, p.getDateModif());
System.out.println("Requête : " + stmt.toString());
int status = stmt.executeUpdate();
// Recherche de l'identifiant du client créé
if (status > 0) {
ResultSet result = stmt.getGeneratedKeys();
if (result.first()) {
id = result.getInt(1);
id = result.getInt(1);
}
}
}
} catch (SQLException ex) {
System.out.println("SQLException : " + ex.getMessage());
System.out.println("SQLState : " + ex.getSQLState());
System.out.println("Code erreur : " + ex.getErrorCode());
}
}
return id;
}

View File

@ -12,6 +12,7 @@ import java.util.Objects;
* @author thomas.millot
*/
public class Pompier {
private int id;
private int idCaserne;
private String nom;
@ -301,6 +302,5 @@ public class Pompier {
public String toString() {
return "Pompier{" + "id=" + id + ", idCaserne=" + idCaserne + ", nom=" + nom + ", prenom=" + prenom + ", Statut=" + Statut + ", typePers=" + typePers + ", mail=" + mail + ", login=" + login + ", mdp=" + mdp + ", adresse=" + adresse + ", cp=" + cp + ", ville=" + ville + ", bip=" + bip + ", nbGardes=" + nbGardes + ", grade=" + grade + ", commentaire=" + commentaire + ", dateEnreg=" + dateEnreg + ", dateModif=" + dateModif + '}';
}
}

View File

@ -6,28 +6,30 @@
package com.test.beans;
import java.util.Objects;
/**
*
* @author thomas.millot
*/
public class User {
private String pseudo;
private String mdp;
public User(String pseudo, String mdp){
public User(String pseudo, String mdp) {
this.pseudo = pseudo;
this.mdp = mdp;
this.mdp = mdp;
}
public String getPseudo(){
public String getPseudo() {
return pseudo;
}
public String getMdp(){
public String getMdp() {
return mdp;
}
public void setMdp(){
public void setMdp() {
this.mdp = mdp;
}

View File

@ -13,7 +13,7 @@ import jakarta.servlet.http.HttpServletRequest;
* @author thomas.millot
*/
public class AuthentifForm {
private String resultat;
public String getResultat() {
@ -24,20 +24,19 @@ public class AuthentifForm {
this.resultat = resultat;
}
public boolean controlerAdmin(HttpServletRequest request){
public boolean controlerAdmin(HttpServletRequest request) {
/* Comparaison entre l'utilisateur admin et un utilisateur créé
avec le pseudo et le mdp saisi */
User admin = new User("Lovelace", "Ada");
User userSaisi = new User( request.getParameter("ztPseudo"),
request.getParameter("ztMDP"));
User userSaisi = new User(request.getParameter("ztPseudo"),
request.getParameter("ztMDP"));
boolean isAdmin = userSaisi.equals(admin);
// Mise à jour de l'attribut resultat
setResultat(isAdmin ? "Vous êtes administrateur" : "Vous n'êtes pas administrateur");
return isAdmin;
}
}

View File

@ -15,9 +15,9 @@ import javax.xml.bind.DatatypeConverter;
*
* @author Dominique_2
*/
public abstract class MD5 {
public static String encode(String uneChaine){
public abstract class MD5 {
public static String encode(String uneChaine) {
MessageDigest md = null;
String myHash = null;
try {
@ -31,5 +31,5 @@ public abstract class MD5 {
return myHash;
}
}

View File

@ -35,7 +35,7 @@ public class AuthentifServlet extends HttpServlet {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet AuthentifServlet</title>");
out.println("<title>Servlet AuthentifServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet AuthentifServlet at " + request.getContextPath() + "</h1>");
@ -57,7 +57,7 @@ public class AuthentifServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
getServletContext().getRequestDispatcher("/WEB-INF/AuthentificationJSP.jsp").forward(request, response);
getServletContext().getRequestDispatcher("/WEB-INF/AuthentificationJSP.jsp").forward(request, response);
}
/**

View File

@ -35,7 +35,7 @@ public class ModifServlet extends HttpServlet {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ModifServlet</title>");
out.println("<title>Servlet ModifServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet ModifServlet at " + request.getContextPath() + "</h1>");
@ -57,7 +57,7 @@ public class ModifServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
getServletContext().getRequestDispatcher("/WEB-INF/ModifProfilJSP.jsp").forward(request, response);
getServletContext().getRequestDispatcher("/WEB-INF/ModifProfilJSP.jsp").forward(request, response);
}
/**
@ -84,4 +84,4 @@ public class ModifServlet extends HttpServlet {
return "Short description";
}// </editor-fold>
}
}

View File

@ -35,7 +35,7 @@ public class ProfilServlet extends HttpServlet {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ProfilServlet</title>");
out.println("<title>Servlet ProfilServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet ProfilServlet at " + request.getContextPath() + "</h1>");
@ -57,7 +57,7 @@ public class ProfilServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//processRequest(request, response);
getServletContext().getRequestDispatcher("/WEB-INF/ProfilJSP.jsp").forward(request, response);
getServletContext().getRequestDispatcher("/WEB-INF/ProfilJSP.jsp").forward(request, response);
}
/**
@ -84,4 +84,4 @@ public class ProfilServlet extends HttpServlet {
return "Short description";
}// </editor-fold>
}
}

View File

@ -5,23 +5,32 @@
--%>
<%@include file="jspf/enteteJSPF.jspf" %>
<div id="contenu">
<h2>Merci de vous identifier pour acceder aux dossiers</h2>
<form name="frmIdentification" method="POST" action="">
<fieldset><legend>Identification utilisateur</legend>
<br /><br />
<label for="nom">Nom du compte</label>
<input id="login" type="text" name="login" size="30" maxlength="45" placeholder="Entrez votre nom d'Utilisateur">
</p>
<p>
<label for="mdp">Mot de passe</label>
<input id="mdp" type="password" name="mdp" size="30" maxlength="45" placeholder="Entrez votre Mot de Passe">
</p><br /><br />
<input type="submit" name="valider" value="Valider">
<input type="reset" name="annuler" value="Annuler">
</p>
</fieldset>
</form>
<br /><br />
<h2>Merci de vous identifier pour acceder aux dossiers</h2>
<form name="frmIdentification" method="POST" action="">
<c:choose>
<c:when test="${empty param.ztPseudo}">
<fieldset><legend>Identification utilisateur</legend>
<br /><br />
<label for="nom">Nom du compte</label>
<input id="login" type="text" name="login" size="30" maxlength="45" placeholder="Entrez votre nom d'Utilisateur">
</p>
<p>
<label for="mdp">Mot de passe</label>
<input id="mdp" type="password" name="mdp" size="30" maxlength="45" placeholder="Entrez votre Mot de Passe">
</p><br /><br />
<input type="submit" name="valider" value="Valider">
<input type="reset" name="annuler" value="Annuler">
</p>
</fieldset>
</c:when>
<c:otherwise>
<!-- Si l'utilisateur s'est authentifié,
Affichage du message contenu dans l'objet controlForm de type AuthentifForm -->
<p>${controlForm.getResultat()}</p>
</c:otherwise>
</c:choose>
</form>
<br /><br/>
</div>