Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to prevent the JSESSIONID showing in the URL [duplicate]

I have created an login page in servlet using Google Datastore, it is working fine. but sometimes its showing the JSESSIONID in the URL.

How can I prevent the JSESSIONID sending through the URL? why its passing through the URL instead of request message?

like image 437
Prakash Avatar asked Jun 21 '17 10:06

Prakash


2 Answers

Add the following entry in your web.xml.

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

This will instruct the container that the client supports cookies and hence there is no need to put the JSessionId in the URL.

like image 196
VHS Avatar answered Sep 28 '22 23:09

VHS


Are you using response.encodeURL()? If so, try to remove it or disable "URL Rewriting" and check the URL.

See also:

  • disableURLRewriting

Apache Tomcat Configuration Reference

Additional information:

response.encodeURL(URL) adds ;jsessionid=xxxx... to URL. To disable this(="URL Rewriting"),

Tomcat 7.0 or later:

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

Tomcat 6.0:

<Context disableURLRewriting="true" ...
like image 21
Kohei TAMURA Avatar answered Sep 29 '22 01:09

Kohei TAMURA