I listed the codes for the following project below. The Login page loads normally; when I input
Question:
I listed the codes for the following project below. The Login page loads normally; when I input the correct username and password in the Members page, it doesn't take me to "Welcome to the Members Area" page with the logout hyperlink at the bottom. Instead, it just clears the username and password fields and nothing happens; when I try to load the Logout page, I get a 405 error and I'm stuck on how to bypass it and make the whole code work. Apache Tomcat is configured and working fine. Could you help? Everything needs to be done using Java Servlets. Thank you.
Login:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/Login")
public class Login extends HttpServlet {
private final String USERNAME = "cysun";
private final String PASSWORD = "abcd";
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("
out.println("
Login
");out.println("
");out.println("");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
if (username.equals(USERNAME) && password.equals(PASSWORD)) {
HttpSession session = request.getSession();
session.setAttribute("user", username);
response.sendRedirect("Members");
} else {
response.sendRedirect("Login");
}
}
}
Members:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/Members")
public class Members extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession(false);
if (session != null && session.getAttribute("loggedIn") != null && (boolean) session.getAttribute("loggedIn")) {
// User is logged in
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("
out.println("
Welcome to the Members Area
");out.println("
");out.println("");
} else {
// User is not logged in; redirect to login page
response.sendRedirect("Login");
}
}
}
Logout:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/Logout")
public class Logout extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate();
}
response.sendRedirect("Login");
}
}