JavaWeb(11)cookie会话和session会话
Http无状态性
无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求。但是当同一个浏览器再次发送请求
给服务器的时候,服务器并不知道它就是刚才那个浏览器。简单地说,就是服务器不会去记得你,所以就是无状
态协议
解决无状态性的办法是:保存用户状态的两大机制:Session和Cookie
什么是Cookie?
Cookie:中文名称为“小甜饼”,是Web服务器保存在客户端的一系列文本信息
Cookie的作用
(1)对特定对象的追踪
(2)保存用户网页浏览记录与习惯
(3)简化登录
Coolie的创建和使用
Cookie对象的方法
什么是session?
(1)session表示客户端与服务器的一次会话
(2)Web中的session指的是用户浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览器
这个网站所花费的时间
(3)session实际上是一个特定的时间概念
(4)在服务器的内存中保存着不同用户的session
session对象
(1)session对象是一个JSP内置对象
(2)session对象在第一个JSP页面被装载时自动创建,完成会话期管理
(3)从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话
(4)当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是同一个
客户,就需要session对象
(5)session对象是HttpSession类实例
session对象常用方法
session的生命周期
(1)创建,当客户端第一次访问某个jsp或者Servlet时候,服务器会为当前会话创建一个SessionId,每次客户端向服务
端发送请求时,都会将此SessionId携带过去,服务端会对此SessionId进行校验
(2)活动
A、某次会话当中通过超链接打开的新页面属于一次会话
B、只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。
C、除非本次会话的所有页面都关闭后再重新访问某个jsp或者servlet将会创建新的会话
注意事项:注意原有会话还存在,只是这个旧的SessionId仍然存在于服务端,只不过再也没有客户端会携带它然后交
予服务端校验
(3)销毁
A、调用了session.invalidate()方法
B、Session过期(超时)
C、服务器重新启动