2010-12-15 5 views
0

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

Вот мой код,

::::::::::::::::::::::::::**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> 

Просьба направлять меня.

ответ

2

Set Cache Headers

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

Также

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

+0

@thanks Асаф. Необходимо приучить себя к фрагментам –

1

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

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

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

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

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

Другие: Кнопка возврата может быть просто отображающее домашнюю страницу из локального кэш. Попробуйте disabling the cache и посмотрите, работает ли он.

Смежные вопросы