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

v1

parent 6eadfff6
Branches
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