我在我的退出页面中使用它:
session.invalidate();
response.sendRedirect("login.jsp");
然后在每个页面上检查会话是否正在设置
session.getAttribute("username");
HttpSession session1 = request.getSession(false);
if(session1== null )
{%>
<jsp:forward page="login.jsp"/>
<%
}
else
{%>
load the content of the page
它成功退出... 但当我按下浏览器上的后退按钮时,它会回到页面...我是最后一次。 我错了,可以做些什么
答案 0 :(得分:0)
你可以在jsp上尝试这个,直到登录后你才会显示:
<强>的javascript 强>
<script>
window.onload=function() {
history.forward();
}; // trick to force user to redirect to the next page
window.onunload=function () {};
</script>
答案 1 :(得分:0)
it get logout successfully...
but when i press the back button on the browser
it get back to the page... i was last on. Where i am wrong and what can be done
你没错。因为它是浏览器功能
<强> 1。如果您尝试执行任何操作。 (即)如果您尝试向服务器发送任何请求,则不允许您这样做。
要阻止返回last
页面,您可以在登录页面上尝试Disable the back button
希望这会有所帮助!!
答案 2 :(得分:0)
你的标记概念是为了避免这种情况。
登录成功完成后,在创建会话时,创建一个令牌并将其附加到会话中。
String token = UUID.randomUUID().toString();
将其存储在会话中。
session.setAttribute("token", token);
Pass it as hidden input value of the form.
在注销时,只需从会话中删除令牌即可。并将其转发到注销页面。在每个页面检查令牌,如果没有令牌,则将其重定向到主页。