У меня возникла проблема с использованием класса Cookie API Servlet 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. Оба отправляются в запросе, но домены равны нулю, когда они попадают в сервлет. Является ли ожидаемым поведением то, что сервлет не может видеть домен файлов cookie, отправленных ему?
Изменить: я установил файлы cookie вместе с доменом, сроком действия и путем в предыдущем запросе к сервлету. Следующий запрос, поступающий в браузер с этими файлами cookie, показывает домен как нулевой. Я проверил, что файлы cookie устанавливаются в нужных доменах в браузере.
Редактировать 2: я использую Tomcat 6