Artículos
Java

Leer parámetros de inicialización de un servlet

11/Nov/2006

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,… Es por ello que es importante saber leer parámetros de inicialización de un servlet.

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 también se definen dentro de la etiqueta servlet. Para ello utilizaremos la etiqueta init-param. Anidada a este tenemos dos etiquetas: param-name que será el nombre del parámetro y param-value que será el valor que le demos al parámetro de inicio.

En nuestro ejemplo vamos a definir dos parámetros. El primero será NivelLog que almacenará el tipo de log con el que grabaremos y NumeroPeticiones que nos pasará un indicador de limitación.

<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:

_nivelLog = getInitParameter("NivelLog");
_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.

De esta forma hemos conseguido definir unos parámetros de inicialización en nuestro fichero de configuración y leer parámetros de inicialización de un servlet cuando se inicializa.

Código Fuente

Descárgate el código fuente de Leer parámetros de inicialización de un servlet
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
1 Comentario
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios