【发布时间】:2021-06-19 20:28:37
【问题描述】:
我制作了一个应用程序,我想在有新会话时立即获取 cookie。我用会话监听器尝试过,但没有奏效。我用请求监听器尝试了它,但在 cookies 数组中得到了一个空值。 这是来自请求侦听器的代码,每次都让我为空
public void requestInitialized(ServletRequestEvent sre) {
HttpServletRequest req=(HttpServletRequest)sre.getServletRequest();
if(req.getSession().isNew())
{
Cookie c[]=req.getCookies();
try
{
for (Cookie co:c)
{
System.out.println(co.getName());
System.out.println(co.getValue());
}
}
catch(Exception e)
{
System.out.println("error: "+ e.getMessage());
}
}
}
【问题讨论】:
-
您能否用您尝试过的代码示例来扩展这个问题?
-
@IllyaKysil 我把它,任何帮助
-
您能确认一下cookies确实是由客户端发送的吗?如果请求中没有 cookie,则 HttpServletRequest#getCookies() 返回 null - docs.oracle.com/javaee/6/api/javax/servlet/http/…
-
我打开了浏览器的cookies,它们已经在那里,我尝试了过滤器中的代码,它工作了
标签: java servlets jakarta-ee servlet-listeners