数据技术都能四世同堂,凭什么开发 30 岁就要被干掉?>>>
@ResponseBody @RequestMapping("/logout") public Json logout(HttpSession session,HttpServletRequest request,HttpServletResponse response) { Json j = new Json(); if (session != null) { // session.invalidate(); session.removeAttribute("U"); } Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if ("userCookie".equals(cookie.getName())) { cookie.setValue(""); cookie.setMaxAge(0); response.addCookie(cookie); } } } j.setSuccess(true); j.setMsg("注销成功!"); return j; }
这是注销了之后的cookie 没有value了
再看下面的拦截程序:
public class PermissionInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requestUri = request.getRequestURI(); String contextPath = request.getContextPath(); String url = requestUri.substring(contextPath.length()); if (excludeUrls.contains(url)) { return true; } HttpSession session = request.getSession(); User u = (User) session.getAttribute("U"); if (null==u) { Cookie[] cookies = request.getCookies(); if (cookies!=null && cookies.length>0) { for (Cookie cookie : cookies) { if ("userCookie".equals(cookie.getName())) { String name = cookie.getValue(); if (BaseUtil.isEmpty(name)) { String[] ss = name.split(","); if (userService.exsit("name", ss[0].trim(), "pwd", ss[1].trim())) { u = userService.findEntity("name", ss[0].trim(), "pwd", ss[1].trim()); session.setAttribute("U", u); break; } } } } } } }
Cookie[] cookies = request.getCookies();这里获取到的cookie,截图为:
我有点不明白 ,还是我太菜鸟了。
为什么两个cookie 不一样,请指导?????