6

我知道如何将 jsessionid 传递给 URL。我对 url 进行编码,如下所示:

mysite.com;jsessionid=0123456789ABCDEF (http)

是否存在使用 Java 从 URL 中检索 jsessionid 的内置方法?我在javadocs isRequestedSessionIdFromURL中找到了这个方法,但它并不能帮助我实际检索值。我必须建立自己的检索方法吗?

谢谢你。

4

3 回答 3

9

JSP 有一个隐含的session对象,类似于request对象。它是 的实例java.servlet.http.HttpSession,具有方法getId()

所以,你应该可以session.getId()在你的 JSP 页面中做。

于 2012-08-31T18:44:41.277 回答
1

无 Cookie 会话是在 Java 中通过将格式字符串附加;jsessionid=SESSION_IDENTIFIER到 URL 末尾来实现的。为此,您的网站发出的所有链接都需要通过 HttpServletRequest.encodeURL() 直接或通过 JSTL 标记等机制传递。即使是单个链接也不这样做可能会导致您的用户永远失去他们的会话。

于 2013-04-26T03:50:08.933 回答
0

session.getId() 应该能够为您获取会话 ID。一旦 WLS 识别出会话 ID 未存储在 cookie 或隐藏表单字段中,WLS 将执行 UR1 的实际解析以检索会话 ID。顺序通常是 Cookie - URL - 隐藏表单字段。

于 2013-07-12T10:16:08.480 回答