Clase servletsaccesobd
description
Transcript of Clase servletsaccesobd
REALIZADO POR :SIMEON HUAMANCHAO GOMEZ
Servlets con
acceso a
Bases de Datos
Í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
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
JDBC de forma esquemática
ResultSet
Statement
Connection
DriverManager
JDBC-ODBC Bridge
ODBC Driver
ODBC Database
Aplicación Cliente
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
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
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
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
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
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
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
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