background image

Handling Servlet Life-Cycle Events

<< Servlet Life Cycle | Specifying Event Listener Classes >>
<< Servlet Life Cycle | Specifying Event Listener Classes >>

Handling Servlet Life-Cycle Events

Handling Servlet Life-Cycle Events
You can monitor and react to events in a servlet's life cycle by defining listener objects whose
methods get invoked when life-cycle events occur. To use these listener objects you must define
and specify the listener class.
Defining the Listener Class
You define a listener class as an implementation of a listener interface.
Table 4­2
lists the events
that can be monitored and the corresponding interface that must be implemented. When a
listener method is invoked, it is passed an event that contains information appropriate to the
event. For example, the methods in the HttpSessionListener interface are passed an
HttpSessionEvent
, which contains an HttpSession.
TABLE 4­2
Servlet Life-Cycle Events
Object
Event
Listener Interface and Event Class
Web context (see
"Accessing the Web
Context" on page 124
)
Initialization and
destruction
javax.servlet.ServletContextListener
and
ServletContextEvent
Attribute added,
removed, or replaced
javax.servlet.ServletContextAttributeListener
and
ServletContextAttributeEvent
Session (See
"Maintaining Client
State" on page 125
)
Creation,
invalidation,
activation,
passivation, and
timeout
javax.servlet.http.HttpSessionListener
,
javax.servlet.http.
HttpSessionActivationListener
, and
HttpSessionEvent
Attribute added,
removed, or replaced
javax.servlet.http.HttpSessionAttributeListener
and
HttpSessionBindingEvent
Request
A servlet request has
started being
processed by web
components
javax.servlet.ServletRequestListener
and
ServletRequestEvent
Attribute added,
removed, or replaced
javax.servlet.ServletRequestAttributeListener
and
ServletRequestAttributeEvent
The
tut-install/javaeetutorial5/examples/web/bookstore1/src/java/com/sun/bookstore1/listeners/ContextListen
class creates and removes the database access and counter objects used in the Duke's Bookstore
application. The methods retrieve the web context object from ServletContextEvent and then
store (and remove) the objects as servlet context attributes.
Servlet Life Cycle
Chapter 4 · Java Servlet Technology
103