Response-->cookie的添加和删除
**
Cookie
**
Cookie 是基于 set-Cookie响应头和 Cookie请求头工作的,
服务器可以发送set-Cookie请求头命令浏览器保存一个cookie信息,浏览器会在访问服务器时以Cookie请求头的方式带回之前保存的信息
获取cookie集合:
- request.getCookies();添加一个cookie:
- response.addCookie(Cookie c);
新建一个cookie:
new Cookie(String name,String value) — Cookie在构造的时候就需要设定好cookie的名字和值- 获取cookie的名字:
- getName();
- 获取cookie的值:
- getValue();
- 设置cookie的值:
- setValue();
cookie有效期的设置和获取
- setMaxAge()与getMaxAge()方法
– 一个Cookie如果没有设置过MaxAge则这个Cookie是一个会话级别的Cookie,这个Cookie信息打给浏览器后浏览器会将它保存在浏览器的内存中,这意味着只要浏览器已关闭随着浏览器内存的销毁,Cookie信息也就消失了.
一个Cookie也可以设置MaxAge,浏览器一旦发现收到的Cookie被设置了MaxAge,则会将这个Cookie信息以文件的形式保存在浏览器的临时文件夹中,保存到指定的时间到来位置.这样一来即使多次开关浏览器,由于这些浏览器都能在临时文件夹中看到cookie文件,所以在cookie失效之前cookie信息都存在. - 删除一个Cookie
想要命令浏览器删除一个Cookie,
- 发送一个同名同path的cookie,
- maxAge设置为0,
浏览器以名字+path识别cookie,发现同名同path,cookie覆盖后立即超时被删除,从而就删除了cookie.
- setMaxAge()与getMaxAge()方法
setPath()与getPath()方法
- 用来通知浏览器在访问服务器中的哪个路径及其子路径时带着当前cookie信息过来
如果不明确设置,则默认的路径是发送Cookie的Servlet所在的路径
http://localhost/Day05/servlet/…
- 用来通知浏览器在访问服务器中的哪个路径及其子路径时带着当前cookie信息过来
- setDomain()与getDomain()方法
– 用来通知浏览器在访问哪个域名的时候带着当前的cookie信息.但是要注意,现代的浏览器一旦发现cookie设置过domain信息则会拒绝接收这个Cookie.我们平常不要设置这个方法