Java-session学习笔记

所解决的问题:
解决一个用户的不同请求处理,需要相同的数据
技术:session

特点:
	依赖cookie技术的服务器端的数据存储技术
	由服务器进行创建
	每个用户独立拥有一个session
	一次会话,默认存储时间是30s
使用:
	创建session对象(获取session对象)
	eg:HttpSession hs = req.getSession();
	说明:
	如果请求中拥有session标识就是是JSESSIONID,则返回其对应session队形
	如果请求中没有session标识就是是JSESSIONID,则创建新session对象,并将其JSESSIONID作为从cookie数据存储到浏览器内存中
	如果session对象是失效了,也会重新创建一个session对象,并将其JSESSIONID存储在浏览器内存中。
	设置session的存储时间
	hs.setMaxInactiveInterval(10);//单位:秒
	设置session强制失效
	hs.invalidate();
	存储和获取数据
	存储:hs.setAttribute(String name,Object name);	
	获取:hs.getAttribute(String name);	#返回的数据类型为Object
	使用时机:一般用户在登录web项目时会将个人信息存储到session中,供该用户的其他请求使用
总结:
	session解决了一个用户不同请求的数据共享问题,只要在JSESSIONID不失效和session对象不失效的情况下,
	用户的任意请求在处理时都能获取到同一个session对象,重定向到登录页面, 让用户重新登录

作用域:

一次会话
	在JSESSIONID和JSESSION对象不失效的情况下为整个项目内

session失效处理:

	 在用户请求中的JSESSIONID和后台获取到的SESSION对象的JSESSIONID进行对比,如果一致,
	则session没有失效,如果不一致证明session失效了。

注意:

	JSESSIONID存储在cookie的临时存储空间中,浏览器关闭就失效

代码部分:
在这里插入图片描述
在这里插入图片描述
—尚学堂老师教导

发布了17 篇原创文章 · 获赞 0 · 访问量 770

猜你喜欢

转载自blog.csdn.net/weixin_43100012/article/details/87949947