background image

Specifying Event Listener Classes

<< Handling Servlet Life-Cycle Events | Handling Servlet Errors >>
<< Handling Servlet Life-Cycle Events | Handling Servlet Errors >>

Specifying Event Listener Classes

import database.BookDBAO;
import javax.servlet.*;
import util.Counter;
import javax.ejb.*;
import javax.persistence.*;
public final class ContextListener
implements ServletContextListener {
private ServletContext context = null;
@PersistenceUnit
EntityManagerFactory emf;
public void contextInitialized(ServletContextEvent event) {
context = event.getServletContext();
try {
BookDBAO bookDB = new BookDBAO(emf);
context.setAttribute(
"bookDB", bookDB);
} catch (Exception ex) {
System.out.println(
"Couldn't create database: " + ex.getMessage());
}
Counter counter = new Counter();
context.setAttribute(
"hitCounter", counter);
counter = new Counter();
context.setAttribute(
"orderCounter", counter);
}
public void contextDestroyed(ServletContextEvent event) {
context = event.getServletContext();
BookDBAO bookDB = context.getAttribute(
"bookDB");
bookDB.remove();
context.removeAttribute(
"bookDB");
context.removeAttribute(
"hitCounter");
context.removeAttribute(
"orderCounter");
}
}
Specifying Event Listener Classes
You specify an event listener class using the listener element of the deployment descriptor.
Review
"The Example Servlets" on page 100
for information on how to specify the
ContextListener
listener class.
Servlet Life Cycle
The Java EE 5 Tutorial · September 2007
104