Javalin sessionAttribute()不是';请求之间不能持久化

Javalin sessionAttribute()不是';请求之间不能持久化,java,reactjs,spark-java,javalin,Java,Reactjs,Spark Java,Javalin,我将Javalin设置为一个微服务,为我的React应用程序提供API端点。在本地,Javalin在端口7070上运行,React在3000上运行(通过内置的服务器创建React应用程序) 我正在尝试连接登录/注销服务,在我的登录控制器中有此代码 boolean isValid = User.isPasswordValid(u, password); if (isValid) { ctx.sessionAttribute("currentUser", u.userHash); } 在

我将Javalin设置为一个微服务,为我的React应用程序提供API端点。在本地,Javalin在端口7070上运行,React在3000上运行(通过内置的服务器创建React应用程序)

我正在尝试连接登录/注销服务,在我的登录控制器中有此代码

boolean isValid = User.isPasswordValid(u, password);
if (isValid) 
{
    ctx.sessionAttribute("currentUser", u.userHash);
}
在React代码中,它侦听来自此控制器的成功响应,然后重新路由到
/dashboard
页面。
/dashboard
页面加载数据,我通过如下方式从会话中获取适合用户的数据:

    String userHash = ctx.sessionAttribute("currentUser");
但是,这总是返回null

看起来这应该行得通,甚至与Javalin网站上发布的教程代码相匹配

React代码和在不同服务器上运行的Javalin是否会导致这种情况不起作用?我尝试用
cookieStore()
替换
sessionAttribute()
,但它也存在同样的空问题

编辑-添加显示JSESSIONID的响应信息

在与Javalin创建者讨论后,正确的答案是在服务器创建中包含这一行:

app.before(ctx -> ctx.header("Access-Control-Allow-Credentials", "true"));
并确保JavaScript调用包含以下选项:

credentials: "include",

try:ctx.sessionAttributeMap();然后列举出来,看看里面是什么,这是一张空地图