URL rewriting Session Management

PHOTO EMBED

Fri Nov 15 2024 14:42:59 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="WelcomeServlet" method="get">
        <label for="username">Enter Username:</label>
        <input type="text" id="username" name="username" required>
        <br><br>
        <input type="submit" value="Login">
    </form>
</body>
</html>


//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;

@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 username from the request
        String username = request.getParameter("username");

        if (username != null && !username.isEmpty()) {
            // Display the welcome message
            out.println("<h2>Welcome, " + username + "!</h2>");

            // URL Rewriting - Append the username to the next link
            out.println("<a href='DashboardServlet?username=" + username + "'>Go to Dashboard</a>");
        } else {
            out.println("<h2>Username is missing. Please go back and enter your username.</h2>");
        }

        out.close();
    }
}


//DashboardServlet.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;

@WebServlet("/DashboardServlet")
public class DashboardServlet 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();

        // Retrieve the username from the rewritten URL
        String username = request.getParameter("username");

        if (username != null && !username.isEmpty()) {
            out.println("<h2>Welcome to your dashboard, " + username + "!</h2>");
        } else {
            out.println("<h2>Invalid access. Username not found!</h2>");
        }

        out.close();
    }
}
content_copyCOPY