10
votes

Déterminez par programme le délai d'expiration de la session Java

Y a-t-il un moyen pour un servlet Java / JSP pour déterminer le délai d'expiration de la session du serveur Web (en secondes, minutes, etc.)? J'ai essayé de chercher dans l'API httpSession et System, mais je n'ai vu aucun bien pour déterminer le délai d'attente de la session du serveur Web. Je sais que cette valeur est définie dans web.xml, mais je concevons une bibliothèque Java qui doit le déterminer via le code.

Remarque: je concevons un serveur Web générique et je ne peux pas compter sur des extensions spécifiques au fournisseur.


0 commentaires

5 Réponses :


11
votes

httpsession. getMaxinActiveInterval fournit cette valeur

int getMaxinActiveInterval ()

retourne l'intervalle de temps maximum, en secondes, que le conteneur de servlet conservera cette session ouverte entre les accès des clients. Après Cet intervalle, le conteneur de servlet invalidera la session. Les L'intervalle de temps maximum peut être défini avec le SetMaxinActiveInterval Méthode.

Une valeur de retour de zéro ou moins indique que la session ne fera jamais délire.

retourne: Un entier spécifiant le nombre de secondes Cette session reste ouverte entre les demandes du client


0 commentaires

3
votes

Le délai d'attente de la session est déterminé par le temps de ralenti, il n'ya donc aucun moyen de savoir quand il sera délimité.

Cependant, vous pouvez calculer la prochaine période d'attente possible en supposant que la session n'est pas accessible, P>

Date expiry = new Date(session.getLastAccessedTime() + session.getMaxInactiveInterval()*1000);


0 commentaires


6
votes

dans un servlet Utilisation: xxx

dans une utilisation JSP: xxx


0 commentaires

1
votes

Ceci est le code pour obtenir la valeur de sortie de temps: xxx


0 commentaires