Conexión a una Base de Datos con JSP
Vamos a ver como realizar una conexión a un database desde una pagina Jsp, para esto, crearemos una clase (ConnectionCreator) , que será usada por nuestra página. En primer lugar nos conectaremos a un SQL Server, luego podremos ver como modificando un poco la clase tambien se puede usar para MySql.
omenzamos entonces por escribir el código de la primiera versión de la clase, para luego esplicarla en detalle:
![](images/jsp2.gif)
- Linea 1: definición del package que contendra la clase, necessario para luego importar la clase dentro la pagina.
- Lineas 3 y 4: Importamos dos clases standard de Tomcat.
- Linea 6 : Definición de la clase, como pública, con el nombre ConnectionCreator.
- Linea 8: Definición del único método de la clase, getSqlServerConnection, que recibirá como parametros una lista de valores, para devolver luego, un objeto java.sql.Connection.
- Los parametros que recibe la clase son: database (nombre del database), servername (nombre o ip del database server), port (puerta de conexión, en el caso de SQL generalmente es 1433), username y password.
- Linea 10: try, es el comienzo del bloque de código que ejecutaremos.
- Linea 11: Se instancia el driver de SQL, que obviamente debe estar presente ya sea en las librerías de Tomcat o en las de nuestro sitio(carpeta \WEB-INF\lib). Estos drivers se descargan gratuitamente de Internet y vienen empaquetados bajo la forma de archivos JAR.
- Lineas 12 a 14: Construimos una cadena de caracteres llamada url, que será utilizada luego para abrir la conexión. La estructura de este texto es estandard, solo hay que intercalar los parametros recibidos.
- Linea 15: Finalmente llegamos al corazón de la clase, instanciamos un objeto Connection y, a través del DriverManager, tratamos de conectarnos al servidor, pasando como parametro la url construida anteriormente.
- Lineas 16 a 19: No son extrictamente necesarias, pero sirven como ayuda al programador. Controlamos que la conexión haya sido exitosa y que esté abierta (por defecto siempre lo está) y mandamos a la consola de Tomcat el mensaje correspondiente. Lo mismo en el caso de que el proceso haya fallado.
- Linea 21: la función devuelve el objeto.
- Lineas 23 a 26: En el caso de que se produzca un error dentro la estructura try, el mismo es procesado por la estructura catch, que imprime el mensaje de error producido.
A esta altura el metodo ha terminado, y no nos queda sino ver cómo se utiliza dentro de la pagina JSP. Veamos:
<%@ page language="java" %>
<%@ page import = "notas.ConnectionCreator"%>
<%@ page import = "java.sql.Connection"%>
<%
Connection miConexion = ConnectionCreator.getSqlServerConnection("Orders", "127.0.0.1",1433,"sa", "");
if (!miConexion.isClosed())
out.print("FUNCIONA !");
/* CUERPO DE LA PAGINA */
miConexion.close(); /* no olvidarse de cerrar las conexiones. */
%>
Aqui simplemente creamos un objeto Connection y , a través de del metodo getSqlServerConnection de nuestra clase, nos conectamos al database. Al final de la página, cerramos la conexion.
En el caso de querer conectar un servidor MySql, conviene agregar un segundo metodo a la clase, especifico para este tipo de server. Por supuesto que su nuestro sitio deberan existir tambien los drivers de MySql.
Veamos como sería el método getMySqlConnection.
![](images/jsp03.gif)
Basicamente la lógica es la misma, cambia obviamente el driver inicializado, y la estructura de la url, ya que en este caso no contiene ni usuario ni password, datos estos que son pasados directamente al DriverManager.