1.原理
Cookie是由web服务器设置的,默认保存在保存在浏览器缓存中
Cookie基于http的协议,默认有两个(set-cookie响应头 cookie请求头 )
Cookie可以在客户端与服务器端进数据的传递.
2.如何穿件新的Cookie对象
Cookie(String name, String value) 构造方法,是key:value的形式(强调:Cookie中不支持中文的)
3.有一个Cookie对象,如何获取Cookie对象的名称和值
String getName() -- 获取cookie的名称
String getValue() -- 获取cookie的值
void setValue(String newValue) -- 修改值
4.如何操作Cookie对象
response.addCookie(Cookie cookie) 向浏览器回写Cookie对象(原理:set-cookie响应头)
Cookie cookei[] = request.getCookies() 获取浏览器发送过来的Cookie,返回的数组(原理请求头:cookie)
5.用途
解决的是每个用户产生的数据,把数据保存到会话对象中,例如记录用户上次访问时间,购物车
6.cookie的分类和各个生命周期
会话cookie:浏览器的开启到关闭就是一次会话,当关闭浏览器时,会话cookie就会跟随浏览器而销毁。当关闭一个页面时,不影响会话cookie的销毁,Cookie默认的情况下是保存在浏览器的缓存中:不设置Cookie的有效时间
持久cookie:设置了有效时间,void setMaxAge(int expiry) ,即便是浏览器关闭,cookie也不会销毁,知道生命周期(有效时间)到,cookie销毁,持久Cookie保存到本地的文件中
7.访问项目其他资源时,什么时候携带cookie,什么时候不懈怠
由有效路径决定
http://localhost/path/pages/demo1 假如cookie的创建是这个路径下的servlet中,那么cookie的有效路径是/path/pages项目下的任何资源
http://localhost/path/pages/demo1 此servlet能够获取到cookie的请求头
http://localhost/path/demo1 此servlet不能获取到cookie的请求头

 想要让http://localhost/path/demo1 获取到cookie的请求头,需要在http://localhost/path/pages/demo1 中设置cookie的有效路径为 cookie.setPaht("/paht")