HTTPSession Session Management
Fri Nov 15 2024 14:59:35 GMT+0000 (Coordinated Universal Time)
Saved by @signup_returns
//login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login Page</title>
</head>
<body>
<h2>Login Page</h2>
<form action="LoginServlet" method="post">
<label for="username">Enter Username:</label>
<input type="text" id="username" name="username" required>
<br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
//LoginServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
// Get the username from the request
String username = request.getParameter("username");
if (username != null && !username.isEmpty()) {
// Create a session and store the username
HttpSession session = request.getSession();
session.setAttribute("username", username);
// Redirect to the welcome page
response.sendRedirect("WelcomeServlet");
} else {
out.println("<h2>Username cannot be empty. Please try again.</h2>");
}
out.close();
}
}
//WelcomeServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
@WebServlet("/WelcomeServlet")
public class WelcomeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
// Get the existing session (if any)
HttpSession session = request.getSession(false);
if (session != null) {
// Retrieve the username from the session
String username = (String) session.getAttribute("username");
if (username != null) {
out.println("<h2>Welcome, " + username + "!</h2>");
out.println("<a href='LogoutServlet'>Logout</a>");
} else {
out.println("<h2>No user found in session.</h2>");
}
} else {
out.println("<h2>No session found. Please login again.</h2>");
}
out.close();
}
}
//LogoutServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
@WebServlet("/LogoutServlet")
public class LogoutServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
// Invalidate the session
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate();
}
out.println("<h2>You have been logged out successfully!</h2>");
out.println("<a href='login.html'>Login again</a>");
out.close();
}
}



Comments