Cómo modificar el nombre jsessionid
Agregue el parámetro org.apache.catalina.SESSION_COOKIE_NAME en el elemento de inicio
linux
JAVA_OPTS='-Dorg.apache.catalina SESSION_COOKIE_NAME=yousessionname'
win
Set JAVA_OPTS='-Dorg.apache.catalina.COOKIE_NAME=yousessionname"
2. El método de modificación para Tomcat6 y tomcat7 es el mismo
Agregue el parámetro sessionCookieName a la etiqueta del contenedor Context
lt;Context path="/" docBase="webapp" reloadable="false" sessionCookieName="yoursessionname" gt;lt;/ Contextgt;
3.¿Por qué es bueno?
Tomcat5 es efectivo para todos los contextos al agregar parámetros y el impacto es muy grande, por lo que solo se configura para futuras versiones de Context
El código fuente de Tomcat5 es el siguiente
Clase pública final Globals
/**
* Cookie se utiliza para pasar identificadores de sesión de un lado a otro al nombre del cliente
*
*/
cadena final estática pública SESSION_ COOKIE_NAME =
" JSESSIONID");
Los códigos fuente de Tomcat6 y Tomcat7 son básicamente los mismos, como se muestra a continuación
clase pública StandardContext
....lt;codegt;nulllt;/codegt;representado
*El nombre viene dado por
*/
private String sessionCookieName;
/**
*Obtener el nombre utilizado para la cookie de sesión
*
*
* @ @ Devuelve el valor del nombre de la cookie de sesión predeterminada, si no se especifica
*, devuelve nulo
*/* *
public String getSessionCookieName() {
return sessionCookieName;
}
/**
* Establezca el nombre de la cookie de sesión. Anule cualquier configuración que la aplicación pueda especificar.
*
* @param sessionCookieName El nombre a utilizar
*/
public void setSessionCookieName(String sessionCookieName) {
Cadena oldSessionCookieName = this.sessionCookieName;
this.sessionCookieName = sessionCookieName;
support.firePropertyChange("sessionCookieName",
oldSessionCookieName, sessionCookieName) ;
}