Проблема сеанса в JSP - PullRequest
       1

Проблема сеанса в JSP

0 голосов
/ 15 декабря 2010

Я устанавливаю и получаю атрибуты сеанса на странице входа, когда я выхожу из системы и нажимаю кнопку «Назад», она снова переходит на домашнюю страницу.

Вот мой код,

::::::::::::::::::::::::::**sessionaction.jsp**::::::::::::::::::::::::::::::::::::::

<%@page import="java.util.*" %>
<%
    String str = request.getParameter("UserName");
    session.setAttribute("sessUserName", request.getParameter("Password"));
%>

<%
    if (session.getAttribute("sessUserName").equals(""))
    {
        response.sendRedirect("login.jsp");
%>

<%
    }
else
    {
        response.sendRedirect("home.jsp");
    }
%>


::::::::::::::::::::::::::**logout.jsp**::::::::::::::::::::::::::::::::::::::
<%@page import="java.util.*" %>

<%
//session.invalidate();
session.removeAttribute("sessUserName");
%>

You have logged out. Please
<a href="login.jsp"><b>Login</b></a>

Пожалуйста, ведите меня.

Ответы [ 3 ]

2 голосов
/ 15 декабря 2010

Попробуйте:

if (session.getAttribute("sessUserName") == null)
2 голосов
/ 15 декабря 2010

Установить заголовки кэша

response.setHeader("Cache-Control","private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0");

Также

при необходимости метатеги для Cache-Control

1 голос
/ 15 декабря 2010

Основная причина, по-моему, уже предложена пользователем sje397 (примите его ответ), я только уточняю здесь.Причина в том, что ваша недействительность сессии не синхронизирована с кодом в вашем login.jsp.

Вы удаляете атрибут из сессии, что означает, что приведенный ниже код

if(session.getAttribute("sessUserName").equals(""))

должен быть изменен

if(session.getAttribute("sessUserName")==null)

Прочее: кнопка «Назад» может просто отображать домашнюю страницу из локального кэша.Попробуйте отключить кеш и посмотреть, работает ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...