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分种*/
2. web.xml
<session-config> <!--分钟为单位--> <session-timeout>30</session-timeout> </session-config>
3. 🎜 >
<session-config> <!--分钟为单位--> <session-timeout>30</session-timeout> <enable-url-rewriting>false</enable-url-rewriting> </session-config>
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 } } }
Déclarez simplement cet écouteur dans web.xml :
<listener> <listener-class>com.demo.system.listener.OnlineListener</listener-class> </listener>
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 !