Файл cookie JSESSIONID отсутствует после создания сеанса

Мы создаем сеанс в нашем приложении после успешного входа пользователя, используя следующий код

HttpSession session = request.getSession(true);
sesssion.setAttribute("adminUserName", principalName);

Теперь он должен создать файл cookie в браузере с помощью JSESSIONID, как только мы отправим ответ и перенаправим его на другую страницу, которая является JSP. Теперь мы пытаемся распечатать все файлы cookie из запроса в JSP, используя следующий код.

Cookie cookie = null;
      Cookie[] cookies = null;

      cookies = request.getCookies();
      if (cookies != null) {
         out.println("<h2> List of cookies : </h2>");
         for (int i = 0; i < cookies.length; i++) {
            cookie = cookies[i];
            out.print("Name : " + cookie.getName() + ",  ");
            out.print("Value: " + cookie.getValue() + " <br/>");
         }
      } else {
         out.println("<h2>No cookies founds</h2>");
      }

но результат Файлы cookie не найдены, и проблема, которую он создает, заключается в том, что в следующем сервлете мы получаем сеанс из объекта запроса как null.

Что может быть возможной причиной?


person Nikhil Agrawal    schedule 11.12.2017    source источник


Ответы (1)


Я нигде не вижу, где вы добавляете файл cookie в свой код. Например:

Cookie firstCookie= new Cookie("adminUserName",
request.getParameter("principalName"));
response.addCookie( firstCookie);

Во-вторых, вы получаете сеанс

request.getSession(false); 

Это не должно создавать новый сеанс, просто возвращать текущий, если он существует. В противном случае возвращается ноль.

person Uta Alexandru    schedule 11.12.2017