SessionBindListen.java Source code

Java tutorial

Introduction

Here is the source code for SessionBindListen.java

Source

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;

public class SessionBindListen implements HttpSessionBindingListener {

    private Map info;

    /** Creates new SessionBindListen */
    public SessionBindListen() {

        //zero-arg constructor
        info = new HashMap();
    }

    public void valueBound(HttpSessionBindingEvent be) {

        HttpSession session = be.getSession();
        String id = session.getId();
        String name = be.getName();
        Object value = be.getValue();
        String source = be.getSource().getClass().getName();
        String message = new StringBuffer("Attribute bound to session in ").append(source)
                .append("\nThe attribute name: ").append(name).append("\n").append("The attribute value: ")
                .append(value).append("\n").append("The session id: ").append(id).toString();

        System.out.println(message);
    }

    public void valueUnbound(HttpSessionBindingEvent be) {

        HttpSession session = be.getSession();
        String id = session.getId();
        String name = be.getName();
        if (name == null)
            name = "Unknown";
        String source = be.getSource().getClass().getName();
        String message = new StringBuffer("Attribute unbound from session in ").append(source)
                .append("\nThe attribute name: ").append(name).append("\n").append("The session id: ").append(id)
                .toString();
        //clear Map; send message
        info.clear();
        System.out.println(message + "\nThe size of the HashMap is: " + info.size());
    }

    public void addInfo(String name, String email) {

        info.put(email, name);

    }

}