15

を使用してサーブレットでクッキーを取得しようとしています

Cookie[] cookie = request.getCookies();

しかしcookie、常にnull

そのため、別のサーブレットからそれらを設定すると、ブラウザーの設定に表示されます。

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

私は何が問題なのか理解できませんか?

4

5 に答える 5

16

docs によると getCookies()、クライアントがこのリクエストで送信したすべての Cookie オブジェクトを含む配列を返します。Cookie が送信されなかった場合、このメソッドは null を返します。

Cookie を正しく追加しましたか? はいの場合、返された Cookie のリストを反復処理できるはずです

Cookie[] cookies = request.getCookies();

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

いいえの場合...

addCookie(Cookie)レスポンス オブジェクトのメソッドで Cookie が追加されます。

于 2012-06-15T09:10:50.783 に答える
14

クッキーをセット

  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();
       }
   }
于 2015-05-21T10:30:37.307 に答える
-2

まず、Cookie を作成してから、応答に追加する必要があります

Cookie cookie = new Cookie(name,value);
response.addCookie(cookie);
于 2012-06-15T09:21:39.807 に答える