Bonjour, j'aimerais que lorsque tomcat effectue son time-out sur la session il effectue une de mes fonctions.
Est-il possible de récupérer l'évènement de tomcat?
Merci
Julien
Bonjour, j'aimerais que lorsque tomcat effectue son time-out sur la session il effectue une de mes fonctions.
Est-il possible de récupérer l'évènement de tomcat?
Merci
Julien
Lorsque Tomcat éxécute le time out, il invalide la session. Il existe un "listener" qui permet de lancer un méthode à la destruction de chaque session, il s'agit de l'interface HttpSessionListener(voir doc)
La méthodete permettra de définir un comportement en cas de destruction d'une session.
Code : Sélectionner tout - Visualiser dans une fenêtre à part void sessionDestroyed(HttpSessionEvent se)
Une fois la classe listener implémentée, il te faudra déclarer ton listener dans le fichier web.xml.
Exemples :
L'implémentation du listener
et pour le web.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class ListenerSession implements HttpSessionListener { public void sessionCreated(HttpSessionEvent se) { tu peux définir ici le comportement que tu veux à la création de la session } public void sessionDestroyed(HttpSessionEvent se) { tu definis ici le comportement que tu veux en cas de destruction de la session } }
Ce code est à rajouter entre les balises web-app (au même niveau que les déclarations de servlet).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <listener> <listener-class>package.ListenerSession</listener-class> </listener>
Voilà bonne continuation
Merci beaucoup c'est exactement ca que je voulais !!
est ce que c'est possible d'appeler une Action struts au sein de la méthode
public void sessionDestroyed(HttpSessionEvent paramHttpSessionEvent) {
// action logout pour fermer l'application et la fenetre ouverte
}
Partager