FileDocCategorySizeDatePackage
SessionFilter.javaAPI DocExample1606Tue Mar 11 13:19:00 GMT 2003com.jspservletcookbook

SessionFilter.java

package com.jspservletcookbook;

import javax.servlet.*;
import javax.servlet.http.*;

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*/
    }
}