Jump to: navigation, search

Difference between revisions of "Jetty/Howto/SessionIds"

< Jetty‎ | Howto
Line 10: Line 10:
 
<td><b>Description</b></td>
 
<td><b>Description</b></td>
 
</tr><tr>
 
</tr><tr>
<td>org.mortbay.jetty.servlet.SessionCookie</td>
+
<td>org.eclipse.jetty.servlet.SessionCookie</td>
 
<td>JSESSIONID</td>
 
<td>JSESSIONID</td>
<td>Session cookie name.efaults to JSESSIONID, but can be set for a particular webapp with this context param.</td>
+
<td>Session cookie name defaults to JSESSIONID, but can be set for a particular webapp with this context param.</td>
 
</tr><tr>
 
</tr><tr>
 
<td>org.eclipse.jetty.servlet.SessionIdPathParameterName</td>
 
<td>org.eclipse.jetty.servlet.SessionIdPathParameterName</td>
Line 18: Line 18:
 
<td>Session URL parameter name. Defaults to jsessionid, but can be set for a particular webapp with this context param. Set to "none" to disable URL rewriting.</td>
 
<td>Session URL parameter name. Defaults to jsessionid, but can be set for a particular webapp with this context param. Set to "none" to disable URL rewriting.</td>
 
</tr><tr>
 
</tr><tr>
<td>org.mortbay.jetty.servlet.SessionDomain</td>
+
<td>org.eclipse.jetty.servlet.SessionDomain</td>
 
<td>-</td>
 
<td>-</td>
 
<td>Session Domain. If this property is set as a ServletContext param, then it is used as the domain for session cookies.If it is not set, then no domain is specified for the session cookie.</td>
 
<td>Session Domain. If this property is set as a ServletContext param, then it is used as the domain for session cookies.If it is not set, then no domain is specified for the session cookie.</td>
 
</tr><tr>
 
</tr><tr>
<td>org.mortbay.jetty.servlet.SessionPath</td>
+
<td>org.eclipse.jetty.servlet.SessionPath</td>
 
<td>-</td>
 
<td>-</td>
 
<td>Session Path. If this property is set as a ServletContext param, then it is used as the path for the session cookie. If it is not set, then the context path is used as the path for the cookie.</td>
 
<td>Session Path. If this property is set as a ServletContext param, then it is used as the path for the session cookie. If it is not set, then the context path is used as the path for the cookie.</td>
 
</tr><tr>
 
</tr><tr>
<td>org.mortbay.jetty.servlet.MaxAge</td>
+
<td>org.eclipse.jetty.servlet.MaxAge</td>
 
<td>-1</td>
 
<td>-1</td>
 
<td>Session Max Age. If this property is set as a ServletContext param, then it is used as the max age for the session cookie. If it is not set, then a max age of -1 is used.</td>
 
<td>Session Max Age. If this property is set as a ServletContext param, then it is used as the max age for the session cookie. If it is not set, then a max age of -1 is used.</td>

Revision as of 11:43, 19 July 2011



Introduction

The following configuration can be applied to modify the session characteristics of a web application:


Steps

Init Parameters

Context Parameter Name Default Value Description
org.eclipse.jetty.servlet.SessionCookie JSESSIONID Session cookie name defaults to JSESSIONID, but can be set for a particular webapp with this context param.
org.eclipse.jetty.servlet.SessionIdPathParameterName jsessionid Session URL parameter name. Defaults to jsessionid, but can be set for a particular webapp with this context param. Set to "none" to disable URL rewriting.
org.eclipse.jetty.servlet.SessionDomain - Session Domain. If this property is set as a ServletContext param, then it is used as the domain for session cookies.If it is not set, then no domain is specified for the session cookie.
org.eclipse.jetty.servlet.SessionPath - Session Path. If this property is set as a ServletContext param, then it is used as the path for the session cookie. If it is not set, then the context path is used as the path for the cookie.
org.eclipse.jetty.servlet.MaxAge -1 Session Max Age. If this property is set as a ServletContext param, then it is used as the max age for the session cookie. If it is not set, then a max age of -1 is used.

Example

The above can either be set as <context-param>s in a web application's WEB-INF/web.xml file like so:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
  xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  version="2.5">
  ...
  <context-param>
    <param-name>org.eclipse.jetty.servlet.SessionCookie</param-name>
    <param-value>XSESSIONID</param-value>
  </context-param>
  <context-param>
    <param-name>org.eclipse.jetty.servlet.SessionIdPathParameterName</param-name>
    <param-value>xsessionid</param-value>
  </context-param>
  ...
</web-app>

or, they can be set in a Jetty context xml file that configures a web application:

<Configure class="org.mortbay.jetty.webapp.WebAppContext">
  <Set name="contextPath">/test</Set>
  <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/test</Set>
 
  ...
 
  <Set name="initParams">
    <Map>
      <Entry>
        <Item>org.eclipse.jetty.servlet.SessionCookie</Item>
        <Item>XSESSIONID</Item>
      </Entry>
      <Entry>
        <Item>org.eclipse.jetty.servlet.SessionIdPathParameterName</Item>
        <Item>xsessionid</Item>
      </Entry>
    </Map>
  </Set>
</Configure>

To see more about params look at the class org.eclipse.jetty.server.SessionManager source : http://download.eclipse.org/jetty/stable-7/xref/org/eclipse/jetty/server/SessionManager.html




Additional Resources

For more information, please see the Session Clustering tutorial.