状态管理cookie 案例
1状态管理:服务器为了追踪同一个客户端发出的请求,将多次交互看成一个整体看待
2:cookie的生存时间,默认情况下,cookie保存在浏览器内存中,只要不关闭浏览器,cookie就一直存在
如果希望关闭浏览器后,cookie仍然存在,可以设置过期时间
3:在写cookie是,为了让浏览器访问到同一应用的cookie,最好设置cookie的默认路径
c.setPath(/day07);
4.1 增加Cookie代码:
//创建cookie Cookie c1 = new Cookie("uname", URLEncoder.encode("北京","utf-8")); Cookie c2 = new Cookie("city", "Beijing"); //将cookie添加到response中 response.addCookie(c1); response.addCookie(c2);
4.2 获得Cookie代码:
Cookie[] cs = request.getCookies(); if(cs!=null){ for (Cookie c : cs) { String name = c.getName(); String value = c.getValue(); value= URLDecoder.decode(value,"utf-8"); out.print(name+" "+value); out.print("<br>"); } }else{out.print("没有cookie");} out.close();
4.3 让cookie保存在本地硬盘中:
超过1000秒之后,浏览器将cookie保存在硬盘中
Cookie c1=new Cookie("uname","kitty"); Cookie c2=new Cookie("city","shanghai"); c2.setMaxAge(1000); response.addCookie(c1); response.addCookie(c2);
4更新cookie
Cookie[] cs= request.getCookies(); for (Cookie cookie : cs) { String name = cookie.getName(); if(name.equals("city")){ cookie.setValue("shanghai"); response.addCookie(cookie); } }