Управление сессиями в проекте JSP

Я занимаюсь разработкой проекта для колледжа и постараюсь объяснить свою проблему на небольшом примере. Ниже представлены 3 jsp-страницы (index.jsp, test.jsp, logged.jsp), и я хочу, чтобы, если пользователь попытался получить доступ к logged.jsp напрямую, введя URL-адрес http://localhost:8080/sessionTest/logged.jsp затем он будет перенаправлен на index.jsp.

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form action ="test.jsp" method="post">
            enter user id :<input type="text" name="user">
            Enter password:<input type="password" name="pass">
            <input type="submit" value="submit">
        </form>
    </body>
</html>

test.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%
     String user= request.getParameter("user");
     String pass= request.getParameter("pass");
     if(user.equals("snow")&& pass.equals("123"))
     {
         session.setAttribute("user", user);
         RequestDispatcher r = request.getRequestDispatcher("logged.jsp");
         r.forward(request, response);
     }
     else {
         out.println("wrong pass or id");
     }
             %>
    </body>
</html>

logged.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <% session = request.getSession(false);
           if(session==null)
           {
               response.sendRedirect("index.jsp");
           }
           else{
               out.println("welcome its old session");
           }
        %>
    </body>
</html>

пожалуйста, помогите мне с кодом и объясните, как он работает

1 ответ

Попробуйте это, может быть, это поможет вам:

<%
HttpSession session = request.getSession();

if(null!=session.getAttribute("username")){
    out.write("username is "+session.getAttribute("username").toString());

    }
else{
    response.sendRedirect("/index.jsp");
    }
%>
Другие вопросы по тегам