Un artículo para entender Sesión

contenido

Introducción a la sesión

 Principio de sesión

 Detalles de uso de la sesión

Pasivación y activación de sesiones

Destrucción de sesión:


Introducción a la sesión

Tecnología de seguimiento de sesiones del lado del servidor: guardar datos en el servidor

JavaEE proporciona la interfaz HttpSession para realizar la función de intercambio de datos entre múltiples solicitudes de una sesión

utilizar:

1. Obtener el objeto Sesión

HttpSession session=request.getSession();

2. Función de objeto de sesión

void setAttribute(String name,Object o);//存储数据到session域中
Object getAttribute(String name);//根据key获取value值
void removeAttribute(String name);//根据key,删除键值对

Crear dos clases SessionServlet y SessionServlet1

package com;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

public class SessionServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //存储到session中
        //1、获取session对象
        HttpSession session=req.getSession();
        //存储数据
        session.setAttribute("username","root");

    }
}
public class SessionServlet1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //获取数据。从session中
        //1获取session对象
        HttpSession session=req.getSession();
        //获取数据
        Object username=session.getAttribute("username");
        System.out.println("获取到的session值为"+username);
        
    }

web.xml configura las direcciones de acceso de las dos clases

   <servlet>
        <servlet-name>SessionServlet1</servlet-name>
        <servlet-class>com.SessionServlet1</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SessionServlet1</servlet-name>
        <url-pattern>/sessionServlet1</url-pattern>
    </servlet-mapping>


    <servlet>
        <servlet-name>SessionServlet</servlet-name>
        <servlet-class>com.SessionServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SessionServlet</servlet-name>
        <url-pattern>/sessionServlet</url-pattern>
    </servlet-mapping>

Primero visite ① y luego visite ② para ejecutar

 Principio de sesión

La sesión se implementa en base a cookies.

El objeto obtenido tiene una identificación de identificación única. Tomcat envía la identificación de la sesión como una cookie al navegador. Tomcat agregará el encabezado de respuesta set-cookie JSESSIONID= valor a la respuesta y lo almacenará en la memoria del navegador. Irá a la memoria. para encontrar si hay una identificación antes, si la hay, use los datos directamente, si no, créela

 Detalles de uso de la sesión

Pasivación y activación de sesiones

Si el servidor se reinicia, ¿seguirán existiendo los datos de la sesión?

Pasivación: después de que el servidor se apague normalmente, Tomcat escribirá automáticamente los datos de la sesión en el archivo del disco duro

Activación: después de iniciar el servidor, cargue los datos del archivo en la sesión

Destrucción de sesión:

① De forma predeterminada, se destruirá automáticamente después de 30 minutos de inactividad (las siguientes unidades son minutos)

 <session-config>
        <session-timeout>30</session-timeout>
    </session-config>

②Llamar al método invalidate() del objeto Session

Una vez que se cierra el navegador, la sesión se destruye, porque la sesión se transmite a través de cookies

resumen

Tanto la cookie como la sesión se utilizan para completar el intercambio de datos entre múltiples solicitudes dentro de una sesión.

la diferencia:

Ubicación de almacenamiento: la cookie almacena datos en el cliente y la sesión almacena datos en el servidor

Seguridad: la cookie no es segura, la sesión es segura

Tamaño de los datos: la cookie tiene un tamaño máximo de 3 KB y la sesión no tiene límite de tamaño

Tiempo de almacenamiento: las cookies se pueden almacenar durante mucho tiempo, la sesión tiene un valor predeterminado de 30 minutos

Rendimiento del servidor: las cookies no ocupan recursos del servidor, mientras que las sesiones ocupan recursos del servidor

Supongo que te gusta

Origin blog.csdn.net/weixin_60719453/article/details/122956294
Recomendado
Clasificación