cookie-resopnse对象addCookie和addHeader设置cookie区别

下面有两个具体的代码示例:

  • 设置addCookie
@RequestMapping("/respAddCK")
    @ResponseBody
    public String respAddCK(@RequestBody  UserInfoVo loginUser){

        System.out.println("begin");
        AppUser user = loginService.queryLoginUser(loginUser);
        System.out.println("end");
        Cookie ck = new Cookie("respAddCK",loginUser.getUsername());
        response.addCookie(ck);

        return "very good!";
    }
  • 设置addHeader
@RequestMapping("/respSetCK")
    @ResponseBody
    public String respSetCK(@RequestBody  UserInfoVo loginUser){

        System.out.println("begin");
        AppUser user = loginService.queryLoginUser(loginUser);
        System.out.println("end");
        StringBuffer cookieBuf = new StringBuffer();
        cookieBuf.append("respSetCK=").append(loginUser.getUsername()).append(";");
        cookieBuf.append("Path=/; HttpOnly;");
        response.addHeader("Set-Cookie",cookieBuf.toString());

        return "very good!";
    }

最终结果:
cookie-resopnse对象addCookie和addHeader设置cookie区别
通过对比,发现都成功的设置了cookie,只不过具体值有差异,addHeader比addCookie灵活,可以设置的属性更多