Application life cycle listeners and events


 

+

Search Tips   |   Advanced Search

 

With application life cycle listeners and events we can notify listeners when servlet contexts and sessions change. For example, we can notify users when attributes change and if sessions or servlet contexts are created or destroyed.

The life cycle listeners give the application developer greater control over interactions with ServletContext and HttpSession objects. Servlet context listeners manage resources at an application level. Session listeners manage resources that are associated with a series of requests from a single client. The listener developer creates a class that implements the javax listener interface, corresponding to the listener functionality that you want.

At application startup time, the container uses introspection to create an instance of the listener class and registers it with the appropriate event generator.

When a servlet context is created, the contextInitialized method of the listener class is invoked, which creates the database connection for the servlets in the application to use if this context is for the application. All servlet context listeners are notified of context initialization before any servlet in the Web app is initialized.

When the servlet context is destroyed, the contextDestroyed method is invoked, which releases the database connection, if this context is for the application. You must destroy all servlets before any servlet context listeners are notified of context destruction.

Notifications to session listeners precede notifications to context listeners.

 

Listener classes for servlet context and session changes

The following methods are defined as part of the javax.servlet.ServletContextListener interface:

The following methods are defined as part of the javax.servlet.ServletRequestListener interface:

The following listener interfaces are defined as part of the javax.servlet package:

The following filter interface is defined as part of the javax.servlet package:

The following event classes are defined as part of the javax.servlet package:

The following interfaces are defined as part of the javax.servlet.http package:

The following event class is defined as part of the javax.servlet.http package:

 

Example

The following example shows how to create a servlet context listener:

 package com.ibm.websphere;
 import java.io.*;
 import javax.servlet.*;
 public class DBConnectionListener implements ServletContextListener 
{
     
// implement the required context init method
    void contextInitialized(ServletContextEvent sce)
    {
    }

     
// implement the required context destroy method
    void contextDestroyed(ServletContextEvent sce)
    {
    }
}




 

Related

Web apps: Links