我使用Openjdk 7和JBoss 7。
我可以使用cookies好的会话。一些客户端无法使用cookie,因此我需要通过URL将会话ID传递给服务器。当我尝试这样做时,会话无法初始化(我关闭cookie来测试)。我在url中使用了不同的变量来传递会话ID,例如:sessionID,jsessionid,sid,但没有人帮助按提供的id初始化会话。
所以问题是当客户端无法使用cookie时,哪个变量应包含url中的会话ID,以及如何设置jboss服务器以接受来自url的会话ID?
答案 0 :(得分:0)
您不应直接修改网址。使这项工作的技巧是在生成URL时始终使用response.encodeURL()或response.encodeRedirectURL()方法。请参阅javadoc here。
JSTL <c:url>
标记在内部使用此方法生成网址。所以使用它是安全的。
如果需要,这些方法会将会话ID附加到URL。请注意,要使它们起作用,必须在首次创建会话时禁用cookie。如果在启用cookie时创建会话,然后禁用cookie,则无法使用。