会话跟踪技术:
①客户端与服务端的多次请求和响应的一个过程称之为一次会话
②一次会话可以有多次请求
在一次会话的过程中共享不同请求之间的数据就是会话跟踪技术
sessioncookie_5">1.session的底层还是依赖cookie
cookie_6">2.cookie
- 1.当浏览器第一次发送请求服务器,服务器创建cookie代码,用set-cookie的方法把cookie的数据传回浏览器。
- 2.默认保存在浏览器端的内存中【可以修改】,只要浏览器没有关闭过,当第二次请求时,浏览器会自动将Cookie的数据以Cookie的方式传回给服务器。
- 3.cookie保存数据是以键值对的形式,不能出现中文(除非转码)。
- 4.cookie的生命周期
①默认请求下:浏览器会将Cookie保存在内存中,只有浏览器不关闭,数据都在。直到浏 览器关闭,数据消失 。
②可以设置setMaxAge(intn)来设置死亡时间 - 5.cookie的优缺点
cookie存储在浏览器端,减小了服务端的压力;但是数据保存在浏览器中,信息不安全,容易被获取;保存的数据类型只能是字符串;保存的数据大小不超过4kb
session_17">3.session
HttpSession是由JavaWeb提供的,用来会话跟踪的类,session是服务器端对象,保存在服务器端中。
-
1.当浏览器第一次发送请求服务器,遇到服务器端创建Session的代码,就会创建一个Session对象,然后为该Session对象分配一个id即为jsessionId,并以set-Cookie的方式将该id传回给浏览器,浏览器保存起来。
-
2.只要浏览器没有关闭过,当第二次请求时,会自动将jsessionId以Cookie的方式传回给服务器,服务器根据该jsessionId去服务器查询,查到了使用。
-
3.session的生命周期
从创建到销毁的过程:
①出生:创建Session对象
②invalidate():销毁session对象 -
4.数据的保存时间
从添加到时间过期(默认时间30分钟),可以认为修改
①修改方式1:代码方式:session.setMaxInactiveInterval(int s)
②修改方式2:web.xml方式:,单位是分钟 -
5.session的优缺点
数据保存在服务端,安全性较高,可以保存的数据大小远超cookie,保存的数据类型没有限制;但是会影响服务器的性能
-
6 获取HttpSession对象