[英]How to create session for login and logout in java
这是我在登录页面中编写的代码
HttpSession session = request.getSession(true);
session.setAttribute("name", user1);
String nme=(String) session.getAttribute("name");
而且,这是logout.jsp的代码
<% request.getSession().invalidate();
要么
if(session!=null){
session=null;
}
要么
request.getSession().setAttribute("name", null); //it just assigns null to attribute
response.sendRedirect("login.jsp");
%>
会话正在创建,但在注销按钮工作后....我希望后退按钮不起作用。
要从当前会话注销或无效,您可以使用正确的代码,如下所示。
request.getSession().invalidate();
现在,在您点击浏览器的后退按钮后,它正在从缓存中加载页面。 因此,为了处理这种情况,你可以做2件以下的事情。
使用HTML 5的History
API处理浏览器历史History
这样当您单击后退按钮时,它会在您操作它时转到所需的位置。
建议用户关闭页面,如一般安全网站在成功登出会议后所做的那样,如银行网站和金融网站。
或者,您可以在servlet容器/服务器端编写和配置拦截器类,以通过在响应中添加以下参数来操作缓存。
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "-1");
希望这可以帮助你。
只需从会话中删除该属性,并检查它是否存在.....
request.getSession.removeAttribute("name")
检查如下:
if(request.getSession.getAttribute("name")==null){
}
您的问题不在于会话,因为它不会在已加载的页面中使用,只是从缓存中加载(后退按钮功能)
考虑在您的客户端代码中使用localtion.href.replace
。
localtion.href.replace(url):将当前文档替换为提供的URL。 与assign()方法的不同之处在于,在使用replace()之后,当前页面将不会保存在会话历史记录中,这意味着用户将无法使用“后退”按钮导航到该页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.