La méthode spécifique est la suivante:
1. Java Code <! - La priorité est la plus élevée->>
request.getSession (). SetMaxInactiveInterval (1800); / * sec est unité, 1800 = 60 * 30, c'est-à-dire 30 minutes * /
2. Web.xml <! - La priorité est la plus basse->
<Session-Config> <! - Minutes en unités -> <session-timeout> 30 </ Session-Timeout> </Session-Config>
3. Web Server résine.conf, Tomcat,
<Session-Config> <! - Minutes en unités -> <session-timeout> 30 </ession-timeout> <enable-url-liwriting> false </ activer-url-liwriting> </ session-config>
Priorité: 1> 3> 2
La session n'échouera généralement pas après le redémarrage de Tomcat. Après la fermeture du navigateur, la session échouera.
Dans les systèmes généraux, certaines opérations peuvent également être nécessaires après l'échec de la session:
(1) Contrôler le nombre d'utilisateurs. Lorsque la session échoue, le nombre d'utilisateurs dans le système sera réduit d'un, etc., et contrôlera le nombre d'utilisateurs dans une certaine plage pour assurer les performances du système.
(2) Contrôlez un utilisateur pour se connecter plusieurs fois. Lorsque la session est valide, si le même utilisateur se connecte, il est invité à s'être connecté. Lorsque la session expire, vous pouvez vous connecter sans inviter.
Alors, comment effectuez-vous une série d'opérations après l'échec de la session?
Ici, vous devez utiliser un auditeur, c'est-à-dire lorsque la session échoue pour diverses raisons, l'auditeur peut écouter, puis exécuter le programme défini dans l'auditeur.
La classe d'auditeur est: la classe httSessionListener, avec deux méthodes: sessionCreated 和sessionDestroyed
Vous pouvez hériter de cette classe, puis l'implémenter séparément.
SessionCreated fait référence à la méthode exécutée lorsque la session est créée
SessionDestRoyed fait référence à la méthode exécutée lorsque la session échoue
comme suit:
classe publique OnlineListener implémente httpSessionListener {public void SessionCreated (événement httpSessionEvent) {httpSession seses = event.getSession (); String id = ses.getID () + ses.getCreationTime (); SummerConstant.UserMap.put (id, boolean.true); // Ajouter un utilisateur} public void SessionDestRoyed (événement httpSessionEvent) {httpSession seses = event.getSession (); String id = ses.getID () + ses.getCreationTime (); synchronisé (this) {SummerConstant.Usernum--; // décrément par nombre d'utilisateurs SummerConstant.UserMap.Remove (ID); // Supprimer du groupe d'utilisateurs, le groupe d'utilisateurs est une carte}}}Déclarez simplement cet auditeur dans web.xml:
<Douger> <auditeur-classe> com.demo.system.Listener.onlineListener </ auteur-class> </diner>
Ce qui précède est une méthode simple d'utilisation de la session pour écouter le nombre d'utilisateurs. Dans le processus réel, il peut être beaucoup plus compliqué que cela.
Par exemple, vous devez implémenter les deux interfaces de ServletContextListener et HTTPSessionListener en même temps, et réécrire leurs méthodes, etc.
Ce qui précède est la méthode de définition du temps de défaillance de la session Javaweb qui vous est présentée par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!