que example context java tomcat jsessionid

java - example - jsessionid spring



Cambiar el nombre JSESSIONID de cookie (6)

Al usar las siguientes dos propiedades del sistema, esto se puede lograr con facilidad.

  • org.apache.catalina.SESSION_COOKIE_NAME
  • org.apache.catalina.SESSION_PARAMETER_NAME

Cualquier valor se puede pasar a las propiedades anteriores para cambiar los valores predeterminados.

Aquí se encuentran los detalles completos con algunos guiones de muestra.

Tengo el requisito de tener que ejecutar múltiples servidores tomcat en una sola caja física. Al acceder a estos desde un navegador, cuando el usuario cambia entre las aplicaciones, se produce el cierre de sesión del usuario con acceso anterior a la aplicación. Esto se debe al conflicto de cookies de JSESSIONID.

Una posible solución es ejecutar cada aplicación en un contexto diferente. Lamentablemente, mis aplicaciones no funcionarán en la configuración de la ruta de contexto ya que no se accede a ninguno de los recursos con request.getContextPath () al principio.

Esto me deja cambiar el nombre de la cookie JSESSIONID para resolver el conflicto. ¿Hay alguna forma de hacer esto? Si es así, ¿cómo?

Espero tener clara mi pregunta.

Nota: Todas mis aplicaciones se ejecutan en diferentes puertos en la misma máquina.


Lo siguiente funciona para mí en Tomcat7 en el archivo context.xml:

<Context path="/yourApp" sessionCookieName="custom_session_id">



No está 100% seguro de si esto funcionará, pero puede usar el atributo jvmRoute , que generalmente se usa en un entorno agrupado de carga / agrupado para que los equilibradores de carga puedan diferenciar los nodos. Ejemplo:

<Engine name="Catalina" defaultHost="localhost" jvmRoute="node1">

Esto terminará generando un valor de JSESSIONID que se parece a "ABCDEF123456.node1".

Enlace de documentación .


Todo es mucho más simple con Servlet API 3.0.

Ahora puedes configurarlo en tu web.xml:

<session-config> <cookie-config> <name>MY_JSESSIONID_YAHOOOOOO</name> </cookie-config> </session-config>

¡Eso es!