Successfully reported this slideshow.

Clase servletsaccesobd

580 views

Published on

data java

Published in: Education
  • Be the first to comment

  • Be the first to like this

Clase servletsaccesobd

  1. 1. REALIZADO POR : SIMEON HUAMANCHAO GOMEZ
  2. 2. Servlets con acceso a Bases de Datos
  3. 3. Índice <ul><li>Repaso de JDBC </li></ul><ul><li>Repaso de Servlets </li></ul><ul><ul><li>¿Qué es un Servlet? </li></ul></ul><ul><ul><li>Estructura de un Servlet – Ciclo de vida </li></ul></ul><ul><li>Servlets con acceso a Bases de Datos </li></ul><ul><li>Ejemplo 1: Escribir en una Base de Datos </li></ul><ul><li>Ejemplo 2: Consultar una Base de Datos </li></ul>
  4. 4. JDBC <ul><li>API de Java para ejecutar sentencias SQL </li></ul><ul><li>JDBC posibilita básicamente tres cosas: </li></ul><ul><ul><li>Establecer una conexión con una base de datos desde Java </li></ul></ul><ul><ul><li>Enviar sentencias SQL a través de dicha conexión </li></ul></ul><ul><ul><li>Procesar los resultados </li></ul></ul><ul><li>La JDBC 3.0 API comprende 2 paquetes: </li></ul><ul><ul><li>java.sql </li></ul></ul><ul><ul><li>javax.sql </li></ul></ul>
  5. 5. JDBC de forma esquemática ResultSet Statement Connection DriverManager JDBC-ODBC Bridge ODBC Driver ODBC Database Aplicación Cliente
  6. 6. Utilización de JDBC 3.0 API Class.forName(&quot;sun.jdbc.odbc.JdbcOdbcDriver&quot;); String url = ″jdbc:odbc:wombat″; Connection con = DriverManager.getConnection(url); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(″SELECT a, b, c FROM Table2″); While(rs.next()){ int i = rs.getInt(  a  ); String s = rs.getString(  b  ); Float f = rs.getFloat(  c  ) ; System.out.println(  ROW=  + i +   + s +   + f); }
  7. 7. Servlets <ul><li>Programas en Java que se ejecutan en un servidor HTTP (servidor Web) </li></ul><ul><li>Actúan como capa intermedia entre: </li></ul><ul><ul><li>Petición proviniente de un Navegador Web u otro cliente HTTP </li></ul></ul><ul><ul><li>Bases de Datos o Aplicaciones en el servidor HTTP </li></ul></ul>Servidor Web Servlet BD externa BD Aplicación
  8. 8. Cuándo y por qué usar Servlets <ul><li>Muchas peticiones desde navegador se satisfacen retornando documentos HTML estáticos , es decir, que están en ficheros </li></ul><ul><li>En ciertos casos, es necesario generar las páginas HTML para cada petición: </li></ul><ul><ul><li>Página Web basada en datos enviados por el cliente </li></ul></ul><ul><ul><ul><li>Motores de búsqueda, confirmación de pedidos </li></ul></ul></ul><ul><ul><li>Página Web derivada de datos que cambian con frecuencia </li></ul></ul><ul><ul><ul><li>Informe del tiempo o noticias de última hora </li></ul></ul></ul><ul><ul><li>Página Web que usa información de bases de datos corporativas u otras fuentes del la parte del servidor </li></ul></ul><ul><ul><ul><li>Comercio electrónico: precios y disponibilidades </li></ul></ul></ul>
  9. 9. Estructura de un HttpServlet HttpServlet <ul><li>Método init() </li></ul><ul><li>Se ejecuta una sola vez al inicializar el Servlet </li></ul><ul><li>Inicializar variables y operaciones costosas en tiempo de ejecución </li></ul><ul><li>Método destroy() </li></ul><ul><li>Lo llama el servidor al “apagarse” </li></ul><ul><li>Cerrar procesos en curso, liberar memoria, cerrar ficheros </li></ul><ul><li>Métodos doGet() o doPost() </li></ul><ul><li>Recoger peticiones del usuario y ejecutar operaciones </li></ul><ul><li>Mandar respuesta al usuario (en forma de HTML) </li></ul>Otros métodos de usuario Objeto HttpServletRequest Objeto HttpServletResponse
  10. 10. Servlets con acceso a Base de Datos <ul><li>Conexión a Bases de Datos </li></ul><ul><ul><li>Tarea importante y frecuente de los Servlets </li></ul></ul><ul><li>Servlets </li></ul><ul><ul><li>Funciones de capa intermedia en sistemas con arquitectura de tres capas </li></ul></ul><ul><li>Ventajas: </li></ul><ul><ul><li>Nivel intermedio: control de operaciones contra la Base de Datos </li></ul></ul><ul><ul><li>Drivers JDBC no tienen que estar en el cliente </li></ul></ul><ul><ul><li>Se puede tener constancia de lo que ha hecho el usuario en peticiones anteriores </li></ul></ul><ul><ul><li>Sincronización de peticiones </li></ul></ul>
  11. 11. Estructura de un Servlet con acceso a DB HttpServlet <ul><li>Método init() </li></ul><ul><li>Establecer conexión con la Base de Datos </li></ul><ul><li>Método destroy() </li></ul><ul><li>Cerrar la conexión con la Base de Datos </li></ul><ul><li>Métodos doGet() o doPost() </li></ul><ul><li>Interacción con la Base de Datos </li></ul><ul><ul><li>Bien en el propio cuerpo de estos métodos </li></ul></ul><ul><ul><li>Bien mediante llamadas a otros métodos de usuario </li></ul></ul>Otros métodos de usuario: actualizarBaseDeDatos() ... Objeto Connection
  12. 12. Ejemplo 1: Escribir en una Base de Datos <ul><li>Base de Datos Access </li></ul><ul><ul><li>ServletOpinion2.mdb </li></ul></ul><ul><li>Data Source Name (DSN) </li></ul><ul><ul><li>opinion </li></ul></ul><ul><li>Página HTML: </li></ul><ul><ul><li>MiServlet2.html </li></ul></ul><ul><li>Servlet </li></ul><ul><ul><li>ServletOpinion2.java -> ServletOpinion2.class </li></ul></ul><ul><li>Arrancar Tomcat 5.5 </li></ul>
  13. 13. Ejemplo 2: Consultar una Base de Datos <ul><li>Base de Datos Access </li></ul><ul><ul><li>Alumnos.mdb </li></ul></ul><ul><li>Data Source Name (DSN) </li></ul><ul><ul><li>alumnos </li></ul></ul><ul><li>Página HTML: </li></ul><ul><ul><li>Formulario2.html </li></ul></ul><ul><li>Servlet </li></ul><ul><ul><li>ListaAlumnos.java -> ListaAlumnos.class </li></ul></ul><ul><li>Arrancar Tomcat 5.5 </li></ul>

×