Вопросы о cookie на Java - PullRequest
       16

Вопросы о cookie на Java

0 голосов
/ 06 июня 2010

Как отличить несколько файлов cookie, установленных на моем сайте? Я устанавливаю два вида файлов cookie: один для просмотра, посетил ли пользователь сайт или нет, а другой для аутентификации. Как я могу различать эти два? Я получаю их оба, когда кто-то получает доступ к странице после аутентификации. Добавляю ли я дополнительную информацию в значение Cookie или есть какой-то другой способ? Я понимаю, что с этого момента функция setName () будет изменять имя (с jsessionid) для каждого файла cookie. Я прав?

  • Pav

Ответы [ 4 ]

1 голос
/ 06 июня 2010

Независимо от того, чтобы аутентифицировать пользователя, я бы предпочел вместо этого использовать HttpSession.При входе в систему поместите объект User в качестве атрибута сеанса, чтобы вы могли просто проверить наличие объекта User в сеансе.Сам HttpSession поддерживается файлом cookie JSESSIONID, с той лишь разницей, что сервлет-контейнер будет управлять всем этим для вас прозрачно.

0 голосов
/ 07 июня 2010

Cookie - это , построенный как пара имя-значение.

Интерфейс getCookies () HttpServletRequest вернет все файлы cookie в запросе.

Вы можете перебрать все файлы cookie и найти требуемый файл cookie, проверив имя, используя getName вызов Cookie и для получения его значения .

0 голосов
/ 06 июня 2010

Посмотрите на этом сайте учебник по cookie http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Cookies.html

Вы должны иметь возможность сделать getName и проверить имя для cookie. Вот образец

  public static String getCookieValue(Cookie[] cookies,
                                      String cookieName,
                                      String defaultValue) {
    for(int i=0; i<cookies.length; i++) {
      Cookie cookie = cookies[i];
      if (cookieName.equals(cookie.getName()))
        return(cookie.getValue());
    }
    return(defaultValue);
  }

Вы должны создать печенье с чем-то вроде этого ...

Cookie searchStringCookie =
  new LongLivedCookie("name", value);
response.addCookie(searchStringCookie);
0 голосов
/ 06 июня 2010

Неправильный вопрос. Имя cookie устанавливается при создании объекта cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...