Cookie和Session
web程序是使用Http协议进行传输的,http是一种无状态的协议,对事务处理没有记忆能力
为了解决这一问题可以采用Cookie和Session两种会话技术
Cookie
第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器
Cookie的生存周期
不设置有效期,关闭浏览器,自动失效
设置多长就存在多久
Cookie特点
一般储存在浏览器内存
cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据
而且设置attribute的时候只能设置String类型
Session
用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话
当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象
Session的生存周期
关闭浏览器后销毁,储存在web服务器里面
Session的特点
这个session对象由服务器的各个资源和客户端(浏览器)共享
设置attribute的时候不仅可以存String还可以存对象
HttpSession session = req.getSession(); *//给session存值*
session.setAttribute("person", new Person("xxx", 18));