web.xml.
ServletContextEvent,
HttpSessionEvent et
ServletRequestEvent.
ServletContextEvent et
ServletRequestEvent.
HttpSessionEvent. Cet événement est utilisé par deux
listeners
:
HttpSessionListener et
HttpSessionActivationListener. Ces deux
listeners
sont associés au cycle de vie particulier des sessions, que nous allons voir dans la suite.
HttpSessionBindingEvent.
ServletContextAttributeListener,
ServletRequestAttributeListener et
HttpSessionAttributeListener.
Ces trois interfaces exposent les trois mêmes méthodes :
attributeAdded() : appelée lorsqu'un attribut est ajouté au contexte considéré ;
attributeRemoved() : appelé lorsqu'un attribut est retiré du contexte considéré ;
attributeReplaced() : appelé lorsqu'un attribut a été remplacé par un autre.
getName() : le nom de l'attribut concerné ;
getValue() : la valeur de l'attribut concerné.
HttpSessionBindingEvent, utilisé pour signaler à un objet qu'il a été ajouté ou retiré d'une session expose en plus une méthode
getSession().
ServletContextListener. Cette interface expose deux méthodes :
contextInitialized() et
contextDestroyed().
Ces deux méthodes sont invoquées avant toute invoquation de filtre ou de servlet, et après l'appel à toutes les méthodes
destroy() des filtres et servlets de cette application, respectivement.
Elles prennent en paramètre le même objet, de type
ServletContextEvent. Cet objet expose une unique méthode :
getServletContext(), qui retourne l'objet
ServletContext. Cet objet modèlise l'application web proprement dite.
ServletRequestListener. Elle expose deux méthodes :
requestInitialized() et
requestDestroyed().
Ces deux méthodes prennent en paramètre le même objet, instance de
ServletRequestEvent. Cet objet permet d'accèder au contexte de l'application web par la méthode
getServletContext(), et à l'objet requête par la méthode
getServletRequest().
HttpSessionListener : expose les méthodes
sessionCreated() et
sessionDestroyed(), qui prennent en paramètre un objet
HttpSessionEvent.
HttpSessionActivationListener : expose les méthodes
sessionDidActivate() et
sessionWillPassivate(). Ces deux méthodes prennent en paramètre le même objet
HttpSessionEvent.
HttpSessionEvent n'expose qu'une unique méthode :
getSession(), qui retourne la session concernée.
HttpSessionBindingListener. Cette interface expose deux méthodes :
valueBound(HttpSessionBindingEvent) : appelée lorsque l'objet est attaché à une session ;
valueUnbound(HttpSessionBindingEvent) : appelée lorsque l'objet est détachée de la session.
HttpSessionBindingEvent. Cet événement expose les deux méthodes classiques
getName() et
getValue(). Il expose également
getSession(), qui retourne la session à laquelle cet objet est attaché, ou de laquelle il est détaché.
web.xml.
Exemple 24. Déclaration de deux listeners dans
web.xml
<listener>
<listener-class>
org.paumard.cours.servlet.listener.ExampleSessionListener
</listener-class>
</listener>
<listener>
<listener-class>
org.paumard.cours.servlet.listener.ExampleContextListener
</listener-class>
</listener>