Skip to content
Snippets Groups Projects
Commit 1de65d2e authored by Alexandre Dehaine's avatar Alexandre Dehaine
Browse files

v1

parent 6eadfff6
No related branches found
No related tags found
No related merge requests found
{
"java.project.sourcePaths": [
"WEB-INF/classes",
"WEB-INF/lib"
],
"java.project.referencedLibraries": [
"/home/infoetu/alexandre.dehaine.etu/tomcat/lib/annotations-api.jar",
"/home/infoetu/alexandre.dehaine.etu/tomcat/webapps/sae-r4.01/WEB-INF/lib/postgresql-42.7.4.jar",
"/home/infoetu/alexandre.dehaine.etu/tomcat/webapps/sae-r4.01/WEB-INF/lib/chesslib-1.1.8.jar"
],
"java.project.outputPath": "WEB-INF/classes"
}
\ No newline at end of file
......@@ -47,7 +47,7 @@ CREATE TABLE Messages
INSERT INTO Messages(message, utilisateur, idConv)
VALUES('Hello', (SELECT email FROM Utilisateur WHERE email = 'audrey.v.etu@univ-lille.fr'), (SELECT idConv FROM Conversations WHERE nomConv = 'Conversation 1'));
-- Créations d'une Conversation 2 et de messages
INSERT INTO Conversations(nomConv, createur)
INSERT INTO Conversations(nomConv, createur, pwd)
VALUES('Conversation 2', (SELECT email FROM Utilisateur WHERE email = 'alexandre.dehaine.etu@univ-lille.fr'), MD5('mdp'));
INSERT INTO Messages(message, utilisateur, idConv)
VALUES('Conv 2', (SELECT email FROM Utilisateur WHERE email = 'alexandre.dehaine.etu@univ-lille.fr'), (SELECT idConv FROM Conversations WHERE nomConv = 'Conversation 2'));
......
No preview for this file type
No preview for this file type
......@@ -7,7 +7,7 @@ public interface ConversationDao {
List<Message> findAllMessages(int idConv);
List<Utilisateur> findAllUtilisateurs(int idConv);
List<Conversation> findByUser(String email);
boolean createConversation(String nomConv, Utilisateur createur, String pwd);
int createConversation(String nomConv, Utilisateur createur, String pwd);
boolean deleteConversation(int idConv);
boolean goodPwd(int idConv, String pwd);
}
package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.*;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
......@@ -94,21 +89,32 @@ public class ConversationJdbcDao implements ConversationDao{
}
@Override
public boolean createConversation(String nomConv, Utilisateur createur, String pwd) {
try (Connection con = getCon(); Statement stmt = con.createStatement()) {
public int createConversation(String nomConv, Utilisateur createur, String pwd) {
try (Connection con = getCon()) {
// Utilisation de PreparedStatement avec Statement.RETURN_GENERATED_KEYS pour récupérer l'ID généré
String sql = "INSERT INTO Conversations(nomConv, createur, pwd) VALUES('"+nomConv+"', '"+createur.getEmail()+"', MD5('"+pwd+"'));";
System.err.println(sql);
ResultSet rs = stmt.executeQuery(sql);
rs.next();
rs.close();
con.close();
return true;
}catch (SQLException e) {
// Préparer la requête pour insertion avec des paramètres
try (PreparedStatement pstmt = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
// Exécuter la requête d'insertion
pstmt.executeUpdate();
// Récupérer les clés générées
try (ResultSet rs = pstmt.getGeneratedKeys()) {
if (rs.next()) {
// Récupérer l'ID généré
int res = rs.getInt(1); // Le premier champ dans ResultSet est l'ID auto-généré
return res;
}
}
}
} catch (SQLException e) {
System.out.println("Erreur lors de l'accès à la base de données : " + e.getMessage());
e.printStackTrace();
}
return false;
}
return 0; // Retourner 0 en cas d'erreur
}
@Override
public boolean deleteConversation(int idConv) {
......
......@@ -40,11 +40,13 @@
response.sendRedirect("http://localhost:8080/sae-r4.01/accueil.jsp?idConv=" + selectedConvId);
}
}
if(request.getParameter("param") == "create"){
jdbcConv.createConversation(request.getParameter("nomConv") ,utilisateur, request.getParameter("pwd"));
if(request.getParameter("param") != null && request.getParameter("param").equals("create")){
System.out.println("suce");
selectedConvId = jdbcConv.createConversation(request.getParameter("nomConv") ,utilisateur, request.getParameter("pwd"));
jdbcMessage.createMessage(utilisateur, request.getParameter("Message"), selectedConvId);
response.sendRedirect("http://localhost:8080/sae-r4.01/accueil.jsp?idConv=" + selectedConvId);
}
System.out.println("bite");
%>
<br>
......@@ -100,7 +102,7 @@
out.println("<label for=\"idConv,\">Identifiant de la conversation:</label>");
out.println("<input type=\"text\" id=\"idConv\" name=\"idConv\">");
out.println("<label for=\"pwd\">Mot de passe:</label>");
out.println("<input type=\"text\" id=\"pwd\" name=\"pwd\">");
out.println("<input type=\"password\" id=\"pwd\" name=\"pwd\">");
out.println("<label for=\"Message\">Message:</label>");
out.println("<input type=\"text\" id=\"Message\" name=\"Message\">");
out.println("<button type=\"submit\" name=\"param\" value = \"join\" class=\"btn btn-primary\">Rejoindre</button>");
......@@ -109,13 +111,14 @@
<h3>Créer une conversation :</h3>
<%
out.println("<form action='accueil.jsp' method='get'>");
out.println("<label for=\"nomConv\">Nom de la conversation:</label>");
out.println("<input type=\"text\" id=\"nomConv\" name=\"nomConv\">");
out.println("<label for=\"pwd\">Mot de passe:</label>");
out.println("<input type=\"text\" id=\"pwd\" name=\"pwd\">");
out.println("<input type=\"password\" id=\"pwd\" name=\"pwd\">");
out.println("<label for=\"Message\">Message:</label>");
out.println("<input type=\"text\" id=\"Message\" name=\"Message\">");
out.println("<button type=\"submit\" name=\"param\" value = \"create\" class=\"btn btn-primary\">Créer</button>");
out.println("<button type=\"submit\" name=\"param\" value =\"create\" class=\"btn btn-primary\">Créer</button>");
out.println("</form>");
%>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment