In Servlet we can also track the events using the Listeners, In below code script we have to track the events using the listeners. we have easily maintained the HttpSession events with the HttpSessionAttributeListener while we add, remove or replace the HttpSession attributes.
MyListener.java
package com.evon.listeners;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
public class MyListener implements HttpSessionAttributeListener {
@Override
public void attributeAdd(HttpSessionBindingEvent event) {
String attributeName = event.getName();
Object attributeValue = event.getValue();
System.out.println("Attribute added : " + attributeName + " : " + attributeValue);
}
@Override
public void attributeRemove(HttpSessionBindingEvent event) {
String attributeName = event.getName();
Object attributeValue = event.getValue();
System.out.println("Attribute removed : " + attributeName + " : " + attributeValue);
}
@Override
public void attributeReplace(HttpSessionBindingEvent event) {
String attributeName = event.getName();
Object attributeValue = event.getValue();
System.out.println("Attribute replaced : " + attributeName + " : " + attributeValue);
}
}
Then insert the entry of your listener class inside the web.xml file.
web.xml
<web-app ...>
<listener>
<listener-class>com.evon.listeners.MyAttributeListener</listener-class>
</listener>
</web-app>
Then you have to call the below statements from your code.
HttpSession session = request.getSession();
session.setAttribute("name", "manish"); //attributeAdd() is call
session.setAttribute("name", "mahi"); //attributeReplace() is call
session.removeAttribute("name"); //attributeRemove() is call
0 Comment(s)