Servlet App Event Listeners
Writing a Simple Servlet Context Application Lifecycle Event
Listener
When a web application is deployed a servlet context object,
ServletContext, is created and associated with the web
application. There is a one-to-one relationship between a servlet
context object and the web application. All resources within the web
application, such as servlets and JSPs, can retrieve any information
stored in the servlet context.
As a web application programmer, you may want to initialize objects
and place them in the servlet context when it is created and destroy
the objects when the servlet context is destroyed. For example, you
may decide to create a connection to a database when the servlet
context is created and close the connection when the servlet context
is destroyed.
To write an application lifecycle event listener that executes when
the servlet context is created and destroyed, write a Java class that
implements the javax.Servlet.ServletContextListener
class. This class has two methods with the following signatures (taken
from the JavaDocs):
void contextDestroyed (ServletContextEvent
sce)
Notification that the Servlet
context is about to be shut down.
void contextInitialized
(ServletContextEvent sce)
Notification
that the Web Application is ready to process
requests.
Let's write a simple application lifecycle event listener that
writes a message to the console of the server when the web application
is ready to accept requests and when it is going to be
removed. Listing 1 shows the code for a simple application event
listener class.
Listing 1: An application lifecycle event listener that
outputs messages to the console when the web application is ready to
service requests and when it is going to be
removed. (MyContextListener.java)
package com.listeners;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributesListener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public final class MyContextListener
implements ServletContextListener {
private ServletContext context = null;
public MyContextListener() {}
//This method is invoked when the Web Application
//has been removed and is no longer able to accept
//requests
public void contextDestroyed(ServletContextEvent event)
{
//Output a simple message to the server's console
System.out.println("The Simple Web App. Has Been Removed");
this.context = null;
}
//This method is invoked when the Web Application
//is ready to service requests
public void contextInitialized(ServletContextEvent event)
{
this.context = event.getServletContext();
//Output a simple message to the server's console
System.out.println("The Simple Web App. Is Ready");
}
}
Prev [1] [2] [3] [4] [5] [6] [7] Next