Implementing the HttpSessionAttributeListener
will make the servlet container inform you about session attribute changes. The notification is in a form of HttpSessionBindingEvent
object. The getName()
on this object tell the name of the attribute while the getValue()
method tell about the value that was added, replaced or removed.
package org.kodejava.servlet;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
@WebListener
public class SessionAttributeListener implements HttpSessionAttributeListener {
@Override
public void attributeAdded(HttpSessionBindingEvent event) {
// This method is called when an attribute is added to a session.
// The line below display session attribute name and its value.
System.out.println("Session attribute added: ["
+ event.getName() + "] = [" + event.getValue() + "]");
}
@Override
public void attributeRemoved(HttpSessionBindingEvent event) {
// This method is called when an attribute is removed from a session.
System.out.println("Session attribute removed: ["
+ event.getName() + "] = [" + event.getValue() + "]");
}
@Override
public void attributeReplaced(HttpSessionBindingEvent event) {
// This method is invoked when an attribute is replaced in a session.
System.out.println("Session attribute replaced: ["
+ event.getName() + "] = [" + event.getValue() + "]");
}
}
Maven dependencies
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
Latest posts by Wayan (see all)
- How do I create a string of repeated characters? - September 1, 2023
- How do I convert datetime string with optional part to a date object? - August 28, 2023
- How do I split large excel file into multiple smaller files? - April 15, 2023