状态管理cookie 案例

时间:2023-03-09 13:11:01
状态管理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);
}
}