C:\dev\servlet\src\MySessionAttribute.java
import javax.servlet.http.*;
public class MySessionAttribute
implements HttpSessionBindingListener,
HttpSessionActivationListener
{
public MySessionAttribute() {
System.out.println("********** MySessionAttribute() created by container");
} // required to register listeners
String scope;
MySessionAttribute(String scope) {
this.scope = scope;
System.out.println("*** MySessionAttribute: object created" + scope);
}
// Attribute can find out when it is bound or unbound
// HttpSessionBindingListener
public void valueBound(HttpSessionBindingEvent hsbe) {
System.out.println("*** HttpSessionBindingListener.valueBound() scope=" + scope);
}
public void valueUnbound(HttpSessionBindingEvent hsbe) { }
// HttpSessionBindingListener
// when sesion migrates to another JVM
// HttpSessionActivationListener
public void sessionWillPassivate(HttpSessionEvent hse) {
HttpSession session = hse.getSession();
System.out.println("HttpSessionActivationListener.passivate:" + session.getId());
}
public void sessionDidActivate(HttpSessionEvent hse) {
HttpSession session = hse.getSession();
System.out.println("HttpSessionActivationListener.activated:" + session.getId());
}
// end HttpSessionActivationListener
}