大家好,今天我们来分享一下session和Cookie的知识点,以及如何运用。。
在这之前我们要先了解会话:(就浏览器的打开和关闭之间被称为会话)
一个会话就是浏览器与服务器之间的一次通话,包含浏览器与服务器之间的多次请求、响应过程
一、Session对象
1.概念(了解即可)
Session在网络中被称为会话。
由于HTTP协议(超文本传输协议)是一种无状态协议,也就是当一个客户向服务器发出请求,服务器接收请求,并返回响应后,该连接就结束了,而服务器并不保存相关的信息。
为了弥补这一缺点,HTTP协议提供了Session。
2.Session对象的常用方法
3.Session的运行机制
当一个Session开始时,Servlet容器将创建一个HttpSession对象,在HttpSession对象中可以存放客户状态的信息(例如购物车)。
Servlet容器为HttpSession分配一个唯一标识符,称为Session ID。
Servlet容器把Session ID作为Cookie保存在客户的浏览器中。
每次客户发出HTTP请求时,Servlet容器可以从HttpServletRequest对象中读取Session ID,然后根据Session ID找到相应的HttpSession对象,从而获取客户的状态信息。
4.Session对象的生命周期
Session对象的生命周期:创建 --> 使用 --> 消亡
5.理论知识太多了,我们还是实操吧
先看类
这是这个项目的所用到的类和包
login就是登录界面,dologin负责接收判断,session记录用户登录信息,admin再从session中拿值
上图是session对象的方法以及id(最大有效非活动时间是指在页面里不进行操作的时间,当时间到达你设置的时间时 ,如若在这之前,你并没有进行操作,过了这个时间,你下次操作时将会直接弹到登录界面,安全性很强)
这里用了包含的方法yz.jsp是为了防止没有登录而从其他页面也可以进入 这里进行了判断
接下来我们看到退出效果,这里用到了invalidate(),意思是设置session对象失效
这里调用了exit.jsp
由于效果不好展示,大家可以自行去玩玩哈
最后就是session的应用场合:
1.保存用户登录状态 用于判断用户是否登录
2.后期建议直接保存User对象(uuid uname upwd urole)
3.购物车项目 将整个购物车保存到session中 List<Goods>
(购物车是后面的第二个项目大家慢慢期待哈)
二、Cookie
1.Cookie是什么?
Cookie是Web服务器保存在客户端的一系列文本信息
2.Cookie的作用
- 对特定对象的追踪
- 统计网页浏览次数
- 简化登录
安全性能:容易信息泄露
3.Cookie常用方法
//使用Cookie判断用户是否登录
Cookie c=new Cookie("sname",name);//name,value
//设置Cookie的有效期 10s 一周内免登陆
c.setMaxAge(60*60*24*7);
//写入响应
response.addCookie(c);
(如果设置了一周内免登陆,怎么解除?)
好啦,今天的知识分享就到这里啦!感谢大家的观看,喜欢的话就关注点赞吧!拜拜!