Java实现对cookie的增删改查

原文地址:http://blog.csdn.net/k21325/article/details/54377830   
@RequestMapping(value="meeting/addGuanzhu.do",method=RequestMethod.POST) @ResponseBody public Map<String, Object> addGuanzhu(HttpServletRequest request,HttpServletResponse response, Model model, String submitter) throws UnsupportedEncodingException { Map<String, Object> reMap = new HashMap<String, Object>(); //获取登录用户id String adminId = tsAdminService.getAdminIdCookie(request); System.out.println(submitter); if(submitter!=null && !"".equals(submitter)){ if(submitter!=null&&!"".equals(submitter)){ Cookie cookie = new Cookie(adminId.trim(), URLEncoder.encode(submitter.trim(), "UTF-8")); cookie.setMaxAge(60 * 60 * 24 * 360);// 设置为30min cookie.setPath("/"); response.addCookie(cookie); reMap.put("success", "success"); }else{ reMap.put("success", "false"); } }else{ CookieUtils.delCookieByName(request, response, adminId); reMap.put("success", "false"); } return reMap; } CookieUtils工具类 // 根据名称获取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; } } // 先把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; } // 根据名称删除cookie public static void delCookieByName(HttpServletRequest request, HttpServletResponse response, String name) { Cookie[] cookies = request.getCookies(); if (null == cookies) { System.out.println("没有cookie=============="); } else { for (Cookie cookie : cookies) { if (cookie.getName().equals(name)) { cookie.setValue(null); cookie.setMaxAge(0);// 立即销毁cookie cookie.setPath("/"); System.out.println("被删除的cookie名字为:" + cookie.getName()); response.addCookie(cookie); break; } } } } //根据名称修改cookie的值 public void editCookie(HttpServletRequest request, HttpServletResponse response, String name, String value) { Cookie[] cookies = request.getCookies(); if (null == cookies) { System.out.println("没有cookie=============="); } else { for (Cookie cookie : cookies) { if (cookie.getName().equals(name)) { System.out.println("原值为:" + cookie.getValue()); cookie.setValue(value); cookie.setPath("/"); cookie.setMaxAge(30 * 60);// 设置为30min System.out.println("被修改的cookie名字为:" + cookie.getName() + ",新值为:" + cookie.getValue()); response.addCookie(cookie); break; } } } }

 

posted @ 2018-03-02 09:42  HanZongBo  阅读(353)  评论(0编辑  收藏  举报