Leer parámetros de inicialización de un servlet

11/Nov/2006 Java , , , , 1 Comentario

En la vida de ejecución de un servlet, este, recuperará información de múltiples sitios. Por ejemplo recibirá en la petición información vía parámetros, recuperará datos de múltiples orígenes: bases de datos, ficheros,…

Uno de los sitios de donde podrá recuperar información son los parámetros de inicialización del servlet.

Cuando creamos un servlet y lo definimos en el descriptor de despliegue, podemos indicarle que el servlet lleva asociado parámetros de inicialización y los valores de dichos parámetros.

El uso de estos parámetros es muy potente, ya que se pueden modificar sus valores, con el fin de obtener un comportamiento diferente del servlet, sin necesidad de recompilar este.

Algunos de los usos de los parámetros de inicialización podrían ser:

  • Tiempos de control de peticiones
  • Nombres de recursos externos a los que acceder: ficheros, bases de datos,…
  • Nivel de log que se quiere aplicar al programa.

Siempre suelen ser cosas relativas a la configuración del servlet.

Lo primero que tenemos que hacer es definir en el descriptor de despliegue (/WEB-INF/web.xml) del servlet:

<servlet>
  <description>Ejemplo ...bla bla bla.</description>
  <display-name>ParametrosInicio</display-name>
  <servlet-name>ParametrosInicio</servlet-name>
  <servlet-class>com.lineadecodigo.ParametrosInicio</servlet-class>
</servlet>

El servlet se define mediante la etiqueta <servlet>. Anidada a esta tenemos dos etiquetas importantes. <servlet-name> será el nombre de referencia del servlet y <servlet-class> será la clase java que implementa dicho servlet.

Los parámetros del servlet<servlet> <init-param> <description>Nivel de log a aplicar</description> <param-name>NivelLog</param-name> <param-value>DEBUG</param-value> </init-param> <init-param> <description>Número de peticiones para atender</description> <param-name>NumeroPeticiones</param-name> <param-value>8</param-value> </init-param> </servlet>

Una vez que hemos definido esto en el descriptor de despliegue, tendremos que acceder a los valores desde el servlet.

Lo más normal es acceder a esta información en el método init(). Si es que la información aplica a todas las peticiones del servlet.

Para recuperar los parámetros tenemos que acceder a el método .getInitParameter(String parámetro) que permite acceder al valor del parámetro pasado como argumento a dicho método.

Así, para recuperar los valores de nuestro ejemplo tendremos el siguiente código:

  1. _nivelLog = getInitParameter("NivelLog");
  2. _numeroPeticiones = Integer.parseInt(getInitParameter("NumeroPeticiones"));

Hay que fijarse que los valores de los parámetros de inicio son devueltos como cadenas de texto. Es por ello que tendremos que hacer el tratamiento necesario para convertirlo en otro tipo de dato.

En nuestro caso convertirlo a entero mediante Integer.parseInt(String cadena).

Tanto _nivelLog como _numeroPeticiones lo hemos definido como atributos generales del servlet para que puedan ser utilizados en todo momento.

Un comentario en “Leer parámetros de inicialización de un servlet”

Víctor Cuervo

Ricardo

Muy muy util tu informacion, muchas gracias. Es justo lo que andaba buscando… Y lo encontre en la primera pagina que lei (aunque con este tipo de temas siempre es mas o menos asi, porque hay mucha informacion sobre Java)..

Me despido.

Saludos!!!!

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*