Cookie

xiaoxiao2021-03-01  17

   1)Cookie是客户端的技术    2)每次发送请求时,客户端都会带上各自已的不同Cookie到服务端,服务端一解析Cookie,就知道是哪个客户端发送过来的信息    3)一个Cookie只能存储一种类型的信息    4)更新某个名的Cookie,即向浏览器写一个相同名的Cookie    5)Cookie一定要设置一个有效时间,如果不设置的话,默认该请求访问结束后,该Cookie自动销毁,用专业名词来讲,      Cookie的默认有效期时一个有效会话结束

6:cookie和url一一对应

 

细节

一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。

一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。 浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。

如果创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie(即存储在浏览器的内存中),用户退出浏览器之后即被删除。若希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。

注意,删除cookie时,path必须一致,否则不会删除

api

public Cookie(String name,String value)

setValue:设置值

getValue:

setMaxAge:设置生命周期

Cookie.setMaxAge(0)删除同名Cookie

getMaxAge:

setPath:设置url路径

getPath:

getName:通过cookie的名称

public class Demo2 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { //取得客户端的所有Cookie的值 Cookie[] cookies = request.getCookies(); if(cookies==null){ //创建一个名称为name值为1111的cookie Cookie cookie = new Cookie("name","1111"); //设置生命周期 cookie.setMaxAge(1*24*60*60); //添加到响应去 response.addCookie(cookie); }else{ //查找名为name的Cookie Cookie nameCookie = null; for(Cookie c : cookies){ //查找cookie if(c.getName().equals("name")){ nameCookie = c; break; } } //找到了 if(nameCookie!=null){ //删除cookie Cookie cookie = new Cookie("name",null); response.addCookie(cookie); } } }

 

转载请注明原文地址: https://www.6miu.com/read-4050293.html

最新回复(0)