Java操作Cookie方法
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/
1、问题描述
Cookie由服务端来写并将httpOnly设置成为“true”,Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。看图加深理解。
2、代码片段
1、设置cookie
此处省略账号密码校验逻辑,省略用户信息存缓存步骤。
1 @RequestMapping("/login") 2 @ResponseBody 3 public void login(HttpServletRequest request, HttpServletResponse response) throws IOException { 4 Cookie cookie = new Cookie("access_token", UUID.randomUUID().toString()); 5 cookie.setHttpOnly(true); 6 cookie.setPath("/"); 7 cookie.setDomain("localhost"); 8 response.addCookie(cookie); 9 response.sendRedirect("http://localhost:8088/index.html"); 10 }
2、获取cookie
1 /** 2 * 获取cookie 3 * @param request 4 * @param key 5 * @return 6 */ 7 public static String getCookie(HttpServletRequest request, String key){ 8 if(request == null || StringUtil.isEmpty(key)){ 9 return ""; 10 } 11 Cookie[] cookies = request.getCookies(); 12 for (Cookie cookie : cookies) { 13 if(key.equals(cookie.getName())){ 14 return cookie.getValue(); 15 } 16 } 17 return ""; 18 }
3、参考网站
个性签名:1.01的365次方=37.78343433289 >>>1
0.99的365次方= 0.02551796445229 <<<1
每天进步一点点的目标,贵在坚持…