从浏览器请求中提取cookies并对cookis进行操作

2025-10-19 23:46:43

1、根据名字获取cookie:

public static Cookie getCookieByName(HttpServletRequest request, String name) {

        Map<String, Cookie> cookieMap = ReadCookieMap(request);

        if (cookieMap.containsKey(name)) {

            Cookie cookie = (Cookie) cookieMap.get(name);

            return cookie;

        } else {

            return null;

        }

    }

从浏览器请求中提取cookies并对cookis进行操作

2、将cookie封装到Map里面:

private static Map<String, Cookie> ReadCookieMap(HttpServletRequest request) {

        Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();

        Cookie[] cookies = request.getCookies();

        if (null != cookies) {

            for (Cookie cookie : cookies) {

                cookieMap.put(cookie.getName(), cookie);

            }

        }

        return cookieMap;

    }

从浏览器请求中提取cookies并对cookis进行操作

3、保存Cookies:

 public static HttpServletResponse setCookie(HttpServletResponse response, String name, String value,int time) {

        // new一个Cookie对象,键值对为参数

        Cookie cookie = new Cookie(name, value);

        // tomcat下多应用共享

        cookie.setPath("/");

        // 如果cookie的值中含有中文时,需要对cookie进行编码,不然会产生乱码

        try {

            URLEncoder.encode(value, "utf-8");

        } catch (UnsupportedEncodingException e) {

            e.printStackTrace();

        }

        cookie.setMaxAge(time);

        // 将Cookie添加到Response中,使之生效

        response.addCookie(cookie); // addCookie后,如果已经存在相同名字的cookie,则最新的覆盖旧的cookie

        return response;

    }

从浏览器请求中提取cookies并对cookis进行操作

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢