httpsessionbindinglistener example

Before going into the details of the HttpSessionBindingListener
we should firstly know about the sessions. As we know that Http protocol is
a "stateless" protocol. The term stateless means that it can't
persist the information. It can't remember the previous transactions. Whenever a
client makes a request for any resources to the server, the server receives the
request and processes the request and sends back the response. After sending the
response the server closes the connection and forgets about the previous
requests. Whenever a client sends any request to the server, the server treats
each request as a new request. To remove this we have been provided the facility
of the session. In session tracking whenever a client sends a request to the
server then server creates a unique id for that request and sends back the
unique id to the client along with the response object, now whenever a client
sends a request to the server it also sends a unique id with it so that the
server can know from where the request is coming.
HttpSessionBindingListener is a interface
which extends java.util.EventListener interface. The purpose of
the this interface is to notify an object when it is bound to or unbound from a
session.
This interface has two methods:
- valueBound(HttpSessionBindingEvent event): It
notifies the object that is being bound to a session and is responsible for
identifying the session.
- valueUnBound(HttpSessionBindingEvent event):
It notifies the object that is being unbound from a session and is
responsible for identifying the session.
In the above method we can see that we have used the
class HttpSessionBindingEvent as a argument to the methods. The object is
notified by an HttpSessionBindingEvent object
This class has two methods:
- getName(): It returns the name with which the object
is bound or unbound from the session.
- getSession(): This method returns the session
to or from which the object is bound or unbound.
The code of the program is given below:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SessionBindingListenerExample extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
// Get the current session object, create one if necessary
HttpSession session = req.getSession();
// Add a UserName
session.setAttribute("name",
new UserName(getServletContext()));
out.println("This is the example of HttpSessionBindingListener");
}
} |
import javax.servlet.*;
import javax.servlet.http.*;
public class UserName implements HttpSessionBindingListener {
ServletContext context;
public UserName(ServletContext context){
this.context = context;
}
public void valueBound(HttpSessionBindingEvent event) {
context.log("The value bound is " + event.getName());
}
public void valueUnbound(HttpSessionBindingEvent event) {
context.log("The value unbound is " + event.getName());
}
} |
The output of the program is given below:

Download
this example.

|