一、创建cookie对象
Cookie newCookie = new Cookie(String name, String value);
二、写入cookie
response.addCookie(newCookie)
2.1cookie的对象
void setMaxAge(int expiry) | 设置cookie的有效期,以秒为单位 |
void setValue(String value) | 在cookie创建后为cookie赋予新的值 |
String getName() | 获取cookie的名称 |
String getValue() | 获取cookie的值 |
int getMaxAge() | 获取cookie的有效时间,以秒为单位 |
三、读取cookie
JSP 通过 response 对象 addCookie() 方法写入 cookie 后,读取是需要调用 JSP 中 request 对象的getCookies()方法,该方法将返回 HTTP 请求中的 cookie 对象数组, 因此必须通过遍历的方式进行访问。
cookie 是通过 name/value 方式进行保存的, 因而在遍历数组时,需要通过调用 cookie 对象的 getName() 方法对每个数组成员的名称进行检查,直至找到我们需要的 cookie ,然后调用 cookie 对象的 getValue() 方法取得与名称对应的值。
四、cookie的有效期
当用户访问页面时,cookie 能够在客户端创建一个文件,用于记录用户的有关数据。 但是一个 cookie 在客户端存在的时间并不是无限期的,也有其声命周期。我们可以指定 cookie 的 有效期,在有效期内 cookie 始终存在并能够被读取,当达到 cookie 有效期后,cookie 会被从客户端清除。
设置 cookie 有效期的方式调用 cookie 对象的 setMaxAge(intexpiry)方法,其中参数 expury 代表 cookie 的有效 时间,以秒为单位
五,cookie和session的区别
相同点:都可以用于保存数据,都具有会话的功能
不同点:session的会话的过程是浏览器开始到关闭或者给定时间到时间数据丢失前提是浏览器在时间内没有关闭
cookie:会将数据保存为某个目录下的文本文件,意义上来说可以实现永久保存