cookie 值为什么不一样?

weir2008 发布于 2015/04/21 15:25
阅读 2K+
收藏 0

数据技术都能四世同堂,凭什么开发 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 不一样,请指导?????





加载中
0
hibegin
hibegin
setMaxAge 这里通知浏览器。把这cookie 移除了。后面的你有生成的吧
0
weir2008
weir2008
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
hibegin
hibegin
我看可以下 你新生成的 cookie maxAge 为 -1 这意味你服务端控制的把。
0
5ycode
5ycode
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
weir2008
weir2008
该评论暂时无法显示,详情咨询 QQ 群:点此入群
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部