Un article pour comprendre Session

contenu

Présentation de la séance

 Principe de séance

 Détails d'utilisation de la session

Passivation et activation de session

Destruction de session :


Présentation de la séance

Technologie de suivi de session côté serveur : enregistrez les données sur le serveur

JavaEE fournit l'interface HttpSession pour réaliser la fonction de partage de données entre plusieurs requêtes d'une session

utiliser:

1. Obtenir l'objet Session

HttpSession session=request.getSession();

2. Fonction d'objet de session

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

Créer deux classes SessionServlet et 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 configure les adresses d'accès des deux classes

   <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>

Première visite ① puis visite ② pour exécuter

 Principe de séance

La session est implémentée sur la base de cookies

L'objet obtenu a un identifiant unique. Tomcat envoie l'identifiant de session sous forme de cookie au navigateur. Tomcat ajoutera la valeur d'en-tête de réponse set-cookie JSESSIONID= à la réponse et la stockera dans la mémoire du navigateur. Elle ira dans la mémoire pour savoir s'il y a un identifiant avant, s'il y en a, utilisez les données directement, sinon, créez-le

 Détails d'utilisation de la session

Passivation et activation de session

Si le serveur redémarre, les données de la session existeront-elles toujours ?

Passivation : après l'arrêt normal du serveur, Tomcat écrira automatiquement les données de session dans le fichier du disque dur

Activation : après avoir démarré le serveur, chargez les données du fichier dans la session

Destruction de session :

① Par défaut, il sera automatiquement détruit après 30 minutes d'inactivité (les unités suivantes sont des minutes)

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

②Appelez la méthode invalidate() de l'objet Session

Une fois le navigateur fermé, la session est détruite, car la session est transmise via des cookies

sommaire

Cookie et Session sont utilisés pour compléter le partage de données entre plusieurs demandes au sein d'une session

la différence:

Emplacement de stockage : le cookie stocke les données sur le client et la session stocke les données sur le serveur

Sécurité : le cookie n'est pas sécurisé, la session est sécurisée

Taille des données : le cookie a une taille maximale de 3 Ko et la session n'a pas de limite de taille

Durée de stockage : les cookies peuvent être stockés pendant une longue période, la session est par défaut de 30 minutes

Performances du serveur : les cookies n'occupent pas les ressources du serveur, tandis que les sessions occupent les ressources du serveur

Je suppose que tu aimes

Origine blog.csdn.net/weixin_60719453/article/details/122956294
conseillé
Classement