Maison > Java > javaDidacticiel > le corps du texte

Méthode de définition du délai d'expiration de la session JavaWeb

高洛峰
Libérer: 2017-01-21 16:29:15
original
1719 Les gens l'ont consulté

Méthode de définition du délai d'expiration de la session, la méthode spécifique est la suivante :

1. Code Java

request.getSession().setMaxInactiveInterval(1800);/*秒为单位,1800= 60*30 即30分种*/
Copier après la connexion

2. web.xml

<session-config>  <!--分钟为单位-->
  <session-timeout>30</session-timeout>
</session-config>
Copier après la connexion

3. 🎜 >

<session-config>  <!--分钟为单位-->
  <session-timeout>30</session-timeout>
  <enable-url-rewriting>false</enable-url-rewriting>
</session-config>
Copier après la connexion

Priorité : 1 > 3 > 2

la session ne deviendra généralement pas invalide après le redémarrage de Tomcat. 🎜>

Dans un système général, vous devrez peut-être également effectuer certaines opérations 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 est réduit de un, etc., contrôlez les utilisateurs. Le nombre se situe dans une certaine plage pour garantir les performances du système.


(2) Contrôlez qu'un utilisateur se connecte plusieurs fois. Lorsque la session est valide, si le même utilisateur se connecte, il vous sera demandé de se connecter. Lorsque la session expire, vous peut se connecter directement sans invite.

Alors comment effectuer une série d'opérations après l'expiration de la session ?


Vous devez utiliser un écouteur ici, c'est-à-dire que lorsque la session échoue pour diverses raisons, l'auditeur peut l'écouter, puis exécuter le programme défini dans l'écouteur.

La classe d'écoute est : la classe HttpSessionListener, qui a deux méthodes : sessionCreated et sessionDestroyed

Vous pouvez hériter de cette classe et les implémenter respectivement.

sessionCreated fait référence à la méthode exécutée lors de la création de la session

sessionDestroyed fait référence à la méthode exécutée lorsque la session échoue

comme suit :

public class OnlineListener implements HttpSessionListener{  
   public void sessionCreated(HttpSessionEvent event) {  
      HttpSession ses = event.getSession();  
      String id=ses.getId()+ses.getCreationTime();  
      SummerConstant.UserMap.put(id, Boolean.TRUE);   //添加用户  
    }  
    public void sessionDestroyed(HttpSessionEvent event) {  
      HttpSession ses = event.getSession();  
      String id=ses.getId()+ses.getCreationTime();  
      synchronized (this) {  
        SummerConstant.USERNUM--;      //用户数减一  
        SummerConstant.UserMap.remove(id); //从用户组中移除掉,用户组为一个map  
     }  
    }  
 }
Copier après la connexion

Déclarez simplement cet écouteur dans web.xml :

<listener>  
  <listener-class>com.demo.system.listener.OnlineListener</listener-class>  
</listener>
Copier après la connexion

Ce qui précède est une méthode simple pour utiliser la session pour surveiller le nombre des utilisateurs, dans le processus réel, cela peut être beaucoup plus compliqué que cela.


Par exemple, vous devez implémenter les deux interfaces ServletContextListener et HttpSessionListener en même temps, réécrire leurs méthodes, etc.

Ce qui précède est la méthode de définition du délai d'expiration de la session JavaWeb introduite par l'éditeur. J'espère qu'elle vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. . Je voudrais également vous remercier tous pour votre soutien au site Web PHP chinois !

Pour plus d'articles liés aux méthodes de définition du délai d'expiration des sessions JavaWeb, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!