Programación con JDBC (Java DataBase Connectivity ), Servlets y JSP (Java Server Pages)



Documentos relacionados
Web Tier en JAVA. Nicolás Troncoso Carrère. Valparaíso, ILI 258 Departamento de Informática Universidad Técnica Federico Santa María

Ejemplos de Servlet y JSP Web Application Development

NIVEL 16: ESTRUCTURAS N-ARIAS RECURSIVAS Aplicaciones Web, Html y Servlets. ISIS1206 Estructuras de Datos

Unidad IV: Servlets. Comprender la estructura básica de los Servlets Crear servlets sencillos Presentar el ciclo de vida de un Servlet.

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Figura 7-1 Enlace para instalar el servidor web Apache Jakarta Tomcat

SERVLETS. Aplicaciones Distribuidas

ISJu: Técnicas de Programación Cartilla Teórica-Práctica Instalación del "Eclipse IDE for Java EE Developers" y el servidor "Apache Tomcat"

INTRODUCCIÓN N A LAS APLICACIONES WEB Y TECNOLOGÍA A JAVA

Sistemas de Información 12/13 Servlets y JSPs (Java Server Pages)

Aplicaciones Cliente - Servidor

Framework 1. Web en Java. (solo aplicaciones en mantenimiento)

J2EE Java 2 Enterprise Edition

Un servlet es una clase java que implementa la Servlet interface. Un servlet corre dentro de un contexto denominado Servlet engine.

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

Java Servlets. Luis Fernando Llana Díaz. 17 de abril de Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Requisitos. Universidad ORT Arquitectura de Software

Capítulo III. Análisis y diseño.

javax.servlet.genericservlet javax.servlet.http.httpservlet MiServlet

Implementando nuestro primer servlet

Conexión de Mysql con NetBeans

Escribir código HTML en los servlets es tedioso. que hay que utilizar las instrucciones print, println, etc. Es decir, HTML está dentro de java.

HTTP, CGI, Applets y Servlets

Aplicaciones Web con Servlets y JSP (I)

Tema 3. Introducción a programas en el lado del servidor

Introducción a los servlets

PROGRAMACIÓN JEE CON SERVLETS

Base de datos relacional

Diseño Y Aplicaciones de Sistemas Distribuidos. Servlets. Joan Vila

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

Servidores Web (II) Contenidos

Práctica 2: Extensión de un servidor con servlets

Tema 6: Arquitectura Web Multicapa

Modelado de objetos con UML

SQL (Structured Query Language)

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Base de datos Procedimientos Almacenados y Funciones

DESARROLLO WEB EN ENTORNO SERVIDOR

I. DATOS DE IDENTIFICACIÓN. 1. Unidad Académica: _Facultad de Ciencias

Servlets. 1. Introducción Características fundamentales Ventajas fundamentales... 2

XPERTO EN DISEÑO DE PÁGINAS WEB

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010)

Introducción a las aplicaciones WEB

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

TEMARIO. 4-Servlet Definición de servlet El Web Container y el ciclo de vida de los servlets El ciclo request- response.

ARQUITECTURAS DE SOFTWARE

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

ADMINISTRACIÓN DE BASE DE DATOS

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

JSP Básico. Índice. 2 Traducción de los JSP a servlets Acciones Introducción a JSP... 2

CAPÍTULO 14. DESARROLLO

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

Patrones para persistencia (I) Ingeniería del Software II

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Java 2 Enterprise Edition

Capitulo 7: Tecnologías de la Capa Media, Lógica del Negocio.

Clase Java que implementa un modelo de programación peticiónrespuesta. Puede usarse para procesar cualquier tipo de petición

&' ' ' !,- (& ', Este tutorial trabaja sobre NetBeans 6.1 y MySQL 5.0. Crear un nuevo proyecto usando la ventana que se indica a continuación: !!

Especificación WebService para:

Arquitectura J2EE para aplicaciones web. Aplicaciones web con JSP. Arquitectura J2EE: Capa de Acceso Web. Arquitectura J2EE: Capa Cliente

Tema 1. Introducción a JAVA

2015 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA

Capitulo 5. Implementación del sistema MDM

JAVA EE 5. Arquitectura, conceptos y ejemplos.

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón

Tema 4: Servidores Web

UNIVERSIDAD DEL CARIBE UNICARIBE. Escuela de Informática. Programa de Asignatura

Práctica 4 PROGRAMACIÓN WEB CON SERVLETS Y JSP. 1. Introducción a JSP... 2

CAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET

Bases de datos relacionales y el modelo entidad-relación

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

Base de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS

JSP JDBC SALVADORES OLAIZOLA,

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

Generador GeneXus JAVA

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

APLICACIONES MÓVILES NATIVAS. Sesión 8: Arquitectura de las aplicaciones Android

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Curso de Modelo de Programación Web y Bases de Datos (UF2405) (80 horas)

Transcripción:

Programación con JDBC (Java DataBase Connectivity ), Servlets y JSP (Java Server Pages) Autor: José Vicente Núñez Zuleta (jose@eud.com, josevnz@yahoo.com)

Puntos a tratar Qué es JDBC? Arquitectura de un programa JDBC. SQL y el modelo relacional (Repaso). Ejemplo de aplicación. Qué son Servlets? Arquitectura de un Servlet. Métodos de un Servlet.

Puntos a tratar Hola mundo, versión Servlet. Qué es JSP? Servlets, JSP y JDBC. Ejemplo de aplicación.

Qué es JDBC? JDBC es el API de JAVA para conectarse a base de datos. Está basada en ODBC, que a su vez se basa en X/Open CLI. Existen múltiples puentes JDBC para cada manejador de base de datos conocido, al igual que puentes JDBC-ODBC. JDBC utiliza SQL (Structured Query Languaje) para comunicarse con la base de datos.

Arquitectura de JDBC Aplicación JAVA Manejador JDBC Comando SQL Two tier arquitecture Manejador 100% JAVA Base de Datos Cojunto de resultados

SQL y el modelo relacional El proceso de diseñar una base de datos implica identificar a los objetos (entidades) a ser modeladas. Las entidades no están aisladas tienen relaciones. Las relaciones tienen diferentes grados de cardinalidad (uno a uno, uno a muchos, muchos a muchos). Normalización implica eliminar redundancia del proceso de almacenamiento de la base de datos.

SQL y el modelo relacional Existen varias formas de normalización, la más común es la tercera forma normal. Al final de este proceso las entidades se convierten en tablas, los atributos en clases y los objetos utilizan un OID (Object ID) para identificarse de manera única en la base de datos. Las relaciones de herencia y de agregación se modelan por claves foráneas.

SQL y el modelo relacional SQL (Structured Query Languaje) es un lenguaje que provee acceso a las bases de datos basadas en el modelo relacional usando un lenguaje uniforme. SQL cuenta con dos tipos de instrucciones: DDL (Data Definition Languaje) y DML (Data Manipulation Languaje). Las DDL permiten crear tablas, vistas (create table, create view, drop table, drop view).. Las DML permite seleccionar, actualizar o eliminar datos de las tablas en la base de datos (select, update y delete respectivamente).

SQL y el modelo relacional Sentencia SELECT select <lista de columnas> from <lista de tablas> where <criterio de filtrado> Sentencia UPDATE update <nombre de la tabla> set <lista de columnas y valores> where <criterio de filtrado> Sentencia DELETE delete from <lista de tablas> where <criterio de filtrado>

SQL y el modelo relacional Tablas, atributos, relaciones, claves (externas y de tabla) Normalización (reducir redundancia) PruebaEnLinea nid LONG Pregunta nid LONG stitulo TEXT(50) sdescripcion TEXT(2000) dfechainicio DATE dfechafinal DATE stitulo TEXT(50) nid/1 LONG (FK) (IE) Pertenece Categoria nid LONG stitulo TEXT(50) sdescripción TEXT(50) npuntuación INT npuntuaciónacumulada LONG nid/1 LONG (FK) (IE) Respuesta nid LONG stitulo TEXT(50) npuntuación INT nid/1 LONG (FK) (IE)

SQL y el modelo relacional Ejemplos de programa con JDBC. Haga un programa que use la orden delete.

Qué son Servlets? Son un reemplazo seguro y portable a CGI. Es un modulo dinámico que sirve a peticiones en un servidor Web. Corre por completo en la máquina virtual de JAVA y corre del lado del servidor. No tiene problemas de compatibilidad ya que corre del lado del servidor. Tiene como competidores a CGI, Server Side Javascript, PHP3, Cold Fusion o ASP.

Qué son Servlets? Razones para usar servlets: Eficiencia: se puede usar código que sólo es ejecutado la primera vez que se corre el Servlet. Persistente: a diferencia de CGI, puede mantener estados entre peticiones; El manejo de sesiones implica el almacen de objetos complejos en memoria. Portable: por estar hechos en JAVA Robusto: por estar hechos en JAVA tienen acceso a todo el JDK. Extensible: por medio de los mecanismos de extensibilidad de orientación a objetos. Seguro: por correr del lado del servidor hereda el modelo de seguridad provisto por el servidor Web. Esto sin contar las extensiones de seguridad del lenguaje como el JCE.

Arquitectura de un Servlet <<Interface>> javax.servlet.servlet init() getservletconfig() service() getservletinfo() destroy() javax.servlet.servletconfig getinitparameter() getservletcontext() getinitparameternames() java.io.serializable javax.servlet.genericservlet getservletcontext() getinitparameter() getinitparameternames() log() getservletinfo() init() getservletconfig() service() destroy() javax.servlet.http.httpservlet dodelete() doget() dooptions() dopost() doput() dotrace() getlastmodified() service()

Arquitectura de un Servlet Cliente Servidor Web HttpServlet dodelete() doget() dooptions() dopost() doput() dotrace()

Métodos básicos de un Servlet Init(): es donde comienza el servlet. Aquí se colocá código que se desea sea ejecutado sólo cuando carga el servlet. Service(): maneja las peticiones del cliente. Destroy(): cuando el servlet es desmontado se invoca este metodo. Es usado para hacer limpieza. DoGet() y dopost(): son identicos excepto que uno atiende las peticiones GET y el otro las POST. Ambos métodos reciben objetos del tipo HttpServletResponse y HttpServletRequest. getservletinfo(): retorna información del servlet, como autor, copyrigth, etc.

Hola mundo, versión servlet import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class HolaMundo extends HttpServlet { // Lo que llega al metodo GET lo enviamos al POST public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { dopost(request,response); } // Procesamos los parametros public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { // Obtenemos los parametros que vienen de la forma String mensaje = request.getparameter("mensaje"); // Preparamos un PrintWriter para devolver una salida response.setcontenttype("text/html"); PrintWriter salida = response.getwriter(); salida.println("<html>"); salida.println("<head><title>hola mundo</title></head>"); salida.println("<head><title>hola mundo</title></head><body>"); if (mensaje!= null) { salida.println("<p>hola " + mensaje); } else { salida.println("<p>hola extraño"); } salida.println("</body></html>"); } }

Qué es JSP? Es una tecnología simple pero útil usada para generar HTML dinámico. Provee una manera de separar la presentación del contenido. El motor de JSP es sólo otro Servlet cuya extensión tiene correspondencia al tipo *.jsp Tiene definidas de manera implícita las siguientes variables: request, response, in y out (De los tipos HttpServletRequest, HttpServletResponse, BufferedReader, y PrintWriter respectivamente).

Qué es JSP? <html> <head><title>hola mundo</title></head> <body> <% String mensaje = request.getparameter( mensaje ); if (mensaje!= null) { salida.println("<p>hola " + mensaje); } else { salida.println("<p>hola extraño"); } %> </body> </html>

Servlets, JSP y JDBC

Ejemplo de aplicación Se desea una aplicación para guardar la tarjeta de presentación de un grupo de clientes en una base de datos.

Bibliografía Taylor Art. JDBC Developers Resource.. Informix Press. 1997. McCarty, Darian Cassady Luke. Java Distributed Objects. SAMS. 1999. Goodwill James. Developing Java Servlets. SAMS. 1999. Muller. J Robert. Database Design for Smarties, Using UML for Data Modeling. Morgan Kaufman. 1999. Godwill James. Developing Java Servlets. SAMS. 1999.