У меня есть 3 JSP файлы: Login.jsp:JSP сессия недействительности не работает
...
<body>
<font face="tahoma" size="2">
<form action="log" METHOD="POST">
<p>login:</p>
<input type="text" name=login value="person" />
<p>password:</p>
<input type="password" name=password value="" />
<input type="submit" name="next" value="OK" />
</font>
</body>
.....
logout.jsp
...
<body>
<font face="tahoma" size="2">
session id : ${sessionScope.sesId}</p>
user : ${sessionScope.userName}</p>
<h3>Logout page</h3>
<form action="logout" METHOD="POST">
<input type="submit" name="in" value="log in again" />
</font>
</body>
....
logged.jsp
....
....
и сервлетов для login.jsp
...
HttpSession ses = request.getSession(false);
if (ses == null) {
ses = request.getSession();
ses.setAttribute("userName", login);
ses.setAttribute("sesId", ses.getId());
request.getRequestDispatcher("/logged.jsp").forward(request,response);
}else {
ses.invalidate();
request.getRequestDispatcher("/logout.jsp").forward(request,response);
}
...
NetBeansIDE 7,4 Tomcat на локальном хосте Windows 7
Когда я начинаю проект (Run/Run Project) это ВСЕГДА перенаправлять logout.jsp. sesId и userName являются нулевыми (или пустыми?)
Почему?
Потому что ses не является нулевым, по-видимому. Вероятно, вы захотите расширить сеанс проверки, если ses не является нулевым или что сеанс не содержит атрибут sesId. – Gimby