Ein einfaches Beispiel für HttpSessionAttributeListener
Im Folgenden finden Sie ein einfaches Beispiel für "HttpSessionAttributeListener", mit dem Sie das Sitzungsattribut in einer Webanwendung nachverfolgen können. Wenn Sie das Hinzufügen, Aktualisieren und Entfernen von Sitzungsattributen weiterhin überwachen möchten, sollten Sie diesen Listener in Betracht ziehen.
Java Source
package com.example; import javax.servlet.http.HttpSessionAttributeListener; import javax.servlet.http.HttpSessionBindingEvent; public class MyAttributeListener implements HttpSessionAttributeListener { @Override public void attributeAdded(HttpSessionBindingEvent event) { String attributeName = event.getName(); Object attributeValue = event.getValue(); System.out.println("Attribute added : " + attributeName + " : " + attributeValue); } @Override public void attributeRemoved(HttpSessionBindingEvent event) { String attributeName = event.getName(); Object attributeValue = event.getValue(); System.out.println("Attribute removed : " + attributeName + " : " + attributeValue); } @Override public void attributeReplaced(HttpSessionBindingEvent event) { String attributeName = event.getName(); Object attributeValue = event.getValue(); System.out.println("Attribute replaced : " + attributeName + " : " + attributeValue); } }
web.xml
com.example.MyAttributeListener
Wie es funktioniert?
- Wenn das Attribut einer neuen Sitzung hinzugefügt wird, wird das AttributAdded () des Listeners ausgeführt.
- Wenn das Attribut einer neuen Sitzung aktualisiert wird, wird das AttributReplaced () des Listeners ausgeführt.
- Wenn ein neues Attribut Wenn das Attribut der Sitzung entfernt wird, wird das AttributRemoved () des Listeners ausgeführt.
HttpSession session = request.getSession(); session.setAttribute("url", "example.com"); //attributeAdded() is executed session.setAttribute("url", "example2.com"); //attributeReplaced() is executed session.removeAttribute("url"); //attributeRemoved() is executed
Alle Methoden akzeptieren ein "HttpSessionBindingEvent" als Argument, sodass Sie den Namen und den Wert des Attributs abrufen können, das dieses Ereignis ausgelöst hat.