Session Management
Sun Nov 03 2024 18:16:43 GMT+0000 (Coordinated Universal Time)
Saved by @login123
//login.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Login Page</title> </head> <body> <h2>Login</h2> <form action="LoginServlet" method="post"> Username: <input type="text" name="username" required><br><br> <input type="submit" value="Login"> </form> </body> </html> //Login Servlet.java 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("/LoginServlet") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); // Create a new session or retrieve existing one HttpSession session = request.getSession(); // Store the username in the session session.setAttribute("username", username); // Redirect to welcome page response.sendRedirect("welcome.jsp"); } } //welcome.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="javax.servlet.http.HttpSession" %> <% HttpSession session = request.getSession(false); // Get existing session String username = null; if (session != null) { username = (String) session.getAttribute("username"); } if (username == null) { response.sendRedirect("login.html"); // Redirect to login if not logged in } %> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Welcome</title> </head> <body> <h2>Welcome, <%= username %>!</h2> <a href="LogoutServlet">Logout</a> <!-- Link to logout --> </body> </html> //logout.java 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("/LogoutServlet") public class LogoutServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Invalidate the session HttpSession session = request.getSession(false); if (session != null) { session.invalidate(); // Remove all attributes and invalidate the session } // Redirect to login page response.sendRedirect("login.html"); } }
Comments