来自HttpServletRequest的java会话id结构

时间:2010-12-09 15:56:39

标签: java session servlets

我只是想了解如何生成Java Session Id。原因是我想将此ID用作会话跟踪的唯一ID。如果我能够这样做,那将非常容易。

现在有人对它的描述很好吗?

THX

3 个答案:

答案 0 :(得分:3)

  

原因是我想将此ID用作会话跟踪的唯一ID。如果我能够这样做,那将非常容易。

Bozho已经回答了技术部分。然而,您所述的功能部分并不是一个好方法。如果你想做“会话跟踪”,你基本上不需要做任何特别的事情。 servletcontainer alread在HttpSession的风格中完成会话跟踪的工作。您只需通过

将感兴趣的对象存储在会话中
session.setAttribute("somename", someObject);

将在同一会话的后续请求中提供
SomeObject someObject = (SomeObject) session.getAttribute("somename");

您无需从servletcontainer接管会话跟踪作业。

另见:

答案 1 :(得分:1)

如果真的感兴趣,可以在Servlet规范中查找。重要的一点是,根据servlet容器实例,它是唯一的。但是,如果您使用两个实例,或者重新启动容器,则可能会再次使用之前使用过的会话ID。

答案 2 :(得分:0)

我猜@katamshut正在寻找随机字符串生成器。 Commons Lang库可以帮助使用RandomStringUtils类生成随机字符串。 生成字符串后,可以将其添加到会话对象