标签: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删除即可。
标签:http io ar 使用 java sp for on bs
原文地址:http://my.oschina.net/wnjustdoit/blog/342243