У меня возникла проблема с использованием класса Cookie Servlet API 2.5 на Tomcat. Я вытаскиваю список файлов cookie из объекта HttpServletRequest и перебираю их так:
Cookie[] cookies = request.getCookies();
for(Cookie cookie : cookies) {
System.out.println("Name=" + cookie.getName() + " Domain=" + cookie.getDomain());
}
Однако для каждого файла cookie в запросе домен имеет значение NULL. Почему это? Причина, по которой я спрашиваю, заключается в том, что у меня есть файл cookie с тем же именем в двух разных доменах, и я хочу иметь возможность различать их на основе домена. Чтобы помочь прояснить ситуацию, мои одинаково названные файлы cookie устанавливаются в .anydomain.net и .subdomain.anydomain.net. Оба отправляются в запрос, но домены имеют значение null, когда они попадают в сервлет. Ожидается ли, что сервлет не может видеть домен отправленных к нему файлов cookie?
Изменить: я устанавливаю файлы cookie вместе с доменом, истечением срока и пути в предыдущем запросе сервлета. Следующий запрос, поступающий в браузер с этими куки файлами, показывает домен как null. Я подтвердил, что файлы cookie устанавливаются в правильных доменах в браузере.
Изменить 2: Я использую Tomcat 6