diff --git a/proj/AP31-Projet1.war b/proj/AP31-Projet1.war new file mode 100644 index 0000000..10cc4c2 Binary files /dev/null and b/proj/AP31-Projet1.war differ diff --git a/src/java/bdd/PompierMysql.java b/src/java/bdd/PompierMysql.java index 441bf99..ef226e8 100644 --- a/src/java/bdd/PompierMysql.java +++ b/src/java/bdd/PompierMysql.java @@ -44,8 +44,30 @@ public class PompierMysql { System.out.println("Select * FROM pompier WHERE login = '"+userSaisi+"' AND mdp = '"+mdpChiffre+"';"); stmt = theConnection.createStatement(); ResultSet resultQ = null; - resultQ = stmt.executeQuery("Select * FROM pompier WHERE login = '"+userSaisi+"' AND mdp = '"+mdpChiffre+"';"); - reponse = resultQ.next(); + resultQ = stmt.executeQuery("SELECT * FROM pompier"); + while (resultQ.next()) { + unPompier = new Pompier(resultQ.getInt("id"), + resultQ.getString("nom"), + resultQ.getString("prenom"), + resultQ.getString("statut"), + resultQ.getString("typePers"), + resultQ.getString("mail"), + resultQ.getString("login"), + resultQ.getString("mdp"), + resultQ.getString("adresse"), + resultQ.getInt("cp"), + resultQ.getString("ville"), + resultQ.getInt("bip"), + resultQ.getInt("nbGardes"), + resultQ.getInt("grade"), + resultQ.getString("commentaire"), + resultQ.getString("dateEnreg"), + resultQ.getString("dateModif")); + lesPompiers.add(unPompier); + } + resultQ.close(); + stmt.close(); + //theConnection.close(); } catch (SQLException ex) { Logger.getLogger(PompierMysql.class.getName()).log(Level.SEVERE, null, ex); } @@ -53,4 +75,120 @@ public class PompierMysql { return reponse; } + /** + * 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 { + 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); + + // Recherche de l'identifiant du client créé + if (status > 0) { + ResultSet result = stmt.getGeneratedKeys(); + if (result.first()) {Merge origin/master + +Conflicts: + web/WEB-INF/AuthentificationJSP.jsp + web/WEB-INF/ProfilJSP.jsp + 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 + * + * @param c objet de type Client (sans identifiant) + * @return int : id du client créé + */ + public int createRP(Pompier p) { + int id = -1; + 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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"; + stmt = theConnection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); + stmt.setString(1, p.getNom()); + stmt.setString(2, p.getPrenom()); + stmt.setString(3, p.getStatut()); + stmt.setString(4, p.getMail()); + stmt.setString(5, p.getLogin()); + stmt.setString(6, p.getMdp()); + stmt.setString(7, p.getAdresse()); + stmt.setString(8, p.getVille()); + stmt.setInt(9, p.getBip()); + stmt.setInt(10, p.getNbGardes()); + stmt.setInt(11, p.getGrade()); + stmt.setString(12, p.getCommentaire()); + stmt.setString(13, p.getDateEnreg()); + 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); + } + } + } catch (SQLException ex) { + System.out.println("SQLException : " + ex.getMessage()); + System.out.println("SQLState : " + ex.getSQLState()); + System.out.println("Code erreur : " + ex.getErrorCode()); + } + return id; + } + + public boolean readPompier(HttpServletRequest request) { + boolean reponse = false; + Statement stmt; + String userSaisi = request.getParameter("ztPseudo"); + String mdpSaisi = request.getParameter("ztMDP"); + String mdpChiffre = MD5.encode(mdpSaisi); + System.out.println("userSaisi : "+ userSaisi); + System.out.println("mdpSaisi : "+ mdpChiffre); + try { + System.out.println("Select * FROM pompier WHERE login = '"+userSaisi+"' AND mdp = '"+mdpChiffre+"';"); + stmt = theConnection.createStatement(); + ResultSet resultQ = null; + resultQ = stmt.executeQuery("Select * FROM pompier WHERE login = '"+userSaisi+"' AND mdp = '"+mdpChiffre+"';"); + reponse = resultQ.next(); + } catch (SQLException ex) { + Logger.getLogger(PompierMysql.class.getName()).log(Level.SEVERE, null, ex); + } + + return reponse; + + } + } diff --git a/src/java/com/test/servlets/AuthentifServlet.java b/src/java/com/test/servlets/AuthentifServlet.java index 50eec49..0442cf4 100644 --- a/src/java/com/test/servlets/AuthentifServlet.java +++ b/src/java/com/test/servlets/AuthentifServlet.java @@ -73,16 +73,18 @@ public class AuthentifServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Création de l'objet leControle de type AuthentifForm - AuthentifForm leControle = new AuthentifForm(); - // Appel de la méthode controlerAdmin - String isAdmin = leControle.AuthentifPompier(request); - // Création de 2 attributs de requête (isAdmin et leControle) - request.setAttribute("isAdmin", isAdmin); - request.setAttribute("controlForm", leControle); - - // Affichage de la JSP - getServletContext().getRequestDispatcher("/WEB-INF/ProfilJSP.jsp") + AuthentifForm leControle = new AuthentifForm(); + // Appel de la méthode authentifPompier + if(leControle.authentifPompier(request)) + { + getServletContext().getRequestDispatcher("/WEB-INF/ProfilJSP.jsp") + .forward(request, response); + } + else + { + getServletContext().getRequestDispatcher("/WEB-INF/AuthentificationJSP.jsp") .forward(request, response); + } } /** diff --git a/web/WEB-INF/AuthentificationJSP.jsp b/web/WEB-INF/AuthentificationJSP.jsp index fa94c5c..5822fb8 100644 --- a/web/WEB-INF/AuthentificationJSP.jsp +++ b/web/WEB-INF/AuthentificationJSP.jsp @@ -10,7 +10,7 @@

Merci de vous identifier pour acceder aux dossiers

-
+
Identification utilisateur @@ -28,8 +28,7 @@
- +

${controlForm.getResultat()}

diff --git a/web/WEB-INF/ProfilJSP.jsp b/web/WEB-INF/ProfilJSP.jsp index ab274ae..1c37f1d 100644 --- a/web/WEB-INF/ProfilJSP.jsp +++ b/web/WEB-INF/ProfilJSP.jsp @@ -5,15 +5,15 @@
Coordonnées Pompier - - - - - - - - - + + + + + + + + +
Nom :
Prénom :
Adresse :
Ville :
Code postal :
Téléphone :
Mail :
Statut :
Grade :
Nom :
Prénom :
Adresse :
Ville :
Code postal :
Téléphone :
Mail :
Statut :
Grade :
Coordonnées Employeur