SessionFilter.java Source code

Java tutorial

Introduction

Here is the source code for SessionFilter.java

Source

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

public class SessionFilter implements Filter {

    private FilterConfig config;

    /** Creates new SessionFilter */
    public SessionFilter() {
    }

    public void init(FilterConfig filterConfig) throws ServletException {

        System.out.println("Instance created of " + getClass().getName());
        this.config = filterConfig;
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws java.io.IOException, ServletException {

        HttpSession session = ((HttpServletRequest) request).getSession();
        ServletContext context = config.getServletContext();
        /*
         * use the ServletContext.log method to log filter messages
         */
        context.log("doFilter called in: " + config.getFilterName() + " on " + (new java.util.Date()));

        // log the session ID
        context.log("session ID: " + session.getId());

        // Find out whether the logged-in session attribute is set
        String logged = (String) session.getAttribute("logged-in");
        if (logged == null)
            session.setAttribute("logged-in", "no");

        //log a message about the log-in status
        context.log("log-in status: " + (String) session.getAttribute("logged-in"));
        context.log("");
        chain.doFilter(request, response);
    }

    public void destroy() {
        /*
         * called before the Filter instance is removed from service by the web
         * container
         */
    }
}