Java Session获取/销毁

Java Session获取/销毁Session会话机制,它是保存在服务器里面的,就是当我们进入一个浏览器,浏览器会自动给我们创建一个session保存用户的信息,当关闭浏览器的时候,session就销毁了,Session在web项目中是经常用到的。下面是session的用法。Session在web项目中的登录是基本都用上的,那么就以账号登录为例:代码只是展示了最里面判断登录成功并保存数据到session的//获取ses…

大家好,又见面了,我是你们的朋友全栈君。

Session会话机制,它是保存在服务器里面的,就是当我们进入一个浏览器,浏览器会
自动给我们创建一个session保存用户的信息,当关闭浏览器的时候,session就销毁
了,Session在web项目中是经常用到的。下面是session的用法。
Session在web项目中的登录是基本都用上的,那么就以账号登录为例:
代码只是展示了最里面判断登录成功并保存数据到session的

//获取session里的验证码	
String sessIdentityKey=	session.getAttribute("identityKey").toString();
//判断登录页传递过来的不等空并且等于session里的验证码
if(Tools.isNotNull(identityKey)&&identityKey.equalsIgnoreCase(sessIdentityKey)) 	{
	//根据登录页传过来的用户名跟密码查询到用户信息
	PwUsers users=pwUsersService.login(userName, enterpassword);
	if (users!=null) {
		session.setAttribute("SESSION_USER", users);
		//把用户名存到session
		request.getSession().setAttribute("suserName", users.getUserName());
		//把用户id存到session
		request.getSession().setAttribute("suserId", users.getUserId());	
		   jsonReturn.setState(true);
		jsonReturn.setMsg("登录成功");
		}else {
			jsonReturn.setState(false);
			jsonReturn.setMsg("账号或密码错误");
		}
	}else {
		jsonReturn.setState(false);
		jsonReturn.setMsg("验证码不正确");
}		

登录成功了,并且将用户名跟用户id保存到session了,要现在我需在前台获取到
session的数据,因为session是服务端的变量。jsp页面是客户端,那么怎么在客户
端获取到session呢。
在代码块 ————→ <% Java 代码(变量:_jspService方法的局部变量) %>
获取session数据

<%
 	String sessionName=(String)request.getSession().getAttribute("suserName");
	Integer sessionUserId=(Integer)request.getSession().getAttribute("suserId");
%>

Js:

var UserID = <%=sessionUserId%>;
//--------- 获取到是否登录成功保存的用户ID --------------
if (UserID==null) {
    	$("#lal").html("");
		$("#lal").append("<a href='#'>免费注册</a><span></span><a href='#'>立即登录</a>")    

在这里插入图片描述

}else {
        $("#lal").html("");
        $("#lal").append("欢迎你:<a href='#'><%=sessionName%></a><a href=#'onclick='LoginOut()'>注销</a></label>")    
}

在这里插入图片描述
在这里插入图片描述
有服务端验证登录成功保存到session,客户端获取session数据判断绑定,那么最后就
是要销毁session注销账号登录了,这个销毁跟关闭浏览器的销毁不同的就是,这个是
主动销毁,不同关闭浏览器,直接以代码销毁session达到注销账号的操作。

//============================ 注销 =============================
    function LoginOut() {
        if (window.confirm("确定要注销吗?")) {
            $.post("${ctx}/servlet/mainServlet?fun=loginOut", function (msg) {
            	 	location.reload();
             });
     	}
}
很简单,直接将整个session销毁掉,invalidate()
private void loginOut(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.getSession().invalidate();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158278.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • iOS视图控制器之间delegate传值教程

    iOS视图控制器之间delegate传值教程

    2022年1月22日
  • python tkinter窗口美化_jquery进度条插件

    python tkinter窗口美化_jquery进度条插件前言在我们进行自动化测试的时候,用例往往是成百上千,执行的时间是几十分钟或者是小时级别。有时,我们在调试那么多用例的时候,不知道执行到什么程度了,而pytest-sugar插件能很好解决我们的痛点。

    2022年7月30日
  • navicat premium 15.0.25激活码【中文破解版】

    (navicat premium 15.0.25激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
  • 一招彻底解决win10开机桌面及任务栏卡死问题

    一招彻底解决win10开机桌面及任务栏卡死问题问题描述:从9月份开始,我的笔记本(win10)隔三差五地出现开机后桌面和任务栏卡死的状况,具体表现为开机进入桌面后桌面图标点击无响应;把鼠标移动到桌面底部任务栏显示鼠标的小圆圈一直在加载,若此时多次点击任务栏则会导致资源管理器崩溃并重新启动,重启服务后资源管理器再次陷入卡死。。。如此循环往复,老折磨人了qwq…尝试过的几种解决方案:Ctrl+Alt+Delete呼出任务管理器,点击“进程”选项卡,找到资源管理器,然后单击“重新启动”。(未解决)同时按下Ctrl+Alt+D

    2022年4月25日
  • 马哥学习—-李洋个人笔记–启动故障排除

    马哥学习—-李洋个人笔记–启动故障排除故障1删除/boot之后的恢复步骤:1重启电源,迅速按esc进去选择启动模式,然后选cd-rom这项(从光驱启动)2重启后进入救援模式(选择rescue),选择语言和键盘布局后,一路回车到下一步。3询问是否需要网络选项,一般来说,救援模式不需要网络,选择no,回车进入下一步。4这一步提示内容大意为:救援系统将尝试寻找你的linux安装,并在目录mnt/sysimage下安装它…

    2022年7月21日
  • GenshinPlayerQuery_qeriuwjhrf

    GenshinPlayerQuery_qeriuwjhrf百度百科:https://baike.baidu.com/item/qeephp/8328612?fr=aladdin 官方地址:http://www.qeephp.cn/app/index.php 下载地址:https://github.com/firzen/QeePHP 文档快速入门:http://qeephp.cn/docs/qeephp-quic…

    2022年10月31日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号