Да, именно, если вы не можете использовать файлы cookie, вы можете добиться того же добавления JSessionid между обращениями к серверу. Это называется перезапись URL.
Вы должны добавить jsessionid к ссылкам, возвращаемым в браузер, таким образом, браузер отправит свой последующий вызов на сервер с тем же jsessionid. Но для этого нужно использовать методы параметра ответа сервлета: encodeURl() и setRedirect(), чтобы он корректно прикреплял de JSessionId (если это действительно необходимо).
Например, если у вас есть следующая ссылка в вашем сервлете/jsp:
out.println("<a href=\"/mycontext/newpage\">Next Page<a>");
Вы должны написать это:
out.println("<a href=\"");
out.println(response.encodeURL ("/mycontext/newpage"));
out.println("\">Next Page</a>");
Он автоматически прикрепит JSessionId, если это необходимо (например, если файлы cookie отключены).
Точно так же, если вам просто нужно отправить редирект, вы должны:
response.sendRedirect (response.encodeRedirectURL
("http://myhost/mycontext/newpage"));
Для получения дополнительной информации см. API JDK для HttpServletResponse.
person
Toni
schedule
13.11.2012