Weblogic: кука не устанавливается в jsp, если запрос идёт во вложенную директорию

Рейтинг: 2Ответов: 0Опубликовано: 08.03.2015

Здравствуйте!

Натолкнулся на интересный случай и не могу найти объяснение.

index.jsp

<script src="cookie.js"></script>
<script>
setInterval(function () {
        console.log( docCookies.getItem("some_name") )
}, 1000);
</script>
<form action="test.jsp"  method="POST">
    <button>click</button>
</form>

cookie.js - скрипт отсюда https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie

test.jsp

<% 
    response.setHeader("Content-Disposition", "attachment;filename=test.txt");
    response.setContentType("application/octet-stream");
    response.setCharacterEncoding("UTF-8");
    response.addCookie(new Cookie("some_name", "some_value"));
    out.print("my out");
%>

В данном примере кука ставится, но если поместить test.jsp во вложенную директорию и запросить её оттуда (заменить в форме action="test.jsp", например, на action="jsp/test.jsp" и положить в каталог jsp файл test.jsp), то нет.

Как это можно объяснить?

Спасибо!

P.S. Удалось найти решение самому, думаю, многим пригодится, всё дело в указании пути, по которому кука доступна, у меня кука была доступна по пути jsp/test.jsp, а страница, которая запрашивала, находится в корневом каталоге.

<% 
    response.setHeader("Content-Disposition", "attachment;filename=test.xml");
    response.setContentType("application/octet-stream");
    response.setCharacterEncoding("UTF-8");
    Cookie cookie = new Cookie("some_name", "some_value");
    cookie.setPath("/");
    response.addCookie(cookie);
    out.print("my out");
%>

Ответы

Ответов пока нет.