Pregunta

Siempre he dado por hecho el JSESSIONID cookie creados por cada solicitud nueva para un cliente determinado en el desarrollo de aplicaciones utilizando la especificación servlet.Pero después de dar un poco de pensamiento, ¿no es más lógico para el contenedor de servlets para crear un encabezado de cookie sólo después de la sesión ha sido solicitada y creado en el código?Para los clientes que tienen sus cookies están deshabilitadas, no se terminan creando una nueva HttpSession por cada solicitud?

Por favor, hágamelo saber si la cuestión todavía no está claro, así que puedo editarlo.TIA.

¿Fue útil?

Solución

Una nueva Sesión no será creado por el contenedor de Servlet por defecto, salvo que el Servlet crea de forma explícita.Sólo porque en el Encabezado de una JSEESIONID está siendo alimentada no significa que no tiene que ser un seesion en el servidor.Una excepción a esto es en Jsp que, por defecto, crear una Sesión, si uno no está allí, a menos que <%@ page session="false" %>

Como mucho, al no tener las cookies activadas:

Un contenedor web se pueden utilizar varios métodos para asociar una sesión con un de usuario, todos los cuales implican pasar un identificador entre el cliente y el servidor.El identificador puede ser mantenido en el cliente como una cookie, o el componente web puede incluir el identificador en cada dirección URL que se se devuelve al cliente.

Si su aplicación utiliza sesión los objetos, debe asegurarse de que la sesión de el seguimiento está habilitado por tener la aplicación de la reescritura de direcciones Url cuando el cliente desactiva las cookies.Hacer esto llamando a la respuesta del encodeURL(URL) método en todas las direcciones Url devuelto por un servlet.Este método incluye el IDENTIFICADOR de sesión en la URL sólo si las cookies están deshabilitadas;de lo contrario, devuelve la URL sin cambios.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top