Inicializar un Servlet

El método init proporcionado por la clase HttpServlet inicializa el servlet y graba la inicialización. Para hacer una inicialización específica de nuestro servlet, debemos sobreescribir el método init siguiendo estas reglas:

Aquí hay un ejemplo del método init:

    public class BookDBServlet ... {

        private BookstoreDB books;

        public void init(ServletConfig config) throws ServletException {

            // Store the ServletConfig object and log the initialization
            super.init(config);

            // Load the database to prepare for requests
            books = new BookstoreDB();
        }
        ...
    }
El método init es bastante sencillo: llama al método super.init para manejar el objeto ServletConfig y grabar la inicialización, y seleccionar un campo privado.

Si el BookDBServlet utilizará una base de datos real, en vez de similarla con un objeto, el método init sería más complejo. Aquí puedes ver el pseudo-código de como podría ser ese método init:

    public class BookDBServlet ... {

        public void init(ServletConfig config) throws ServletException {

            // Store the ServletConfig object and log the initialization
            super.init(config);

            // Open a database connection to prepare for requests
            try {
                databaseUrl = getInitParameter("databaseUrl");
                ... // get user and password parameters the same way
                connection = DriverManager.getConnection(databaseUrl,
                                                         user, password);
            } catch(Exception e) {
                throw new UnavailableException (this,
		    "Could not open a connection to the database");
            }
        }
        ...
    }

Parámetros de Inicialización

Le segunda versión del método init llama al método getInitParameter. Este método toma el nombre del parámetro como argumento y devuelve un String que representa su valor.

(La especificación de parámetros de inicialización es específica del servidor. Por ejemplo, los parámetros son específicados como una propiedad cuando un servlet se ejecuta con el ServletRunner. La página La Utilidad servletrunner contiene una explicación general de las propiedades y cómo crearlas).

Si por alguna razón, necesitamos obtener los nombres de los parámetros, podemos utilizar el método getParameterNames.


Ozito