Tout d'abord, il faut préciser que ce qu'on appelle le « portée » fait référence au « portée du partage d'informations », c'est-à-dire au champ dans lequel une information peut être efficace. Les portées des quatre objets intégrés JSP sont : application, session, requête et page.
Cours recommandé : Tutoriel Java.
Les quatre principaux domaines d'application de jsp sont :
1, rôle d'applicationdomaine
Si vous mettez la variable en application, cela signifie que sa portée est l'application et sa portée effective est l'ensemble de l'application. L'intégralité de la candidature fait référence au début et à la fin de la candidature. Nous ne disons pas « du démarrage du serveur à l'arrêt du serveur » car un serveur peut déployer plusieurs applications. Bien entendu, si vous arrêtez le serveur, toutes les applications qu'il contient seront fermées. Les variables du champ d'application ont la durée de survie la plus longue Si elles ne sont pas supprimées manuellement, elles peuvent toujours être utilisées.
Object getAttribute(String name) //Obtenir des informations de l'application ;
void setAttribute(String name, Object value) //Définir les informations sur la portée de l'application.
2. Portée de la session
Si vous mettez une variable dans la session, cela signifie que sa portée est la session et sa portée valide est la session en cours. La session dite en cours fait référence au processus allant du moment où l'utilisateur ouvre le navigateur jusqu'au moment où l'utilisateur ferme le navigateur.
Object HttpSession.getAttribute(String name) //Obtenir des informations sur la session.
void HttpSession.setAttribute(String name,Object value) //Enregistre les informations dans la session.
HttpSessionHttpServletRequest.getSessio() //Récupère l'objet de session où se trouve la requête en cours.
session La session est considérée comme démarrée lorsque le navigateur effectue la première requête HTTP. Mais il est difficile de juger de la fin, car le serveur ne sera pas averti à la fermeture du navigateur, on ne peut donc en juger que par la méthode suivante : si le client ne répond pas dans un certain délai, la session est considérée être fini. La valeur par défaut de Tomcat est de 120 minutes, mais cette valeur peut également être définie via la méthode setMaxInactiveInterval() de HttpSession :
void setMaxInactiveInterval(int interval)
Si vous souhaitez mettre fin activement à la session, par exemple, l'utilisateur En cliquant sur le bouton "Déconnexion", vous pouvez utiliser la méthode invalidate() de HttpSession pour forcer la fin de la session en cours : void invalidate()
L'heure à laquelle la session est supprimée est :
1) Session Timeout : Le Timeout fait référence au fait que le serveur ne reçoit pas la requête du client correspondant à la session pendant un certain temps, et ce temps dépasse le délai d'expiration maximum de session fixé par le serveur.
2) Le programme appelle HttpSession.invalidate()
3) Le serveur est arrêté ou le service est arrêté
Remarque :
1) Accédez à la statique de *.html Étant donné que les ressources ne seront pas compilées en servlets, les problèmes de session ne sont pas impliqués.
2) Lorsque la page JSP n'interdit pas explicitement les sessions, le serveur créera automatiquement une session pour celle-ci lors de l'ouverture du navigateur pour demander la jsp pour la première fois, et lui donnera un identifiant de session, qui sera envoyé au navigateur du terminal client.
3) Étant donné que la session consomme des ressources mémoire, si vous ne prévoyez pas d'utiliser la session, vous devez la fermer dans toutes les JSP.
4) La session ne sera pas supprimée à la fermeture du navigateur et ne peut être supprimée que par les trois méthodes ci-dessus.
Où est stockée la session ? -----------En mémoire côté serveur.
3. Portée de la demande
Les variables de la demande peuvent s'étendre sur les deux pages avant et après le transfert. Mais à chaque actualisation de la page, ils sont recalculés.
Redirection de demande : servlet.getRequestDispatcher("new.jsp").forward(req,resp);
Remarque :
1. Le re-ciblage est le comportement du client.
2. Quelle que soit la manière dont elle est transmise sur le serveur, l'adresse du servlet d'origine est toujours affichée dans la barre d'adresse du navigateur.
4. Portée de la page
La portée de l'objet page est limitée à la page actuelle demandée par l'utilisateur
Les cycles de vie de la requête et page sont de courte durée. La différence entre eux : une requête peut contenir plusieurs pages (inclure, transférer et filtrer).
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!