- /*
- ##会话技术 一次会话中包含多次请求响应,
-
一次会话 游览器第一次给服务器发送请求会话建立,直到有一方断开为止
- 功能 一次会话内的多次请求间,共享数据
- 方式
-
Cookie 客户端会话技术
-
Session 服务器端会话技术
*##Cookie
- 概念 客户端会话技术,将数据保存到客户端
- 快速入门
- 创建cookie对象,绑定数据
-
new Cookie(String name,String value)
- 发送Cookie对象
-
reaponse.addCookie(Cookie cookie)
- 获取Cookie拿到数据
-
Cookie[] request.getCookie()
- 一次可不可以发送多个cookie
-
可以
-
创建多个cookie,用reponse调用多次addCookie()方法发送cookie即可
- cookie在游览器中的保存时间
-
默认 游览器关闭,Cookie数据销毁
-
持久化储存
-
setMaxAge(int seconds)
-
正数 将cookie数据写到硬盘文件,持久储存seconds秒,时间到后文件自动失效
-
负数 默认值
-
零 删除cookie信息
-
cookie能不能存中文?
-
tomcat 8之前 cookie中不能直接存储中文数据。
-
需要中文数据转码
-
在tomcat 8 之后,支持中文数据,特殊字符不支持,需要编码解码
-
cookie共享问题
-
假设在一个tomcat服务器中部署多个web项目,那么这些web中cookie能不能共享
-
默认情况下不
-
setPath(String path) 设置cookie获取范围,默认情况下,设置为当前虚拟目录
-
如果要共享,则可以将path设置为“/”
-
不同的tomcat服务器间cookie共享问题
-
setDomain(String path) 如果设置一级域名相同,那么多个服务器之间的cookie可以共享
-
setDomain(".baidu.com"),那么 *.baidu.com 中的cookie可共享
- cookie的特点和作用
- cookie存储数据在客户端游览器
- 游览器对单个cookie有大小限制(4kb),同一域名下cookie数量也有限制(20个)
- 作用
-
cookie一般用于存储少量的不太敏感的数据
-
在不登陆的情况下,完成服务器对客户端的身份识别
- 编码解码
-
URLEncoder.encode(String str, "utf-8"(字符集));编码
-
URLDecoder.decode(String str, "utf-8"(字符集));解码