Cet article décrit la méthode d'implémentation de définition du délai d'expiration de la session en Java et la partage avec vous pour votre référence. La méthode spécifique de mise en œuvre est la suivante :
1. Délai d'expiration dans le descripteur de déploiement (web.xml)
en minutes
Copiez le code comme suit : <web-app ...>
<config-session>
<session-timeout>20</session-timeout>
</session-config>
</application-web>
Le paramètre ci-dessus prend effet pour l’ensemble de l’application Web. Lorsque le client ne lance pas de requête dans les 20 minutes, le conteneur met fin à la session.
2. Délai d'expiration avec setMaxInactiveInterval()
Spécifiez le délai d'expiration d'une session spécifique via le codage, en secondes. Par exemple:
Copiez le code comme suit : HttpSession session = request.getSession();
session.setMaxInactiveInterval(20*60);
Le paramètre ci-dessus n'est applicable qu'aux sessions qui appellent la méthode « setMaxInactiveInterval() », et la session sera supprimée par conteneur si le client ne fait aucune demande après 20 minutes.
Pensées….
C'est un peu déroutant, la valeur dans le descripteur de déploiement (web.xml) est en « minute », mais la méthode setMaxInactiveInterval() accepte la valeur en « seconde ». Les deux fonctions devraient la synchroniser dans la prochaine version.
3. Définissez-le dans le programme, l'unité est la seconde, réglée sur -1 pour ne jamais expirer, l'exemple de code est :
Copiez le code comme suit : session.setMaxInactiveInterval(30*60);
L'ordre de priorité pour que les paramètres de session produisent des effets est le programme d'abord, puis la configuration, d'abord local, puis globalement.
J'espère que cet article sera utile à la programmation Java de chacun.