在 servlet 中获取饼干

2022-09-03 10:38:52

我正在尝试使用 servlet 中获取 cookie

Cookie[] cookie = request.getCookies();

但总是.cookienull

所以我从另一个servlet设置它们,它们出现在浏览器首选项中。

Cookie cookie = new Cookie("color", "cyan");
cookie.setMaxAge(24*60*60);
cookie.setPath("/");
response.addCookie(cookie);

我不明白出了什么问题?


答案 1

根据文档 返回一个数组,其中包含客户端使用此请求发送的所有 Cookie 对象。如果未发送任何 Cookie,则此方法返回 null。getCookies()

您是否正确添加了 Cookie?如果是,您应该能够循环访问返回的 Cookie 列表

Cookie[] cookies = request.getCookies();

for (int i = 0; i < cookies.length; i++) {
  String name = cookies[i].getName();
  String value = cookies[i].getValue();
}

如果没有...

Cookie 随响应对象中的方法一起添加!addCookie(Cookie)


答案 2

设置饼干

  Cookie cookie = new Cookie("cookiename", "cookievalue");
  response.addCookie(cookie);

获取饼干

  Cookie[] cookies = request.getCookies();
  if(cookies != null) {
      for (int i = 0; i < cookies.length; i++) {
          cookie=cookies[i]
          String cookieName = cookie.getName();
          String cookieValue = cookie.getValue();
       }
   }

推荐