//SessionBindingListenerExample.java 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"); } } //UserName.java 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()); } }