繁体   English   中英

在后退按钮上单击注销后重新加载jsp页面

[英]reload jsp page after logout on back button click

在我的每一页中,都有一个注销选项。 当用户单击此注销选项时,他们将注销session.invalidate(); 当我按下后退按钮时,即使会话无效,我也会获得上一页包含输入标签中所有内容的页面。如何解决此问题。我尝试了window.location.reload()和许多其他选项,但无法在此处使用。\\ 我的网站是这个。 和凭据。 test123@gmail.com并通过是Amal123

仅在会话处于活动状态时,要打开所有页面之前,您必须放置一个过滤器,以在打开页面之前检查会话。

在登录时,您必须使当前会话无效。

然后您将可以按返回按钮,但不能执行任何功能

您可以使用会话属性...例如,当您登录时,将变量值设置为用户名,例如:HTML

<form name="login" action="/login.jsp" method="post" >
    <input type="text" name="username" >
    <input type="password" name="password" >
<input type="submit" >

JSP:

String userName=request.getParameter("username");
request.getSession().setAttribute("username",userName);

现在在每个页面上添加此代码

<% if(request.getSession().getAttribute("username")==null) response.sendRedirect("index.jsp");%>

同样,在注销时不要忘记删除会话属性。

request.getSession().removeAttribute("username");

试试看,让我知道。

您可以将此代码复制并粘贴到网站的每个页面中,以清除缓存的页面。

 <%
response.setHeader("Cache-Control","no-cache");
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader ("Expires", 0);

if(session.getAttribute("some_token")==null)
  response.sendRedirect("login/login.html");

%> 

在注销中,您必须使会话无效,因此,当您单击返回时,它将检查sessionsome_token属性值,如果不存在,则会将您重定向到login页面。 但是请记住,登录后要在会话中设置some_token属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM