Java JSP中的会话问题

Java JSP中的会话问题,java,session,jsp,servlets,Java,Session,Jsp,Servlets,我在登录页面上设置并获取会话属性,当我注销页面并按下后退按钮时,它会再次进入主页 这是我的密码 ::::::::::::::::::::::::::**sessionaction.jsp**:::::::::::::::::::::::::::::::::::::: <%@page import="java.util.*" %> <% String str = request.getParameter("UserName"); session.setAttri

我在登录页面上设置并获取会话属性,当我注销页面并按下后退按钮时,它会再次进入主页

这是我的密码

::::::::::::::::::::::::::**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>
:
网址:http://www.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp.jsp
您已注销。请
请指导我。

设置缓存头

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

如果需要缓存控制的元标记

设置缓存头

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

如果需要缓存控制的元标记,请尝试:

if (session.getAttribute("sessUserName") == null)
尝试:


根本原因,我相信,是用户sje397(接受他的答案)已经建议的,我只是在这里详细说明。原因是会话失效与login.jsp中的代码不同步

您正在从会话中删除该属性,这意味着下面的代码

if(session.getAttribute("sessUserName").equals(""))
应改为

if(session.getAttribute("sessUserName")==null)
其他:
“后退”按钮可能只是从其本地缓存显示主页。试试看它是否有效。

我认为根本原因是用户sje397已经建议的(接受他的答案),我在这里只是详细说明。原因是会话失效与login.jsp中的代码不同步

您正在从会话中删除该属性,这意味着下面的代码

if(session.getAttribute("sessUserName").equals(""))
应改为

if(session.getAttribute("sessUserName")==null)
其他: “后退”按钮可能只是从其本地缓存显示主页。试试看它是否有效