SerVlet Conectar con Base de Datos<br />DavidPaLMundo@hotmail.com<br />
	JDBC (Java DatabaseConnectivity) es la parte de Java que nos va a permitir conectarnos con bases de datos relacionales ut...
	Conexión con la base de datos con JDBC<br />	Antes de acceder a la base de datos, es necesario conectarse desde nuestro S...
	Establecer la conexión. Una vez que tenemos el driver cargado en memoria, tendremos que crear una conexión (objeto de la ...
	Cuando creamos una conexión (nos devuelve un objeto Connection) se abre una conexión con la base de datos que posteriorme...
	Como hemos mencionado anteriormente para toda conexión que abramos tendremos que cerrarla, eso se hará mediante el método...
Conectar<br />importjavax.servlet.*;<br />importjavax.servlet.http.*;<br />import java.io.*;<br />import java.sql.*;<br />...
	try {<br />	//Leemos el driver de Oracle<br />Class.forName("oracle.jdbc.driver.OracleDriver");<br />	//Nos conectamos a ...
//Decimos que nos hemos conectado <br />out.println("<html>");<br />out.println("<body>");<br />out.println("<h1>¡Hemos co...
finally {<br />                //Finalmente desconecto de la BD<br />		try {<br />if (conexion!=null)<br />conexion.close(...
Observa que dentro de las bibliotecas que vamos a usar hemos añadido la línea import java.sql.*; que no sirve para utiliza...
Upcoming SlideShare
Loading in...5
×

Ser vlet conectar con base de datos

2,492

Published on

Servlet conexion a base de datos, ejemplo como conectar a base de datos con servlet

Published in: Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,492
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
60
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ser vlet conectar con base de datos

  1. 1. SerVlet Conectar con Base de Datos<br />DavidPaLMundo@hotmail.com<br />
  2. 2. JDBC (Java DatabaseConnectivity) es la parte de Java que nos va a permitir conectarnos con bases de datos relacionales utilizando el lenguaje SQL. JDBC permite la integración de llamadas SQL dentro del código de nuestro Servlet Java proporcionando clases que nos permiten interactuar de forma fácil, cómoda y homogénea con bases de datos externas.<br />
  3. 3. Conexión con la base de datos con JDBC<br /> Antes de acceder a la base de datos, es necesario conectarse desde nuestro Servlet (Cliente, en este caso) a la base de datos (servidor), esto se hace mediante dos pasos:<br /> Leer el driver específico de la base de datos que vamos a utilizar, en nuestro caso, será:<br />Class.forName("oracle.jdbc.driver.OracleDriver")<br />
  4. 4. Establecer la conexión. Una vez que tenemos el driver cargado en memoria, tendremos que crear una conexión (objeto de la clase Connection), indicando el driver a usar (jdbc:oracle:thin), la máquina(localhost), el puerto(1521), el SID de la base de datos(ProgBD2), el usuario(fjgarcia) y su contraseña(claveSecreta). Por ejemplo:<br />Connectionconexion = DriverManager.getConnection(<br /> "jdbc:oracle:thin:@localhost:1521:ProgBD2", "fjgarcia", "claveSecreta")<br /> Cuando leemos el driver específico de la base de datos (en nuestro, caso oracle.jdbc.driver.OracleDriver) se puede producir una excepción del tipo (ClassNotFoundException que ocurrirá si no tenemos instalado correctamente el driver JDBC (revisar parte de instalación). Al leer el driver este se quedará en memoria y será el que se utilice internamente por JDBC.<br />
  5. 5. Cuando creamos una conexión (nos devuelve un objeto Connection) se abre una conexión con la base de datos que posteriormente debemos cerrar. Para crear la conexión se utiliza, como hemos visto, el método getConnection de la clase DriverManager, que como vemos tiene tres parámetros, el primero será la cadena de conexión, el segundo el usuario y el tercero la contraseña de dicho usuario. En la cadena de conexión tenemos el driver que se va a utilizar, nosotros siempre usaremos jdbc:oracle:thin la máquina a la que nos vamos a conectar precedida de una arroba (nosotros podremos usar @localhost para nuestro ordenador local o @oracle0.ugr.es para el servidor de la escuela), el puerto a utilizar (tanto local, como remoto usaremos el 1521) y el SID de la base de datos a utilizar (en local será ProgBD2 y en el servidor de la escuela será PRACTBD.<br />
  6. 6. Como hemos mencionado anteriormente para toda conexión que abramos tendremos que cerrarla, eso se hará mediante el método close()de Connection.<br /> Veamos un pequeño ejemplo que sólo conecte a la base de datos local para ver si hubiera algún problema y que guardaremos como ConectaBD.java:<br />
  7. 7. Conectar<br />importjavax.servlet.*;<br />importjavax.servlet.http.*;<br />import java.io.*;<br />import java.sql.*;<br />publicclassConectaBDextendsHttpServlet {<br />publicvoidinit(ServletConfigconf)<br />throwsServletException {<br />super.init(conf);<br /> }<br />publicvoiddoGet(HttpServletRequestreq, HttpServletResponse res)<br />throwsServletException, IOException {<br />Connectionconexion = null;<br />res.setContentType("text/html");<br />PrintWriterout = res.getWriter();<br />
  8. 8. try {<br /> //Leemos el driver de Oracle<br />Class.forName("oracle.jdbc.driver.OracleDriver");<br /> //Nos conectamos a la BD local<br />conexion = DriverManager.getConnection (<br /> "jdbc:oracle:thin:@localhost:1521:PROGBD2",<br /> "fjgarcia","claveSecreta");<br /> /*//Nos conectamos a la BD de la ETSII<br />Stringclave="claveSecretaETSII";<br />conexion = DriverManager.getConnection (<br /> "jdbc:oracle:thin:@oracle0.ugr.es:1521:PRACTBD",<br /> "fjgarcia",clave);<br />*/<br />
  9. 9. //Decimos que nos hemos conectado <br />out.println("<html>");<br />out.println("<body>");<br />out.println("<h1>¡Hemos conectado!</h1>");<br />out.println("</body>");<br />out.println("</html>");<br /> } <br /> catch (ClassNotFoundException e1) {<br /> //Error si no puedo leer el driver de Oracle <br />out.println("ERROR:No encuentro el driver de la BD: "+<br /> e1.getMessage());<br /> }<br /> catch (SQLException e2) {<br /> //Error SQL: login/passwd mal<br />out.println("ERROR:Fallo en SQL: "+e2.getMessage());<br /> }<br />
  10. 10. finally {<br /> //Finalmente desconecto de la BD<br /> try {<br />if (conexion!=null)<br />conexion.close();<br /> } catch (SQLException e3) {<br />out.println("ERROR:Fallo al desconectar de la BD: "+<br /> e3.getMessage());<br /> }<br /> }<br /> }<br />publicvoiddoPost(HttpServletRequestreq, HttpServletResponse res)<br />throwsServletException, IOException {<br />doGet(req, res);<br /> }<br />}<br />
  11. 11. Observa que dentro de las bibliotecas que vamos a usar hemos añadido la línea import java.sql.*; que no sirve para utilizar las clases de JDBC <br /> El resultado si todo ha sido correcto debería ser: <br />
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×