When do I use HttpSessionBindingListener?
The
HttpSessionBindingListener
interface is implemented when an object needs to be notified if it's being bound to a session or unbound from a session.
Objects implement this interface so that they can be notified when they are being bound or unbound from a
HttpSession
. When a binding occurs (using HttpSession.setAttribute()
)HttpSessionBindingEvent
communicates the event and identifies the session into which the object is bound. Similarly, when an unbinding occurs (usingHttpSession.removeAttribute()
) HttpSessionBindingEvent
communicates the event and identifies the session from which the object is unbound.
This interface has two methods, that are notified when the status of the object has changed:
public void valueBound(HttpSessionBindingEvent event)
: Notifies the object that it is being bound to a session and identifies the session.public void valueUnbound(HttpSessionBindingEvent event)
: Notifies the object that it is being unbound from a session and identifies the session.
Note, this listener will not be declared in the deployment descriptor as the same as
HttpSessionActivationListener
interface. The container at runtime will introspect this object to see if it implements the HttpSessionActivationListener
and/orHttpSessionBindingListener
and fires appropriate events to the object.
These methods have a
HttpSessionBindingEvent
parameter that can be used to retrieve the session that the object was bound to and the name it was given in the session.Class HttpSessionBindingEvent
Events of this type are either sent to an object that implements
HttpSessionBindingListener
when it is bound or unbound from a session, or to aHttpSessionAttributeListener
that has been configured in the deployment descriptor when any attribute is bound, unbound or replaced in a session.
The session binds the object by a call to
HttpSession.setAttribute
and unbinds the object by a call to HttpSession.removeAttribute
.
The methods of this object that are used to get the name that's assigned to the object, the session it's bound to, and the actual object:
public String getName()
: Returns the name with which the attribute is bound to or unbound from the session.public Object getValue()
: Returns the value of the attribute that has been added, removed or replaced. If the attribute was added (or bound), this is the value of the attribute. If the attrubute was removed (or unbound), this is the value of the removed attribute. If the attribute was replaced, this is the old value of the attribute.public HttpSession getSession()
: Return the HttpSession that the object was bound to or unbound from.
No comments:
Post a Comment