Java 如何防止JSESSIONID显示在URL中

Java 如何防止JSESSIONID显示在URL中,java,servlets,google-cloud-datastore,jsessionid,Java,Servlets,Google Cloud Datastore,Jsessionid,我已经使用Google数据存储在servlet中创建了一个登录页面,它运行良好。但有时它会在URL中显示JSESSIONID 如何防止JSESSIONID通过URL发送? 为什么它通过URL而不是请求消息传递?您使用的是response.encodeURL()?如果是这样,请尝试删除它或禁用“URL重写”并检查URL 另见: 禁止重写 其他信息: response.encodeURL(URL)添加;jsessionid=xxxx…到URL。要禁用此(=“URL重写”) Tomcat 7.0

我已经使用Google数据存储在servlet中创建了一个登录页面,它运行良好。但有时它会在URL中显示JSESSIONID

如何防止JSESSIONID通过URL发送?
为什么它通过URL而不是请求消息传递?

您使用的是
response.encodeURL()
?如果是这样,请尝试删除它或禁用“URL重写”并检查URL

另见:

  • 禁止重写

其他信息

response.encodeURL(URL)
添加
;jsessionid=xxxx…
到URL。要禁用此(=“URL重写”)

Tomcat 7.0或更高版本:

<session-config>
  <tracking-mode>COOKIE</tracking-mode>
</session-config>

曲奇
Tomcat 6.0:

<Context disableURLRewriting="true" ...

web.xml
中添加以下条目

<session-config>
    <tracking-mode>COOKIE</tracking-mode>
</session-config>

曲奇

这将指示容器客户端支持cookie,因此无需将
JSessionId
放在URL中。

不,我没有使用
response.encodeURL()
,您应该始终使用
response.encodeURL
(或
response.encodeRedirectURL
,如果合适)。如果要禁用会话,请使用配置,而不是不遵守规则而中断应用程序。感谢您的响应下次请包含指向找到此信息的源的链接,而不是像在头上注销一样关闭。另见