Вы находитесь на странице: 1из 1

un servidor de base de datos, los datos de conexin al servidor puede que no se

conozcan hasta el momento en que se despliegue la aplicacin en el servidor de


produccin. Si estos datos estn escritos directamente en el cdigo, obligatoriamente
habr que modificarlos y se tendr que recompilar la aplicacin. Para evitar esta
manipulacin, este tipo de datos se puede colocar en el descriptor de despliegue de la
aplicacin (web.xml). El mtodo init podr recuperar los datos de este archivo. Los
datos de inicializacin de cada servlet se aadirn en el interior de la etiqueta <servlet>
mediante el uso de la etiqueta <init-param>. Esta etiqueta tiene dos elementos
obligatorios:

<param-name>: representa el nombre del parmetro. Este nombre tiene que


usarse en el mtodo init del servlet para acceder al parmetro.
<param-value>: representa el valor asignado al parmetro.

El elemento <description>, aunque es opcional, resulta muy til para la claridad del
descriptor de despliegue.

La declaracin de un servlet en el archivo web.xml tiene por lo tanto el aspecto


siguiente:

<servlet>
<servlet-name>PrimerServlet</servlet-name>
<servlet-class>es.eni.ri.PrimerServlet</servlet-class>
<init-param>
<description>
direccin del servidor de base de datos
</description>
<param-name>direccionIpBDD</param-name>
<param-value>127.0.0.1</param-value>
</init-param>
</servlet>

La recuperacin de los parmetros en el mtodo init se realiza gracias al mtodo


getInitParameter. Este mtodo espera como parmetro una cadena de caracteres que
representan el nombre del parmetro en el descriptor de despliegue. Esta funcin
devuelve el valor del parmetro tipado siempre como una cadena de caracteres. Si el
parmetro indicado no se encuentra en el descriptor de despliegue, se devuelve el valor
null.

El mtodo init del servlet tendra el aspecto siguiente:

@Override
public void init() throws ServletException
{
super.init();
String ipServidor;
ipServidor=getInitParameter("direccionIpBDD");
if (ipServidor==null)
{
throw new ServletException();
}
cnx=abrirConexionBDD(ipServidor);
if (cnx==null)
{
throw new ServletException();

www.fullengineeringbook.net

Вам также может понравиться