Echemos un vistazo a una mejor explicación de la sesión:
La sesión es una sesión. Puede guardar información del usuario sin cerrar el navegador, que es como un contenedor temporal para almacenar estas cosas temporales. Por ejemplo, cuando se inicia sesión, guarde la información del usuario de una página web a otra, la información del usuario se puede guardar utilizando la sesión para guardar los carritos de compras del sitio web, que se pueden implementar utilizando la sesión.
Por qué necesitas una sesión
Esto es para llenar las limitaciones del protocolo HTTP. Cuando el usuario visita una página, el servidor devuelve la solicitud (por ejemplo, después de visitar una página web, la página le presenta el contenido de la página y la interfaz de usuario de la interfaz), e incluso si está terminado, está desconectado. El servidor ya no rastrea el estado de la tarea del cliente (navegador). Por lo tanto, cada solicitud de HTTP es independiente y no continua. HTTP también se llama protocolo sin estado. Si queremos operar los datos del usuario en una ocasión o un proceso específico, será muy problemático e incluso peligroso. Por ejemplo, puede interactuar con el servidor a través de la transmisión de parámetros de URL e implementar operaciones;
El surgimiento de la sesión resuelve este problema. La sesión se crea en el servidor y es destruida por el servidor después de un cierto período de tiempo. Durante este período, se mantendrá la sesión entre el cliente y el servidor, y el cliente utilizará la información de la sesión en el servidor para encontrar u operar algunos datos;
Cómo usar la sesión
La API de Java solo nos da una forma de tener la sesión relacionada con la sesión actual:
Httpsession session = request.getSession (); // o session de httpsession = request.getSession (boolean);
Valor establecido:
session.SetAttribute ("clave", objeto de valor);Obtenga el valor:
Tipo de objeto Obj = (Tipo de objeto) Session.getAttribute ("Key"); // Por ejemplo, String Name = (String) Session.getAttribute ("Key");Eliminar sesión para especificar el atributo:
session.removeAttribute ("clave");Borrar todas las sesiones para invalidar completamente la sesión actual:
session.Invalidate ();
Configuración del período de tiempo de espera de la sesión
1. Ubicación de instalación de Tomcat conf/web.xml:
<Session-Config> <SecioOut> 30 </Session TimeOut> </Session-Config>
30 puntos
2. Ubicación de instalación de Tomcat conf/server.xml:
<Context path = "/test" docbase = "/test" defaultSessionTimeOut = "3600" iswarexpanded = "true" isWarvalidated = "false" isInvokerEnabled = "true" isworkDirperPersistent = "false"/>
Unidades en segundos
3. Configuración del código Java:
Httpsession session = request.getSession (); session.setMaxInactiveInterval (1200);
0 puntos:
Otras instrucciones:
1. Estado de vencimiento de la sesión:
1>. Cierra el navegador cliente:
2>. SESIÓN La sesión expira;
3>. La sesión del cliente llama .Invalidate ();
2. Si el navegador está cerrado y la sesión todavía está allí;
Cuando el navegador del cliente está cerrado, la sesión aún existirá en el servidor durante un cierto período de tiempo. Sin embargo, cuando el navegador se abra nuevamente, se generará una nueva sesión. El navegador coincide con la sesión del servidor a través del atributo SessionID generado; La última sesión todavía está allí, pero no se puede acceder;
3. < % @ Page session = "false" %> ¿Cuál es la situación?:
El significado de esta oración es que la sesión no se puede usar en la actualidad, pero la sesión de página aún se puede crear;
4. Cuando se crea la sesión:
Creado cuando el programa llama httpservletrequest.getSession (true); Si la página no usa <%@ page session = "false"%>, cuando la página JSP se compila en servlet, httpsession session = httpservletRequest.getSession (true);
Resumir
Lo anterior tiene que ver con las sesiones de comprensión en Java. Espero que sea útil para todos. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!