SessionBindings.java Source code

Java tutorial

Introduction

Here is the source code for SessionBindings.java

Source

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;

public class SessionBindings extends HttpServlet {

    public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
        res.setContentType("text/plain");
        PrintWriter out = res.getWriter();

        // Get the current session object, create one if necessary
        HttpSession session = req.getSession();

        // Add a CustomBindingListener
        session.setAttribute("bindings.listener", new CustomBindingListener(getServletContext()));

        out.println("This page intentionally left blank");
    }
}

class CustomBindingListener implements HttpSessionBindingListener {
    ServletContext context;

    public CustomBindingListener(ServletContext context) {
        this.context = context;
    }

    public void valueBound(HttpSessionBindingEvent event) {
        context.log("[" + new Date() + "] BOUND as " + event.getName() + " to " + event.getSession().getId());
    }

    public void valueUnbound(HttpSessionBindingEvent event) {
        context.log("[" + new Date() + "] UNBOUND as " + event.getName() + " from " + event.getSession().getId());
    }
}