Clase servletsaccesobd

13
REALIZADO POR : SIMEON HUAMANCHAO GOMEZ

description

data java

Transcript of Clase servletsaccesobd

Page 1: Clase servletsaccesobd

REALIZADO POR :SIMEON HUAMANCHAO GOMEZ

Page 2: Clase servletsaccesobd

Servlets con

acceso a

Bases de Datos

Page 3: Clase servletsaccesobd

Índice

Repaso de JDBC Repaso de Servlets

¿Qué es un Servlet? Estructura de un Servlet – Ciclo de vida

Servlets con acceso a Bases de Datos Ejemplo 1: Escribir en una Base de

Datos Ejemplo 2: Consultar una Base de

Datos

Page 4: Clase servletsaccesobd

JDBC

API de Java para ejecutar sentencias SQL JDBC posibilita básicamente tres cosas:

Establecer una conexión con una base de datos desde Java

Enviar sentencias SQL a través de dicha conexión

Procesar los resultados La JDBC 3.0 API comprende 2 paquetes:

java.sql javax.sql

Page 5: Clase servletsaccesobd

JDBC de forma esquemática

ResultSet

Statement

Connection

DriverManager

JDBC-ODBC Bridge

ODBC Driver

ODBC Database

Aplicación Cliente

Page 6: Clase servletsaccesobd

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

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);}

Utilización de JDBC 3.0 API

Page 7: Clase servletsaccesobd

Servlets Programas en Java que se ejecutan

en un servidor HTTP (servidor Web) Actúan como capa intermedia entre:

Petición proviniente de un Navegador Web u otro cliente HTTP

Bases de Datos o Aplicaciones en el servidor HTTP

Servidor Web

Servlet

BDexterna

BD

Aplicación

Page 8: Clase servletsaccesobd

Cuándo y por qué usar Servlets Muchas peticiones desde navegador se

satisfacen retornando documentos HTML estáticos, es decir, que están en ficheros

En ciertos casos, es necesario generar las páginas HTML para cada petición: Página Web basada en datos enviados por

el cliente Motores de búsqueda, confirmación de pedidos

Página Web derivada de datos que cambian con frecuencia Informe del tiempo o noticias de última hora

Página Web que usa información de bases de datos corporativas u otras fuentes del la parte del servidor Comercio electrónico: precios y disponibilidades

Page 9: Clase servletsaccesobd

Estructura de un HttpServletHttpServl

etMétodo init()

•Se ejecuta una sola vez al inicializar el Servlet

•Inicializar variables y operaciones costosas en tiempo de ejecución

Método destroy()

•Lo llama el servidor al “apagarse”

•Cerrar procesos en curso, liberar memoria, cerrar ficheros

Métodos doGet() o doPost()

•Recoger peticiones del usuario y ejecutar operaciones

•Mandar respuesta al usuario (en forma de HTML)

Otros métodos de usuario

Objeto HttpServletReque

st

Objeto HttpServletRespo

nse

Page 10: Clase servletsaccesobd

Servlets con acceso a Base de Datos Conexión a Bases de Datos

Tarea importante y frecuente de los Servlets Servlets

Funciones de capa intermedia en sistemas con arquitectura de tres capas

• Ventajas:– Nivel intermedio: control de operaciones

contra la Base de Datos

– Drivers JDBC no tienen que estar en el cliente

– Se puede tener constancia de lo que ha hecho el usuario en peticiones anteriores

– Sincronización de peticiones

Page 11: Clase servletsaccesobd

Estructura de un Servlet con acceso a DB

HttpServlet

Método init()

•Establecer conexión con la Base de Datos

Método destroy()

•Cerrar la conexión con la Base de Datos

Métodos doGet() o doPost()

•Interacción con la Base de Datos

Bien en el propio cuerpo de estos métodos

Bien mediante llamadas a otros métodos de usuario

Otros métodos de usuario: actualizarBaseDeDatos()...

Objeto Connection

Page 12: Clase servletsaccesobd

Ejemplo 1: Escribir en una Base de Datos

Base de Datos Access ServletOpinion2.mdb

Data Source Name (DSN) opinion

Página HTML: MiServlet2.html

Servlet ServletOpinion2.java ->

ServletOpinion2.class Arrancar Tomcat 5.5

Page 13: Clase servletsaccesobd

Ejemplo 2: Consultar una Base de Datos

Base de Datos Access Alumnos.mdb

Data Source Name (DSN) alumnos

Página HTML: Formulario2.html

Servlet ListaAlumnos.java ->

ListaAlumnos.class Arrancar Tomcat 5.5