Desarrollo web parámetros init j2ee

0

Por admin | Para la categoría de java j2ee | noticia del 13-04-2010

Los servlets de j2ee además de recibir peticiones de tipo get y post nos permiten recoger valores y parámetros prefijados en el archivo de despliegue de la aplicación.

Tomamos como punto de partida, la aplicación realizada sobre jdbc Enlace: jdbc elipse

Las modificaciones que se van a realizar en el método init del servlet base de datos le permiten cargar los valores del driver y el nombre de la base de datos declarados en el fichero web.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<servlet>
		<description>
		</description>
		<display-name>
		basedatos</display-name>
		<servlet-name>basedatos</servlet-name>
		<servlet-class>
		conexion.basedatos</servlet-class>
		<init-param>
		<param-name>nombreBasedatos</param-name>
		<param-value>jdbc:mysql://localhost:3306/libros_jdbc</param-value>		
		</init-param>
		<init-param>
		<param-name>driver</param-name>
		<param-value>com.mysql.jdbc.Driver</param-value>
		</init-param>
	</servlet>

Solamente se modifica el método init para recuperar los valores de los parámetros

mediante las etiquetas introducimos los pares , para el nombre del parámetro y para el valor del parámetro.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 	public void init() throws ServletException {
		// TODO Auto-generated method stub
		super.init();
 
		try
		{
			//String controlador = "com.mysql.jdbc.Driver";
 
 
			String controlador = this.getInitParameter("driver");
 
			Class.forName(controlador).newInstance();
 
 
 
			//conectamos con la base de datos
			//conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/libros_jdbc","root","root");
 
			String baseDatosUrl = this.getInitParameter("nombreBasedatos");
			conexion = DriverManager.getConnection(baseDatosUrl,"root","root");
 
			//creamos una sentencia sql
			sentenciaSql = conexion.createStatement();			
 
 
		}
		catch ( ClassNotFoundException e )
		{
			System.out.println("no se pudo cargar el controlador");
		}
		catch ( SQLException e)
		{
			System.out.println("Excepcion sql"+e.getMessage());
		}
 
		catch (InstantiationException e )
		{
			System.out.println ("objeto no creado"+e.getMessage());
		}
 
		catch ( IllegalAccessException e )
		{
			System.out.println("Acceso ilegal"+e.getMessage());
		}
	}

Mediante el método getInitParameter recuperamos los valores de los parámetros del servlet. Estos valores pueden ser utilizados únicamente por el servlet basededatos no por otros servlet. Para ser utilizados por otros servlet se necesita declarar parámetros de contexto, se verá en otro ejemplo.

Comentarios cerrados automáticamente al pasar más de un año