JavaWeb--会话Cookie1

2022-07-24  本文已影响0人  何以解君愁

Cookie的实现是基于HTTP协议的,响应头:set-cookie,请求头:cookie

Cookie的存活时间:默认情况下,Cookie存储在浏览器内存中,浏览器关闭,内存释放,Cookie就销毁
setMaxAge(int seconds):设置Cookie存活时间:
正数:将Cookie写入浏览器所在电脑的硬盘,持久化存储,到时间自动删除
负数:默认值,Cookie在当前浏览器内存中,浏览器关闭,Cookie即销毁
零:删除对应Cookie
例:

        //创建cookie对象
        Cookie cookie = new Cookie("username","jack");
        
        //设置存活时间,七天
        cookie.setMaxAge(60*60*24*7);
        //发送
        response.addCookie(cookie);

Cookie不能直接存储中文,如需存储,需要进行转码:URL编码
例:

        String value = "赵芸";
        value  = URLEncoder.encode(value,"UTF-8");

        Cookie cookie = new Cookie("username",value);

        //设置存活时间,七天
        cookie.setMaxAge(60*60*24*7);
        //发送
        response.addCookie(cookie);

        //获取Cookie数组
        Cookie[] cookies = request.getCookies();

        //遍历Cookie
        for (Cookie cookie : cookies) {
            String name = cookie.getName();
            if ("username".equals(name)){
                //获取数据
                String value = cookie.getValue();
                //URL解码
                value = URLDecoder.decode(value, "UTF-8");
                System.out.println(name+":"+value);

                break;
            }
        }
上一篇下一篇

猜你喜欢

热点阅读