状态管理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);
            }
        }
原文地址:https://www.cnblogs.com/fengdashen/p/5144384.html