码迷,mamicode.com
首页 > 编程语言 > 详细

java对cookie的操作

时间:2014-11-08 16:53:59      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:http   io   ar   使用   java   sp   for   on   bs   

写cookie:

        Cookie cookie = new Cookie(Constants.cookie4SessionName, session.getSessionId());
        cookie.setPath("/");//设置根路径
        cookie.setDomain(".baidu.com");//设置访问域,主域和子域可以共享cookie或者设置跨域cookie
        cookie.setMaxAge(Constants.defaultCookieSessionAge * 24 * 3600);
        response.addCookie(cookie);

注:删除cookie将maxAge设置为0,同时要指定path和domain(如果不是默认的话,默认的path为写cookie的路径及子路径,默认的domain为域名全称),修改也类似,没有明确的修改和删除,实质是覆盖和超时失效。

        cookie.setPath("/");
        cookie.setDomain(".baidu.com");
        cookie.setMaxAge(0);

读cookie:

public static String getSessionId(HttpServletRequest request){
        Cookie[] cookies = request.getCookies();
        if(null == cookies || cookies.length == 0)
            return null;
        for(Cookie cookie : cookies){
            if(Constants.cookie4SessionName.equals(cookie.getName())){
                return cookie.getValue();
            }
        }
        return null;
    }

当然,可以把cookie封装成一个cookieMap使用更方便,Map<String, Cookie> cookieMap...

有点头疼的是,获取cookie的时候如果根域和全域都设置了一个键值对,得不到domain信息;可以先把不需要的那个domain下的cookie删除即可。


java对cookie的操作

标签:http   io   ar   使用   java   sp   for   on   bs   

原文地址:http://my.oschina.net/wnjustdoit/blog/342243

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!