1、会话:一次会话中包含多次请求和响应2、功能:在一次会话的范围内的对此请求间,共享数据3、方式:
* 客户端会话技术:Cookie
* 服务端会话技术:Session
Cookie:
* 概念:将数据保存到客户端
* 快速入门:
* 使用步骤
* 创建Cookie对象,绑定数据
* new Cookie(String name,String value)
* 发送Cookie对象
* addCookie(Cookie cookie)
* 获取Cookie,拿到数据
* request.getCookies():返回一个Cookie数组
* 实现原理:
* 基于响应头set-cookic和请求头cookie实现
* cookie的细节
* 一次可不可以发送多个cookie?
* 可以,创建多个cookie对象,使用response调用多次addcookie方法发送cookie即可
* cookie在浏览器中保存多长时间?
* 1、默认情况下,浏览器关闭后,cookie数据被销毁
* 2、持久化存储:setMaxAge(int seconds)
* 正数:将Cookie数据写到硬盘的文件中。持久化存储。cookie存活时间
* 负数:默认值
* 零:删除Cookie信息
* cookie中能不能存储中文数据?
* 在Tomcat8之前,cookie是不能直接存储中文数据
* 需要将中文数据转码。一般采用URL编码(%E3))
* 在Tomcat8之后,cookie支持中文数据
* cookie的共享问题?
* 在一个Tomcat服务器中部署了多个web项目,那么在这些web项目中cookie能不能共享?
* 默认情况下cookie不能共享
* setPath(String path):设置cookie的获取范围。默认情况下,设置当前的虚拟目录
* 如果要共享,则可以将path设置为“/”
* 不同的Tomcat服务器间cookie共享问题
* setDomain(String path):如果设置一级域名相同,那么多个服务器间cookie可以共享
* setDomain(".baidu.com),那么tieba.baidu.com和news.baidu.com中的cookie可以共享
* Cookie的特点和作用
* cookie存储在客户端浏览器
* 浏览器对于单个cookie的大小有限制,以及对于同一个域名下的cookie数量也有限制
作用:
1、存储少量,不太敏感的数据
2、不登录的情况下,完成服务器对客户端的身份识别