2013-07-24 8 views
13

Von meinem Verständnis, Servlet Container Griff Sitzung mit einigen HTTP-Protokolle wieWie behandelt Tomcat die Sitzung intern?

  1. versteckte Formularfelder
  2. URL Rewriting
  3. Plätzchen

Ich bin neugierig, wie Apache Tomcat Griffe die Sitzung intern, obwohl es für durchschnittliche Entwickler irrelevant ist.

Verwendet Tomcat Cookies oder andere?

+0

http://stackoverflow.com/questions/1905244/session-management-in-tomcat entnehmen Sie bitte den obigen Link –

+0

Es Open Source ist, können Sie genau gehen sehen, was es tut: http://tomcat.apache.org/svn.html – cjstehno

+0

@cjsteho Danke. Irgendeine Idee, wo man anfangen soll? – Mawia

Antwort

9

Standardmäßig sendet Tomcat Cookies in der HTTP-Antwort wie SET COOKIE:JSESSIONID.... direkt an den Browser zurück und schreibt die URL neu, um einen JSESSIONID Parameter für die erste Anforderung hinzuzufügen, sodass sie auf den späteren Fall zurückgreifen kann Cookies sind im Client-Browser deaktiviert.

Wenn der Browser das nächste Mal den Server mit der JSESSIONID in seinem request anfordert, verwendet Tomcat den Cookie JSESSIONID für die Aufrechterhaltung der Sitzung.

Sie können die Session-Cookie Verhalten in Tomcat overide durch Modifizieren context.xml:

<Context cookies="false"> 
</Context> 

und deaktivieren Sie die URL die gleiche Art und Weise neu zu schreiben:

<Context disableURLRewriting="true"> 
</Context> 

Auch lesen Sie diese Servlet Session Tracking with cookies (JSESSIONID)

0

Tomcat sendet standardmäßig Cookies, sofern sie nicht vom Browser blockiert werden (thou Diese Übung wird nicht empfohlen. Darüber hinaus sind die Session-Cookies (JSESSIONID), die erstellt werden, keine dauerhaften Cookies und sie sterben ab, wenn diese Instanz (Fenster) des Browsers geschlossen wird.

Verwandte Themen