Cookie和Session主要的区别
来源:admin
发布时间:2022-08-20 10:49:51
点击数:
如果name为JSESSIONID的Cookie不存在,即发生了关闭或更换浏览器的情况,返回(1)中重新去创建Session与特殊的Cookie
name为JSESSIONID的Cookie存在,根据value中的SessionId去寻找session对象
value为SessionId不存在,返回(1)中重新去创建Session与特殊的Cookie
value为SessionId存在,返回session对象
//cookie示例
@RequestMapping(path = "cookie/set", method = RequestMethod.GET)
@ResponseBody
public String setCookie(HttpServletResponse response) {
//创建cookie
Cookie cookie = new Cookie("code", CommunityUtil.generateUUID());
//设置cookie生效范围
cookie.setPath("community/alpha");
//设置cookie的生存时间
cookie.setMaxAge(60*10);
//发送cookie
response.addCookie(cookie);
return "set cookie";
}
@RequestMapping(path = "cookie/get", method = RequestMethod.GET) @ResponseBody public String getCookie(@CookieValue("code") String code) { System.out.println(code); return "get cookie"; }
//session示例
@RequestMapping(path = "session/set", method = RequestMethod.GET)
@ResponseBody
public String setSession(HttpSession session) {
session.setAttribute("id",1);
session.setAttribute("name","Test");
return "set session";
}
@RequestMapping(path = "session/get", method = RequestMethod.GET) @ResponseBody public String getSession(HttpSession session) { System.out.println(session.getAttribute("id")); System.out.println(session.getAttribute("name")); return "get session"; }