001/** 002 * 003 */ 004package bradleyross.j2ee.listeners; 005import org.apache.log4j.Logger; 006import javax.servlet.ServletContextEvent; 007import javax.servlet.ServletContextListener; 008import javax.servlet.ServletContext; 009import javax.servlet.annotation.WebListener; 010 011/** 012 * Demonstration listener. 013 * 014 * <p>When the listener is linked to a context, it places a message on the log 015 * when the context is started and when it is stopped.</p> 016 * 017 * @author Bradley Ross 018 * 019 * 020 * @see ServletContextEvent 021 * @see ServletContext 022 * @see WebListener 023 * 024 */ 025@WebListener 026public class SampleListener implements ServletContextListener { 027 protected Logger logger = null; 028 /* (non-Javadoc) 029 * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent) 030 */ 031 /** 032 * Method to be executed when context is destroyed. 033 * 034 * <p>In this sample, it places a message in the log4j log file.</p> 035 * @param arg0 event object describing destruction of context 036 */ 037 @Override 038 public void contextDestroyed(ServletContextEvent arg0) { 039 logger = Logger.getLogger(this.getClass()); 040 ServletContext context = arg0.getServletContext(); 041 String path = context.getContextPath(); 042 logger.info("Destroying context at " + path); 043 } 044 /* (non-Javadoc) 045 * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent) 046 */ 047 /** 048 * Method to be executed when context is initialized. 049 * 050 * <p>This method places a message in the log4j log file.</p> 051 * 052 * @param arg0 context event describing initialization of context 053 */ 054 @Override 055 public void contextInitialized(ServletContextEvent arg0) { 056 logger = Logger.getLogger(this.getClass()); 057 ServletContext context = arg0.getServletContext(); 058 String path = context.getContextPath(); 059 logger.info("Starting context at " + path); 060 } 061}