How do I get a notification when session attribute was changed?

Category: javax.servlet, viewed: 811 time(s).

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.example.servlet;
 
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
 
public class SessionAttributeListener implements HttpSessionAttributeListener {
 
    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() + "]");
    }
 
    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() + "]");
    }
 
    public void attributeReplaced(HttpSessionBindingEvent event) {
        //
        // This method is invoked when an attibute is replaced in a session.
        //
        System.out.println("Session attribute replaced: ["
                + event.getName() + "] = [" + event.getValue() + "]");
    }
}
 
 

After your listener is ready don't forget to configure it in the web application deployment descriptor, the web.xml file.

Bookmark this example!  

Most Viewed Examples

Google

100 Top & Latest


eXTReMe Tracker
visitor stats