Maison >Java >javaDidacticiel >Comment implémenter l'état de session de Session en JAVA
La session a été inventée pour combler les limitations du protocole HTTP. Veuillez noter le fonctionnement du protocole HTTP : l'utilisateur fait une demande et le serveur répond. La connexion entre le client et le serveur est discrète et non continue. Le protocole HTTP ne fournit pas de fonctionnalités permettant au serveur de suivre les demandes des utilisateurs. Une fois que le serveur a fini de répondre à la demande de l'utilisateur, il ne peut plus maintenir une connexion avec le navigateur. Du côté du serveur, chaque requête est indépendante, le protocole HTTP est donc considéré comme un protocole sans état. Lorsqu'un utilisateur bascule entre plusieurs pages d'accueil, le serveur ne peut pas connaître son identité. L’émergence de Session vise à compenser cette limitation. À l'aide de Session, vous pouvez enregistrer les informations d'un utilisateur lorsqu'il bascule entre plusieurs pages d'accueil. Cela rend beaucoup de choses qui étaient impossibles à faire auparavant et deviennent beaucoup plus faciles.
Pendant la période allant de l'arrivée d'un visiteur sur une page d'accueil spécifique jusqu'à son départ, chaque visiteur recevra une session distincte.
Java Servlet définit une interface HttpSession, qui implémente la fonction de Session. Le processus d'utilisation de Session dans Servlet est le suivant :
(1) Utilisez la méthode getSession de HttpServletRequest pour obtenir la session actuellement existante si la session n'est pas actuellement définie. , créez-en une nouvelle, vous pouvez également utiliser la méthode getSession(true)
(2) pour écrire la variable de session. Vous pouvez utiliser la méthode HttpSession.setAttribute(name, value) pour stocker une information dans la session. Vous pouvez également utiliser HttpSession.putValue(name, value), mais cette méthode est obsolète.
(3) Lire la variable de session. Vous pouvez utiliser la méthode HttpSession.getAttribute(name) pour lire la valeur d'une variable dans la session. Si name est une variable non définie, null est renvoyé. Il convient de noter que le type de variable lu depuis getAttribute est Object et qu'une conversion de type forcée doit être utilisée, par exemple :
String uid = (String) session.getAttribute("uid");
HttpSession.getValue(name) peut également être utilisé, mais cette méthode est également obsolète.
(4) Fermez la session. Après avoir utilisé la session, vous pouvez utiliser la méthode session.invalidate() pour fermer la session. Mais ce n’est pas strictement obligatoire. Parce que le moteur Servlet ferme automatiquement la session après un certain temps.
Ce qui suit est un exemple simple pour illustrer l'utilisation de session
//97色色SessionExample.java
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet .http .*;
//Importer les packages logiciels nécessaires
public class SessionExample extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse réponse)
lance IOException, ServletException //Implémenter la méthode doGet
{
response.setContentType( "text/ html"); //Définissez l'en-tête HTTP
PrintWriter out = réponse.getWriter(); //Obtenez la sortie 97gan
HttpSession session = request.getSession(true);
//Obtenez l'objet de session
// Imprimez le balisage HTML
out. println("");
out.println("
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!