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. P>
Remarque: je concevons un serveur Web générique et je ne peux pas compter sur des extensions spécifiques au fournisseur. P>
5 Réponses :
httpsession. getMaxinActiveInterval code>
fournit cette valeur p>
int getMaxinActiveInterval () p>
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. P>
Une valeur de retour de zéro ou moins indique que la session ne fera jamais délire. p>
retourne: Un entier spécifiant le nombre de secondes Cette session reste ouverte entre les demandes du client P> blockQuote>
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);
dans un servlet Utilisation: dans une utilisation JSP: p>
Ceci est le code pour obtenir la valeur de sortie de temps: