Select Git revision
-
Yannis Devos authoredYannis Devos authored
Feed.java 3.62 KiB
package controleurs;
import dao.ThreadDAO;
import dao.UserDAO;
import dto.Message;
import dto.MyThread;
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) {
System.out.println("Utilisateur connecté :" + req.getSession().getAttribute("user"));
UserDAO userDao = new UserDAO();
ThreadDAO threadDao = new ThreadDAO();
PrintWriter out = res.getWriter();
String login = (String) req.getSession().getAttribute("login");
System.out.println(login);
User user = userDao.getUserByLogs(login, req.getSession().getAttribute("password").toString());
if (user != null) {
List<Message> messages = null;
try {
messages = userDao.getMostRecentMessages(user);
} catch (SQLException e) {
throw new RuntimeException(e);
}
out.println("<html><body><meta charset=\"utf-8\">");
out.println("<link rel=\"stylesheet\" href=\"css/feed.css\">");
out.println("<title>Welcome</title>");
out.println("<h1>Welcome " + login + "</h1>");
out.println("<nav>");
out.println("<ul class=\"menu\">");
out.println("<li class=\"menu_option\"><a href=\"#\">\uD83C\uDFE0 Home</a></li>");
out.println("<li class=\"menu_option\"><a href=\"#\">\uD83E\uDDF5 Followed</a></li>");
out.println("<li class=\"menu_option\"><a href=\"#\">\uD83D\uDC64 Account</a></li>");
out.println("</ul></nav>");
if (!messages.isEmpty()) {
for (Message message : messages) {
MyThread msgThread = null;
try {
msgThread = threadDao.getThreadById(message.getThreadId());
} catch (SQLException e) {
throw new RuntimeException(e);
}
out.println("<div class=\"message\">");
out.println("<h3 class=\"msgThread\">" + msgThread.getThreadName() + "</h3>");
out.println("<p class=\"msgContent\">" + message.getContent() + "</p>");
out.println("<form><button class=\"react\" type=\"submit\" value=\"Like\">Like</button>");
out.println("</div>");
}
}
else {
out.println("<p class=\"information\">You are not following any thread yet.</p>");
out.println("<button><a href=\"\">Discover new threads</a></button>");
}
out.println("<a href=\"http://localhost:8080/s4a021-web-backend/NewThread\">Create a new thread</a>");
out.println("</body>");
out.println("<footer>");
out.println("Connected as " + login);
out.println("</footer>");
out.println("</html>");
}
} else {
res.sendRedirect("http://localhost:8080/s4a021-web-backend/index.html");
}
}
}