2017-06-21 116 views
2

我已经使用Google Datastore在servlet中创建了一个登录页面,它工作正常。但有时它会在URL中显示JSESSIONID。如何防止在URL中显示JSESSIONID

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

回答

0

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

参见:

  • disableURLRewriting

Apache Tomcat Configuration Reference

信息

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" ... 
+0

不,我没有使用'response.encodeURL()', – Prakash

1

添加以下条目在web.xml

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

这将指示客户端支持cookie,因此没有必要把JSessionId在URL中的容器。

+0

感谢您的回复 – Prakash

+0

下一次,请包括链接到源代码中,您发现这些信息而不是关闭,就好像你写下了顶部。另请参阅https://meta.stackexchange.com/q/160077 – BalusC