Servlet Cookie的添加删除以及作用域

2020-04-15  本文已影响0人  帅气的阿斌

1、cookie的增删改查

cookie不支持特殊字符,建议所有要存储的内容都应进行URLEncoder.encode编码
解码用URLDecoder.decode


            //设置cookie 名称和值
            Cookie name = new Cookie("name","abin");
            Cookie token = new Cookie("token", "123456");
            //设置cookie的作用域 "/"代表根目录(localhost),可指定在根目录下的任意一个目录生成有效cookie,包括其他web项目以及子目录;
            //path不设置默认为本目录的上一层目录如:"/servletcookietwo/final/go" cookie生效path为:"/servletstudy/servletcookietwo/final"
            name.setPath("/servletstudy");
            token.setPath("/servletstudy");

            name.setDomain("");

            //设置过期时间 -1默认为session 0表示清除,可以用这个值来清除cookie 以秒为单位
            name.setMaxAge(60*60*24);
            token.setMaxAge(60*60*24);

            //设置cookie
            resp.addCookie(name);
            resp.addCookie(token);

            System.out.println("设置cookie");

查询cookie

            for (Cookie cookie : req.getCookies()){
                System.out.println(cookie.getValue());
                System.out.println(cookie.getName());
                System.out.println("删除cookie");

                cookie.setMaxAge(0);
                resp.addCookie(cookie);
            }
网络请求抓包结果

2、cookie的作用域

setPath 可在同一服务器下共享

setDomain

上一篇下一篇

猜你喜欢

热点阅读