Jetons un coup d'œil à une meilleure explication de la session:
La session est une session. Il peut enregistrer des informations utilisateur sans fermer le navigateur, ce qui ressemble à un conteneur temporaire pour stocker ces choses temporaires. Par exemple, lorsqu'il est connecté, enregistrez les informations utilisateur d'une page Web à une autre, les informations de l'utilisateur peuvent être enregistrées à l'aide de la session pour enregistrer les paniers d'achat de sites Web, qui peuvent être implémentés à l'aide de la session.
Pourquoi vous avez besoin d'une session
Il s'agit de remplir les limites du protocole HTTP. Lorsque l'utilisateur visite une page, le serveur renvoie la demande (par exemple, après avoir visité une page Web, la page présente le contenu de la page et l'interface interface), et même s'il est terminé, il est déconnecté. Le serveur ne suit plus l'état de tâche du client (navigateur). Par conséquent, chaque demande de HTTP est indépendante et non continu. HTTP est également appelé le protocole sans état. Si nous voulons utiliser les propres données de l'utilisateur à une occasion ou un processus spécifique, il sera très gênant et même dangereux. Par exemple, vous pouvez interagir avec le serveur via les opérations de transmission des paramètres URL et d'implémentation;
L'émergence de la session résout ce problème. La session est créée sur le serveur et est détruite par le serveur après une certaine période de temps. Au cours de cette période, la session entre le client et le serveur sera maintenue et le client utilisera les informations de session sur le serveur pour trouver ou utiliser certaines données;
Comment utiliser la session
L'API Java nous donne seulement un moyen d'obtenir la session liée à la session en cours:
HttpSession session = request.getSession (); // ou httpSession session = request.getSession (boolean);
Valeur définie:
session.setAttribute ("clé", objet de valeur);Obtenez la valeur:
Type d'objet obj = (type d'objet) session.getAttribute ("key"); // par exemple, String name = (string) session.getAttribute ("key");Supprimer la session pour spécifier l'attribut:
session.RemoveAtTribute ("Key");Effacer toutes les sessions pour invalider complètement la session en cours:
session.invalidate ();
Réglage de la période de délai de session
1. Emplacement d'installation de Tomcat conf / web.xml:
<Session-Config> <Session-Timeout> 30 </ Session-Timeout> </Session-Config>
30 points
2. Emplacement d'installation de Tomcat conf / server.xml:
<Context path = "/ test" docbase = "/ test" defaultSessionTimeout = "3600" iswarexpandy = "true" isWarValidated = "false" isInvokeNabled = "true" isworkDirPersistent = "false" />
Unités en quelques secondes
3. Paramètres de code Java:
HttpSession session = request.getSession (); session.setMaxInactiveInterval (1200);
0 points:
Autres instructions:
1. Statut d'expiration de la session:
1>. Le navigateur client ferme:
2>. Session La session expire;
3>. La session client appelle .Invalidate ();
2. Si le navigateur est fermé et la session est toujours là;
Lorsque le navigateur client est fermé, la session existera toujours sur le serveur pendant une certaine période. Cependant, lorsque le navigateur s'ouvre à nouveau, une nouvelle session sera générée. Le navigateur correspond à la session du serveur via l'attribut SessionID généré; La dernière session est toujours là, mais elle ne peut être accessible;
3. <% @ Page session = "false"%> Quelle est la situation ?:
La signification de cette phrase est que la session ne peut pas être utilisée actuellement, mais la session de page peut toujours être créée;
4. Quand la session est-elle créée:
Créé lorsque le programme appelle httpServleRequest.getSession (true); Si la page n'utilise pas <% @ page session = "false"%>, lorsque la page JSP est compilée en servlet, httpSession session = httpservletRequest.getSession (true);
Résumer
Ce qui précède consiste à comprendre les sessions en Java. J'espère que ce sera utile à tout le monde. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!