【问题标题】:How to use session id in url with jboss 7?如何在 jboss 7 的 url 中使用会话 ID?
【发布时间】:2012-02-19 23:40:32
【问题描述】:

我使用 Openjdk 7 和 JBoss 7。

我可以很好地使用带有 cookie 的会话。一些客户端无法使用 cookie,所以我需要通过 URL 将会话 ID 传递给服务器。当我尝试这样做时,无法初始化会话(我关闭了 cookie 进行测试)。我在 url 中使用了不同的变量来传递会话 id,例如:sessionID、jsessionid、sid,但没有人通过提供的 id 帮助初始化会话。

所以问题是当客户端不能使用cookies时,url中应该包含哪个变量,以及如何设置jboss服务器从url接受会话id?

【问题讨论】:

    标签: jakarta-ee jboss jboss7.x


    【解决方案1】:

    您不应直接修改 URL。完成这项工作的诀窍是在生成 URL 时始终使用 response.encodeURL() 或 response.encodeRedirectURL() 方法。请参阅 javadoc here

    JSTL <c:url> 标记在内部使用此方法生成 URL。所以使用它是安全的。

    如果需要,这些方法会将会话 ID 附加到 URL。请注意,要使它们正常工作,必须在首次创建会话时禁用 cookie。如果您在启用 cookie 时创建会话,然后禁用 cookie,它将不起作用。

    【讨论】:

    • 谢谢!我所有的尝试都是使用 ?jsessionid= 作为简单的 get 变量,这就是我无法初始化会话的原因。 response.encodeURL() 用分号给我正确的 url 格式。 (;jsessionid=)
    猜你喜欢
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多