Java 如何防止JSESSIONID显示在URL中
我已经使用Google数据存储在servlet中创建了一个登录页面,它运行良好。但有时它会在URL中显示JSESSIONID 如何防止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
为什么它通过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
,如果合适)。如果要禁用会话,请使用配置,而不是不遵守规则而中断应用程序。感谢您的响应下次请包含指向找到此信息的源的链接,而不是像在头上注销一样关闭。另见