Folks,
Раньше, когда вы нажимаете сервлет / jsp, сервер приложений автоматически запускал сеанс.Это поместит cookie-файл сессии в первый динамический ответ, который будет отслеживаться повсюду.
У меня есть бэкэнд отдыха, и я замечаю, что сессионные куки не торгуются.Поэтому я вручную добавляю код для отправки куки-файла JSESSIONID:
@Context
private HttpServletRequest httpRequest;
// ...
@GET
@Path( "/{rcpGuid}" )
public Response myMethod( ... )
{
final HttpSession session = httpRequest.getSession();
final String sSessionId = session.getId();
...
return Response.status( Response.Status.SEE_OTHER ).
location( redirectUrl ).cookie( new NewCookie( "JSESSIONID", sSessionId ) );
}
Теперь это вызывает возврат 2 копий куки-файла JSESSIONID туда, где раньше не было заголовка Set-Cookie.Вот что я вижу сейчас в инспекторе моего браузера:
Set-Cookie:JSESSIONID=sdm-Q1P6pRoQbKd4-9cJylGb; Path=/nn, JSESSIONID=sdm-Q1P6pRoQbKd4-9cJylGb; Version=1
Мне все равно, пока это будет работать.Но, к сожалению, когда мой браузер запрашивает перенаправляемый URL-адрес (обратите внимание, что ответ «SEE_OTHER»), этот запрос не содержит идентификатор сеанса.Это приводит к тому, что мое приложение не работает правильно.
Есть идеи?