Compare commits

..

7 Commits

Author SHA1 Message Date
funcha.ahamadi
6f28642e3d Merge origin/master
Conflicts:
	src/java/com/test/forms/AuthentifForm.java
	web/WEB-INF/PompierJSP.jsp
2021-10-20 11:00:53 +02:00
funcha.ahamadi
99b4e221cc Merge origin/master
Conflicts:
	web/WEB-INF/ChefCaserneJSP.jsp
	web/WEB-INF/ModifPompier.jsp
	web/WEB-INF/jspf/enteteJSPF.jspf
2021-10-20 10:58:58 +02:00
clementine.desrucques
75c661ec0c 2021-10-20 09:45:37 +02:00
clementine.desrucques
38f7598b29 2021-10-20 09:27:10 +02:00
funcha.ahamadi
e8b93840d1 V2 funcha 2021-10-20 09:07:28 +02:00
clementine.desrucques
2cd34c6386 2021-10-20 09:06:20 +02:00
clementine.desrucques
580e1ad3d3 2021-10-20 08:58:06 +02:00
12 changed files with 316 additions and 19 deletions

View File

@@ -43,7 +43,7 @@ j2ee.compile.on.save=true
j2ee.copy.static.files.on.save=true
j2ee.deploy.on.save=true
j2ee.platform=1.7-web
j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar:${j2ee.server.home}/lib/catalina-ant.jar:${j2ee.server.home}/lib/catalina-ha.jar:${j2ee.server.home}/lib/catalina-ssi.jar:${j2ee.server.home}/lib/catalina-storeconfig.jar:${j2ee.server.home}/lib/catalina-tribes.jar:${j2ee.server.home}/lib/catalina.jar:${j2ee.server.home}/lib/ecj-4.20.jar:${j2ee.server.home}/lib/el-api.jar:${j2ee.server.home}/lib/jakartaee-migration-1.0.0-shaded.jar:${j2ee.server.home}/lib/jasper-el.jar:${j2ee.server.home}/lib/jasper.jar:${j2ee.server.home}/lib/jaspic-api.jar:${j2ee.server.home}/lib/jsp-api.jar:${j2ee.server.home}/lib/servlet-api.jar:${j2ee.server.home}/lib/tomcat-api.jar:${j2ee.server.home}/lib/tomcat-coyote.jar:${j2ee.server.home}/lib/tomcat-dbcp.jar:${j2ee.server.home}/lib/tomcat-i18n-cs.jar:${j2ee.server.home}/lib/tomcat-i18n-de.jar:${j2ee.server.home}/lib/tomcat-i18n-es.jar:${j2ee.server.home}/lib/tomcat-i18n-fr.jar:${j2ee.server.home}/lib/tomcat-i18n-ja.jar:${j2ee.server.home}/lib/tomcat-i18n-ko.jar:${j2ee.server.home}/lib/tomcat-i18n-pt-BR.jar:${j2ee.server.home}/lib/tomcat-i18n-ru.jar:${j2ee.server.home}/lib/tomcat-i18n-zh-CN.jar:${j2ee.server.home}/lib/tomcat-jdbc.jar:${j2ee.server.home}/lib/tomcat-jni.jar:${j2ee.server.home}/lib/tomcat-util-scan.jar:${j2ee.server.home}/lib/tomcat-util.jar:${j2ee.server.home}/lib/tomcat-websocket.jar:${j2ee.server.home}/lib/websocket-api.jar
j2ee.platform.classpath=${j2ee.server.domain}/lib/annotations-api.jar:${j2ee.server.domain}/lib/catalina-ant.jar:${j2ee.server.domain}/lib/catalina-ha.jar:${j2ee.server.domain}/lib/catalina-ssi.jar:${j2ee.server.domain}/lib/catalina-storeconfig.jar:${j2ee.server.domain}/lib/catalina-tribes.jar:${j2ee.server.domain}/lib/catalina.jar:${j2ee.server.domain}/lib/ecj-4.20.jar:${j2ee.server.domain}/lib/el-api.jar:${j2ee.server.domain}/lib/jakartaee-migration-1.0.0-shaded.jar:${j2ee.server.domain}/lib/jasper-el.jar:${j2ee.server.domain}/lib/jasper.jar:${j2ee.server.domain}/lib/jaspic-api.jar:${j2ee.server.domain}/lib/jsp-api.jar:${j2ee.server.domain}/lib/servlet-api.jar:${j2ee.server.domain}/lib/tomcat-api.jar:${j2ee.server.domain}/lib/tomcat-coyote.jar:${j2ee.server.domain}/lib/tomcat-dbcp.jar:${j2ee.server.domain}/lib/tomcat-i18n-cs.jar:${j2ee.server.domain}/lib/tomcat-i18n-de.jar:${j2ee.server.domain}/lib/tomcat-i18n-es.jar:${j2ee.server.domain}/lib/tomcat-i18n-fr.jar:${j2ee.server.domain}/lib/tomcat-i18n-ja.jar:${j2ee.server.domain}/lib/tomcat-i18n-ko.jar:${j2ee.server.domain}/lib/tomcat-i18n-pt-BR.jar:${j2ee.server.domain}/lib/tomcat-i18n-ru.jar:${j2ee.server.domain}/lib/tomcat-i18n-zh-CN.jar:${j2ee.server.domain}/lib/tomcat-jdbc.jar:${j2ee.server.domain}/lib/tomcat-jni.jar:${j2ee.server.domain}/lib/tomcat-util-scan.jar:${j2ee.server.domain}/lib/tomcat-util.jar:${j2ee.server.domain}/lib/tomcat-websocket.jar:${j2ee.server.domain}/lib/websocket-api.jar
j2ee.server.type=Tomcat
jar.compress=false
javac.classpath=\

View File

@@ -33,10 +33,10 @@ public class PompierMySql {
}
/**
* Creation du client passé en paramètre dans la table client
* Creation du pompier passé en paramètre dans la table pompier
* Requête non préparée
* @param c objet de type Client (sans identifiant)
* @return int : id du client créé
* @param p objet de type Pompier (sans identifiant)
* @return int : id du Pompier créé
*/
public int create(Pompier p) {
int id = -1;
@@ -58,6 +58,8 @@ public class PompierMySql {
+ p.getGrade()+ "' );",
Statement.RETURN_GENERATED_KEYS);
// Recherche de l'identifiant du pompier créé
if (status > 0) {
ResultSet result = stmt.getGeneratedKeys();
@@ -74,10 +76,10 @@ public class PompierMySql {
}
/**
* Creation du client passé en paramètre dans la table client
* Creation du pompier passé en paramètre dans la table pompier
* Requête préparée
* @param c objet de type Client (sans identifiant)
* @return int : id du client créé
* @param p objet de type Pompier (sans identifiant)
* @return int : id du pompier créé
*/
public int createRP(Pompier p) {
int id = -1;

View File

@@ -11,11 +11,11 @@ import java.util.Objects;
*
* @author clementine.desrucques
*/
public class User {
public class UserP {
private String pseudo;
private String mdp;
public User(String pseudo, String mdp) {
public UserP(String pseudo, String mdp) {
this.pseudo = pseudo;
this.mdp = mdp;
}
@@ -55,7 +55,7 @@ public class User {
if (getClass() != obj.getClass()) {
return false;
}
final User other = (User) obj;
final UserP other = (UserP) obj;
if (!Objects.equals(this.pseudo, other.pseudo)) {
return false;
}
@@ -64,5 +64,7 @@ public class User {
}
return true;
}
}

View File

@@ -5,7 +5,8 @@
*/
package com.test.forms;
import com.test.beans.User;
import com.test.beans.Pompier;
import com.test.beans.UserP;
import jakarta.servlet.http.HttpServletRequest;
import java.sql.Connection;
import java.sql.ResultSet;
@@ -37,14 +38,16 @@ public class AuthentifForm {
* @param request
* @return true is ok, false sinon
*/
public boolean controlerRole(HttpServletRequest request) {
/* Comparaison entre l'utilisateur admin et un utilisateur créé
avec le pseudo et le mdp saisi */
User ChefCaserne = new User("Michel", "mRANN");
User userSaisi = new User( request.getParameter("ztPseudo"),
// UserP ChefCaserne = new UserP("Michel", "mRANN");
UserP userSaisi = new UserP( request.getParameter("ztPseudo"),
request.getParameter("ztMDP"));
boolean isChef = userSaisi.equals(ChefCaserne);
if(request.getParameter("ztPseudo").equals(request)){
boolean isChef = userSaisi;
}
// Mise à jour de l'attribut resultat
setResultat(isChef ? "Vous êtes chef de caserne" : "Vous n'êtes pas chef de caserne");

View File

@@ -46,7 +46,7 @@ public class NouveauPompForm {
if (erreur > 0) return -1;
// Creation d'un objet de type Client avec les données transmises
// String mdpChiffre = MD5.encode(request.getParameter("ztMDP"));
String mdpChiffre = MD5.encode(request.getParameter("ztMDP"));
Pompier unPompier = new Pompier(request.getParameter("id"),
request.getParameter("idCaserne"),
request.getParameter("ztNom"),

View File

@@ -0,0 +1,106 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.test.servlets;
import com.test.forms.NouveauPompForm;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
/**
*
* @author clementine.desrucques
*/
public class CreaPompierServlet 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 CreaPompierServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet CreaPompierServlet 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 {
// processRequest(request, response);
getServletContext().getRequestDispatcher("/WEB-INF/CreaPompier.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 {
NouveauPompForm nvp = new NouveauPompForm();
int idPomp = nvp.verifNouveauPompier(request);
request.setAttribute("idPompier", idPomp);
request.setAttribute("message", nvp.getMessage());
if (idPomp != -1){
HttpSession maSession = request.getSession();
ArrayList<Integer> lesNouveauxPompiers = (ArrayList<Integer>) maSession.getAttribute("lesNvxPompiers");
if (lesNouveauxPompiers == null){
lesNouveauxPompiers = new ArrayList<>();
}
lesNouveauxPompiers.add(idPomp);
maSession.setAttribute("lesNvxPompiers", lesNouveauxPompiers);
}
getServletContext().getRequestDispatcher("/WEB-INF/CreaPompier.jsp").forward(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

@@ -0,0 +1,87 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.test.servlets;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
*
* @author clementine.desrucques
*/
public class ModifPompierServlet 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 ModifPompierServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet ModifPompierServlet 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 {
processRequest(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>
}

36
src/java/util/MD5.java Normal file
View File

@@ -0,0 +1,36 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package util;
/**
*
* @author sio
*/
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;
public abstract class MD5 {
public static String encode(String uneChaine){
MessageDigest md = null;
try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException ex) {
throw new IllegalArgumentException(ex);
}
md.update(uneChaine.getBytes());
byte[] digest = md.digest();
//myHash = DatatypeConverter.printHexBinary(digest).toLowerCase();
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}

View File

@@ -48,12 +48,14 @@
<td><c:out value="${unPompier.getAdrCP()}"/></td>
<td><c:out value="${unPompier.getAdrVille()}"/></td>
<td><c:out value="${unPompier.getGrade()}"/></td>
<td><c:out value="${unPompier.getCom()}"/></td>
</tr>
</c:forEach>
</tbody>
</table>
<br />
<input type="button" name="btNouvP" value="Créer nouveau pompier"/>
<a href="ModifPompier"><input type="button" name="btModifP" value="Modifier la fiche pompier"/></a>
<a href="CreaPompier" ><input type="button" name="btNouvP" value="Créer nouveau pompier"/></a>
</body>
</html>

View File

@@ -13,6 +13,48 @@
</head>
<body>
<h1>Modification des informations :</h1>
<fieldset>
<legend>Fiche Pompier</legend>
<form name="fPompier" method="POST" action="ModifPompier">
<label for="nIdCaserne">Id Caserne : </label>
<input type="number" name="nIdCaserne"/><br /><br/>
<label for="ztNom">Nom : </label>
<input type="text" name="ztNom" placeholder="Nom" /><br /><br/>
<label for="ztPrenom">Prénom : </label>
<input type="text" name="ztPrenom" placeholder="Prénom"/><br /><br/>
<label for="nStatut">Numéro de statut : </label>
<input type="number" name="nStatut"/><br /><br/>
<label for="eMail">Mail : </label>
<input type="email" name="eMail"/><br /><br/>
<label for="ztLogin">Login : </label>
<input type="text" name="ztLogin" placeholder="Login"/><br /><br/>
<label for="ztMDP">Mot de passe : </label>
<input type="password" name="ztMDP" placeholder="Mot de passe" /><br /><br />
<label for="nAdrNo">Numéro de rue : </label>
<input type="number" name="nAdrNo"/><br /><br/>
<label for="ztAdrRue">Nom de la rue : </label>
<input type="text" name="ztAdrRue" placeholder="Rue" /><br /><br/>
<label for="ztAdrCP">Code postal : </label>
<input type="text" name="ztAdrCP" placeholder="Code postal" /><br /><br/>
<label for="ztAdrVille">Ville : </label>
<input type="text" name="ztAdrVille" placeholder="Ville" /><br /><br/>
<label for="nGrade">Numéro de grade : </label>
<input type="number" name="nGrade"/><br /><br/>
<input type="submit" value="Valider" />
</form>
</fieldset>
<c:out value="${unClient.getId()}"/></td>
<c:out value="${unClient.getCivilite()}"/>
<c:out value="${unClient.getNom()}"/>
<c:out value="${unClient.getPrenom()}"/>
<c:out value="${unClient.getMdp()}"/>
<c:out value="${unClient.getAdrNo()}"/>
<c:out value="${unClient.getAdrRue()}"/>
<c:out value="${unClient.getAdrVille()}"/>
<c:out value="${unClient.getAdrCP()}"/>
<c:out value="${unClient.getAdrmail()}"/>
<c:out value="${unClient.getTel()}"/>
<c:out value="${unClient.getDateNais()}"/></td>
</body>
</html>

View File

@@ -9,9 +9,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<title>Pompier</title>
</head>
<body>
<h1>Hello World!</h1>
<a href="ModifPompier"><input type="button" name="btModifP" value="Modifier la fiche pompier"/></a>
</body>
</html>

View File

@@ -12,6 +12,14 @@
<servlet-name>authentifServlet</servlet-name>
<servlet-class>com.test.servlets.authentifServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ModifPompierServlet</servlet-name>
<servlet-class>com.test.servlets.ModifPompierServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>CreaPompierServlet</servlet-name>
<servlet-class>com.test.servlets.CreaPompierServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PompierServlet</servlet-name>
<url-pattern>/Pompier</url-pattern>
@@ -24,6 +32,14 @@
<servlet-name>authentifServlet</servlet-name>
<url-pattern>/Authentification</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ModifPompierServlet</servlet-name>
<url-pattern>/ModifPompier</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CreaPompierServlet</servlet-name>
<url-pattern>/CreaPompier</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30