gpt4 book ai didi

java - 如何根据请求有效负载将请求与 Java EE 应用程序中的 HttpSession 相关联?

转载 作者:行者123 更新时间:2023-11-29 08:09:22 25 4
gpt4 key购买 nike

我有一个通过 http/s 接收请求的 Java EE 应用程序。请求不包含任何 cookie 或 jsessionid 请求参数。

在请求有效负载中,我可以找到一个字符串“sessionid”,它应该允许我将该请求关联到一个 HttpSession。我已经设法实现了一种机制,可以在内存中存储 session 映射,但在集群环境中(很容易)无法扩展。

将请求关联到 HttpSession 的标准 Java EE 机制基于 cookie 或 URL 重写,这对我来说不可用,因为我不控制发送请求的第 3 方。此外,HttpServletRequest 对象没有 setSession() 方法。

有没有直接的方法将请求关联到 HttpSession,而不依赖于特定的 Java EE 服务器或某些分布式缓存?

最佳答案

一些声明:

  • 第 3 方客户端不符合 HTTP 规范,那不是你的问题
  • 如果您需要自定义机制,则应实现所有机制。也就是说,不要依赖 HttpSession - 创建一个 Map<String, Object>对于每个 sessionId 并自己支持
  • 任何其他解决方案都需要将您的代码插入容器(对于 tomcat,可能是 Valve),但没有标准解决方案。

关于java - 如何根据请求有效负载将请求与 Java EE 应用程序中的 HttpSession 相关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9194181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com