创建会话后缺少JSESSIONID cookie

问题描述 投票:0回答:1

在使用以下代码成功登录用户后,我们正在应用程序中创建会话

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

现在它应该在我们发送响应并重定向到JSP的其他页面时使用JSESSIONID在浏览器中创建一个cookie。现在我们尝试使用以下代码在JSP中打印请求中的所有cookie。

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,它创建的问题是,在下一个servlet中,我们从请求对象获取会话为null

可能的原因是什么?

java session servlets cookies httpsession
1个回答
0
投票

我没有看到你在代码上添加cookie的任何地方。例如:

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

第二,你得到你的会议

request.getSession(false); 

如果存在,则不应创建新会话,只返回当前的会话。否则返回null。

© www.soinside.com 2019 - 2024. All rights reserved.