Home | Download | PDF | API | FAQ | Search | Feedback | History

> ## Initializing a Servlet

> After the web container loads and instantiates the servlet class and before it delivers requests from clients, the web container initializes the servlet. To customize this process to allow the servlet to read persistent configuration data, initialize resources, and perform any other one-time activities, you override the `init` method of the `Servlet` interface. A servlet that cannot complete its initialization process should throw `UnavailableException`.

> All the servlets that access the bookstore database (`BookStoreServlet`, `CatalogServlet`, `BookDetailsServlet`, and `ShowCartServlet)` initialize a variable in their `init` method that points to the database access object created by the web context listener:

>     public class CatalogServlet extends HttpServlet {
>       private BookDBAO bookDB;
>       public void init() throws ServletException {
>         bookDB = (BookDBAO)getServletContext().
>           getAttribute("bookDB");
>         if (bookDB == null) throw new
>           UnavailableException("Couldn't get database.");
>       }
>     }