Skip to content
Snippets Groups Projects
Commit 181ea2d3 authored by Charlie Darques's avatar Charlie Darques
Browse files

début d'implémentation de page d'accueil avec ajouts de méthodes pour...

début d'implémentation de page d'accueil avec ajouts de méthodes pour récupérer les threads suivis d'un user et un thread par son id
parent 42f9ee51
No related branches found
No related tags found
No related merge requests found
package controleurs;
import dao.ThreadDAO;
import dao.UserDAO;
import dto.User;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
@WebServlet("/Welcome")
public class Feed extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse res)
throws IOException {
if (req.getSession().getAttribute("user") != null) {
UserDAO userDao = new UserDAO();
ThreadDAO threadDao = new ThreadDAO();
PrintWriter out = res.getWriter();
String login = req.getParameter("login");
User user = userDao.getUserByLogs(login, req.getParameter("password"));
if (user != null) {
List<Thread> threadsFollowed = null;
try {
threadsFollowed = userDao.getThreadsByUser(user);
} catch (SQLException e) {
throw new RuntimeException(e);
}
out.println("<html><body><meta charset=\"utf-8\">");
out.println("<title>Welcome</title>");
out.println("<h1>Welcome " + login + "</h1>");
out.println("");
out.println("</body>");
out.println("<footer>");
out.println("Connecté en tant que " + login);
out.println("</footer>");
out.println("</html>");
}
} else {
res.sendRedirect("http://localhost:8080/s4a021-web-backend/index.html");
}
}
}
......@@ -21,6 +21,8 @@ public class LogIn extends HttpServlet {
if (userdao.isDatabased(user)){
out.println("<h1>Bienvenue " + user.getUserName() + " !</h1>");
req.getSession().setAttribute("user", user);
res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome");
}else{
out.println("<h1>Partez de chez moi ?!</h1>");
}
......
......@@ -19,15 +19,22 @@ public class SignUp extends HttpServlet {
String login = req.getParameter("login");
String pwd = req.getParameter("pwd");
userdao.createUser(login, pwd);
User user = userdao.getUserByLogs(login, pwd);
if (login == null || pwd == null) {
out.println("<h1>Erreur</h1>");
}
else {
userdao.createUser(login, pwd);
User user = userdao.getUserByLogs(login, pwd);
if (user != null && userdao.isDatabased(user)){
out.println("<h1>Bienvenue " + user.getUserName() + " !</h1>");
}else{
out.println("<h1>Partez de chez moi ?!</h1>");
userdao.removeUser(user);
if (user != null && userdao.isDatabased(user)){
out.println("<h1>Bienvenue " + user.getUserName() + " !</h1>");
req.getSession().setAttribute("user", user);
res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome");
}else{
out.println("<h1>Partez de chez moi ?!</h1>");
userdao.removeUser(user);
}
}
}
}
......@@ -9,7 +9,7 @@ public class BDConnection {
public BDConnection(){
try{
Class.forName("org.postgresql.Driver");
this.connection = DriverManager.getConnection("jdbc:postgresql://psqlserv/but2", "yannisdevosetu", "moi");
this.connection = DriverManager.getConnection("jdbc:postgresql://psqlserv/but2", "yannis.devos.etu", "moi");
} catch (Exception e) {
e.getStackTrace();
}
......
......@@ -35,6 +35,23 @@ public class ThreadDAO {
return messages;
}
public Thread getThreadById(int threadID) throws SQLException {
Thread thread = new Thread();
PreparedStatement ps = this.con.prepareStatement("SELECT threadID, threadName FROM thread WHERE threadID = ?");
try {
ps.setInt(1, threadID);
ResultSet rs = ps.executeQuery();
if(rs.next()){
thread.setThreadID(rs.getInt(1));
thread.setName(rs.getString(2));
}
}
catch (SQLException sqle) {
sqle.getStackTrace();
}
return thread;
}
public List<Message> getAllMessagesFromThread(int threadId){
ArrayList<Message> messages = new ArrayList<>();
try{
......
......@@ -180,4 +180,17 @@ public class UserDAO extends HttpServlet{
sqle.getStackTrace();
}
}
// Récupérer les thread auxquels un utilisateur est abonné
public List<Thread> getThreadsByUser(User user) throws SQLException {
List<Thread> threads = new ArrayList<>();
PreparedStatement ps = this.con.prepareStatement("SELECT threadID_follow FROM follow WHERE userID_follow = ?");
try {
ps.setInt(1, user.getId());
ResultSet rs = ps.executeQuery();
while(rs.next()){
}
}
}
}
\ No newline at end of file
<!DOCTYPE html>
<html lang="fr">
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Create Account</title>
......
<!doctype html>
<html lang="fr">
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment