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