为什么我总是在 SparkJava 中获得新会话?
Why I'm getting always a new session in SparkJava?
我有一个 SparkJava api 过滤器,我的客户每 30 秒调用一次。
before("/app/*", {
req, _ ->
println(req.session().attributes().size)
println(req.session().id())
println(req.session().isNew)
req.session().attribute("test", "test")
})
结果是:
0
node0r3ulllnarwq5i62o2wcpxmu25
真的
0
node0i0morm89ftci1tntiu38p8l5026
真的
0
node09n12ooeo0t34wkpaqfhbbou227
真的
从上面可以看出,session id总是不一样的。
为什么会话总是新会话?
我犯了一个愚蠢的错误,但行为是正确的。 REST 是无状态的,没有会话。
有一个很好的解释:
If REST applications are supposed to be stateless, how do you manage sessions?
我有一个 SparkJava api 过滤器,我的客户每 30 秒调用一次。
before("/app/*", {
req, _ ->
println(req.session().attributes().size)
println(req.session().id())
println(req.session().isNew)
req.session().attribute("test", "test")
})
结果是:
0 node0r3ulllnarwq5i62o2wcpxmu25 真的 0 node0i0morm89ftci1tntiu38p8l5026 真的 0 node09n12ooeo0t34wkpaqfhbbou227 真的
从上面可以看出,session id总是不一样的。 为什么会话总是新会话?
我犯了一个愚蠢的错误,但行为是正确的。 REST 是无状态的,没有会话。
有一个很好的解释:
If REST applications are supposed to be stateless, how do you manage sessions?