| 会话技术http协议请求事务处理没有记忆能力,每次请求都是一次新请求,无法对用户的状态保存,尤其是同一台浏览器的访问,服务器不知道这是刚才的浏览器,所以为了保存和跟踪用户的状态使用会话技术,从用户访问某个网站到关闭浏览器的过程称为会话。 会话技术有两中,客户端会话:Cookie,服务端会话:Session。 Cookie的使用Cookie是浏览器每次请求后再关闭时从服务端以响应头set-cookie发送给每一个用户的浏览器,最终保存在本机的文件夹中。 构造方法 javax.servlet.http 包中定义了一个 Cookie 类,使用带参构造方法创建Cookie对象 Cookie c = new Cookie(name, value); 
 参数name为Cookie的名,参数value为Cookie的值, 获取Cookie的对象 | 返回类型 | 方法名 | 说明 | 
|---|
 | void | addCookie(Cookie cookie) | 在响应头怎加一个Set-Cookie 头字段。 |  | Cookie | getCookies() | 回去客户端提交上来的Cookie,返回Cookie数组 | 
 Cookie方法 | 返回类型 | 方法名 | 说明 | 
|---|
 | int | getMaxAge() | 获取Cookie的最大有效时间以秒为单位,默认值为-1 |  | String | getPath() | 获取Cookie的有效路径 |  | String | getName() | 获取Cookie的名称 |  | String | getValue() | 获取Cookie的值 |  | int | getVersion() | 获取Cookie的版本 |  | void | setPath(String uri) | 指定Cookie的路径 |  | void | setMaxAge(int expiry) | 用于设置 Cookie 的最大有效时间,以秒为单位。取值为正值时,表示 Cookie 在经过指定时间后过期。取值为负值时,表示 Cookie 不会被持久存储,在 Web 浏览器退出时删除。取值为 0 时,表示删除该 Cookie。 |  | void | setValue(String newValue) | 设置Cookie的值 | 
 使用Cookie的注意事项 一个Cookie至少包含一个名称及一个值如果创建了一个 Cookie,并发送到浏览器,默认情况下它是一个会话级别的 Cookie。用户退出浏览器就被删除。如果希望将 Cookie 存到磁盘上,则需要调用 setMaxAge(int maxAge) 方法设置最大有效时间,以秒为单位。
 |