M.I. María Luisa González Ramírez Servlets y JSP.

Slides:



Advertisements
Presentaciones similares
Java Enterprise Edition (Java EE)
Advertisements

FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Sun Microsystems desarrolló, en 1991, el lenguaje de programación orientado a objetos que se conoce como Java. La intención de Sun era crear un lenguaje.
Curso de Java “Java para Web” Rogelio Ferreira Escutia.
Internet y tecnologías web
Fernando Alonso Blázquez Sesiones 06 de Mayo de 2004.
Fernando Alonso Blázquez Formularios en lenguaje HTML 26 de Febrero de 2004.
Acceso a Bases de Datos con Java
Fernando Alonso Blázquez Servlets con acceso a Bases de Datos 29 de Abril de 2004.
Servlets 22 de Abril de 2004 Fernando Alonso Blázquez.
CUPS Configuración y Uso de Paquetes de Software
Programación Orientada a Objeto 1
Servidores Web Capítulo 2.
Programación Interactiva Introducción a Java
Guillermo A. Díaz Sanhueza
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Servlets Servlets.
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
Curso de Java y Aplicaciones Web
UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS
Java 2 Platform Enterprise Edition
Francisco Moreno Bases de Datos II Universidad Nacional
Oskar GRUPO Jon Ander Alex Lander Jorge Jose Luis Diego.
PROGRAMACION ORIENTADA A OBJETOS II
Formularios en lenguaje HTML 7 de Abril de Índice Generalidades Definición en HTML Elementos Formas de envío: métodos GET y POST Recepción y tratamiento.
Sesión en Servlets 31 de Marzo de Índice ¿Por qué seguir la trayectoria de usuarios? Formas de seguir la trayectoria de usuarios –Cookies –Reescritura.
Tema 3 J2EE Java Database Connectivity Temas Selectos de Cómputo Grupo 912.
Borland User Group - Guatemala Desarrollo de Servlets con Borland JBuilder 2006 Mario Enríquez Open Consult Diciembre 2006.
JAVA. Introducción Que es java?  Código reusable  Multiplataforma.
Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.
1 Ingeniería del Software Ejercicios de Implementación  Caso de Uso Total Gasto (Junio 2003)  Caso de Uso Mejor Usuario (Septiembre 2003)  Caso de Uso.
Tecnologías para el desarrollo de aplicaciones Web
ARCHIVOS Y CONEXIÓN A BASE DE DATOS. FileInputStream: Clase que representa ficheros de texto accedidos en orden secuencial, byte a byte. FileWriter: Clase.
Servlets, JSP, JavaBEANS,JDBC
Una java servlet es un programa que se ejecuta en un servidor. Por lo general son aplicaciones Java que corren en un entorno de servidor web. Los Java.
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
INTRODUCCIÓN A LA PROGRAMACIÓN WEB
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Prof. José T. Cadenas. Aplicación Web La Internet y la Web hacen que sea fácil y atractivo poner toda la información en el cyberespacio, y la hace accesible.
Sistema de Gestión de Información Desarrollado por: Solange Ahumada K Bernardo Malet
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Generación de páginas en forma dinámica utilizando Apache Tomcat®. Expositores: Luis Ehlen Luis Báez Grupo 8 Programación de Sistemas Profesor: Agustín.
Servlets 18 de Marzo de Índice ¿Qué es un Servlet? ¿Cuándo y por qué usar Servlets? Estructura básica de un HttpServlet Servlet simple que genera.
Manejo de Base de Datos en Java Ing. Esp. Ricardo Cujar.
Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008.
“SERVLETS”. Paola Rojas Contreras Juan Villarroel Leiva José Miguel Perez V. Departamento de Electrónica.
Lenguajes de programación para la web Lenguaje html Lenguaje java script Es un lenguaje estático para el desarrollo de sitios web Ventajas: Sencillo que.
Fernando Alonso Nicolás Serrano Servlets con acceso a Bases de Datos 21 de Abril de 2008.
1 TEMA 8. Acceso a bases de datos Arquitectura de una aplicación que accede a una BD Arquitectura de una aplicación que accede a una BD Establecer la conexión.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
JDBC Java Database Connectivity CC52N - Computación para el trabajo grupal Profesor: Nélson Baloian Por: Edgard Pineda.
DESARROLLO DE APLICACIONES INALAMBRICAS USANDO JAVA Presentado por : Karlens Berra B. Francys J. Zambrano Ch. UCV.Facultad de Ciencias.Escuela de Computación.
Java Data Base Connectivity
Servlets 10 de Mayo de 2006.
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Los siguientes términos y acrónimos son un resumen de las tecnologías web actuales: ASP (Active Server Pages)  Páginas de servidor activas.  Tecnología.
Tecnologías de desarrollo software para la WWW Tecnologías de servidor.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Cristian Fonnegra Marin
Sun Microsystems. Los servlets son objetos que corren dentro del contexto de un contenedor de servlets y extienden su funcionalidad. También podrían correr.
SEGURIDAD EN SERVIDORES WEB (APACHE).
API JDBC Java Database Connectivity. Conceptos básicos API de Conectividad a Bases de Datos Emplea SQL Standard Ventaja: los programas desarrollados en.
JDBC. Definición Java Database Conectivity El acceso a bases de datos JDBC implica abrir una conexión ejecutar comandos SQL en un sentencia procesar los.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.
Base de datos (MySQL) Ing. Linda Masias Morales Introducción Base de datos.
Softlogia S.R.L. Formación de Recursos Humanos Java Server Faces Instructor: Martin R. Baspineiro.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

M.I. María Luisa González Ramírez Servlets y JSP

¿Qué son CGI? Common Gateway Interface. Tecnología de la WWW que permite a un cliente (navegador web) solicitar datos de un programa ejecutado en un servidor web. CGI especifica un estándar para transferir datos entre el cliente y el programa. Un script CGI se trata de una pequeña aplicación que se ejecuta en el servidor y proporciona acceso a una base de datos, intercambio en formularios html, gestión de claves de acceso, utilidades de búsqueda, etc. Se suelen desarrollar en lenguajes como PERL y VB.

Servlets Los Servlets son las respuesta de la tecnología Java a la programación CGI. Son programas que se ejecutan en un servidor Web y construyen páginas Web. Construir páginas Web al vuelo es útil (y comunmente usado) por un número de razones: La página Web está basada en datos enviados por el usuario. Por ejemplo, las páginas de resultados de los motores de búsqueda se generan de esta forma, y los programas que procesan pedidos desde sites de comercio electrónico también. Los datos cambian frecuentemente. Por ejemplo, un informe sobre el tiempo o páginas de cabeceras de noticias podrían construir la página dinámicamente, quizás devolviendo una página previamente construida y luego actualizándola. Las páginas Web que usan información desde bases de datos corporativas u otras fuentes. Por ejemplo, usaríamos esto para hacer una página Web en una tienda on-line que liste los precios actuales y el número de artículos en stock

Servlets Un Servlet es una clase Java usada para extender la capacidad de las aplicaciones basadas en el modelo cliente servidor y ejecución petición respuesta. Los Servlets son una potente herramienta para la generación de contenido dinámico en la Web. El Servlet Container es el componente encargado de la creación, acceso y destrucción de los Servlets, controla su ciclo de vida

Servlets Un Servlet es una clase Java que extiende de javax.servlet.http.HttpServlet y que sobreescribe los métodos doPost o doGet o ambos. La petición se representa por la clase HttpServletRequest. La respuesta se representa por la clase HttpServletResponse

JSP Java Server Pages (JSP) es una tecnología que nos permite mezclar HTML estático con HTML generado dinámicamente. Las páginas Web que están construidas con programas CGI son casi estáticas, con la parte dinámica limitada a muy pocas localizaciones.

JSP Un JSP, es una página dinámica de servidor Java. Es un archivo de texto compuesto de : 1. Cabecera con importaciones y parámetros. 2. Código cliente, normalmente HTML, XML y Javascript. 3. Código servidor Java, denominado Scriptlet y escrito entre los caracteres. 4. Tags: instrucciones en formato XML, asociadas a clases Java. Un JSP se transforma en un Servlet en tiempo de ejecución.

JSP La primera vez que se realiza una petición sobre un JSP el JSP Engine lo traduce en un Servlet, lo compila y lo procesa. En sucesivas peticiones simplemente se procesa a través del Servlet Container.

Servlet container: Tomcat Tomcat es la implementación de referencia de la especificación de Servlet y de JSP. Es totalmente gratuito y se puede descargar de con licencia Apache Software License. Existen distribuciones para todas las plataformas existentes. Cada versión de Tomcat lleva asociada una compatibilidad de las especificaciónes de Servlet y JSP

GlassFish GlassFish es un servidor de aplicaciones de software libre desarrollado por Sun Microsystems, compañía adquirida por Oracle Corporation, que implementa las tecnologías definidas en la plataforma Java EE y permite ejecutar aplicaciones que siguen esta especificación. Es gratuito y de código libre, se distribuye bajo un licenciamiento dual a través de la licencia CDDL y la GNU GPL. GlassFish tiene como base al servidor Sun Java System Application Server de Oracle Corporation, un derivado de Apache Tomcat

Estructura de la aplicación Es la raíz de la aplicación, es donde se sitúan los archivos accesibles a través de la petición HTTP GET 2.Web.xml: es el archivo de configuración de aplicaciones Web. En este archivo debemos registrar los servlets 3.Los subdirectorios dentro de src son los paquetes de aplicación. En este caso solo esta el paquete misServlets con una clase ServletBienvenida

Servlet especificación El API que proporciona Sun para la especificación de Servlets se encuentra publicada en La especificación se divide en dos paquetes: – javax.servlet – javax.servlet.http Clases más importantes, para el protocolo HTTP.

Implementación de un servlet Pasos para la implementación de un Servlet (Ejemplo): 1. Crear una clase Java que extienda de HttpServlet 2. Sobreescribir el método doPost o doGet o ambos. 3. Obtener la salida 4. Enviar el contenido dinámico 5. Compilar el Servlet 6. Mapear la clase a una URL en el archivoweb.xml 7. Ejecutarlo / Probarlo

Servlet HolaMundo

Servlet. Web.xml Es el archivo de configuración de aplicaciones Web. Registra los Servlets mediante el Tag XML. Asocia URL’s con los Servlets. Configura parámetros de seguridad. Debe estar siempre situado en el directorio WEB-INF de cada aplicación contenida en el Servlet Container

Web.xml

Ejemplo Servlet

Implementación JSP Pasos para la implementación de un JSP (Ejemplo): 1. Escribir el JSP 2. Ejecutarlo / Probarlo. JSP vs Servlet Generalmente el desarrollo de un JSP es mucho más rapido y cómodo que el de un Servlet. Pero hay casos en los cuales se deben implementar Servlets.

Probar el jsp Con situar el archivo JSP, en el directorio de la aplicación ya estará accesible a través del servidor. Desarrollando JSP no es necesario recargar las aplicaciones ni reiniciar el servidor para comprobar los cambios.

Resultado de la prueba con JSP

Ejemplo JSP

Manejo de Bases de datos JDBC Con servlets y jsp JDBC es un API (incluida tanto en las diferentes versiones de J2SE y J2EE) que proporciona conectividad con gestores de bases de datos. Es una “interfaz” de acceso a bases de datos, es decir SUN no proporciona una implementación, sino que son los fabricantes los que proporcionan drivers JDBC para que los programas Java tengan conectividad con sus bases de datos.

JDBC JCP java community process

API JDBC El api JDBC lo podemos encontrar en los paquetes : java.sql javax.sql

JDBC las clases más usadas Java.sql.Connection – Interfaz del paquete java.sql que representa la conexión con la base de datos Pasos para la conexión – Indicamos el driver de la base de datos que vamos a utilizar Class.forName(“driver”); – Mediante la clase DriverManager (Gestor de drivers para acceso a bases de datos) obtenemos la conexión pasando como parámetros la cadena de conexión especificada por el proveedor de base de datos, usuario y password. La cadena de conexión suele llevar incluido la maquina (host) y puerto (port) donde se encuentra la instancia de base de datos a la que accedemos Connection conn = DriverManager.getConnection

Ejemplos de conexión a diferentes BD

JDBC las clases más usadas Java.sql.Statement – El objeto utilizado para ejecutar las sentencias SQL. Debemos pedírselo al objeto Connection Pasos para ejecutar una sentencia SQL – Obtenemos el objeto Statement a través de la conexión Stament stmt = conn.createStatement(); – A través del objeto Statement podemos lanzar las sentencias SQL. Los métodos más utilizados para ejecutar SQL son : “executeUpdate”, “executeQuerie” o “execute”. int updates = stmt.executeUpdate(“update USUARIOS set TLF = ‘ ’ where COD = ‘1’ ”); – Cierre los objetos al finalizar su uso, es IMPORTANTE. stmt.close(); conn.close();

JDBC las clases más usadas Java.sql.Resultset – Es el objeto en el cual se almacena el resultado de las consultas, se obtiene a través del Statement Pasos para obtener los datos de una consulta – A través del Statement obtenido lanzamos consultas con el método executeQuery, este método nos devuelve un objeto Resultset con el resultado de la consulta. Resultset rs = stmt.executeQuery(“SELECT * FROM USUARIOS”);

JDBC las clases más usadas – Para obtener los datos debemos ejecutar siempre el metodo “next” del Resultset, – Este método devuelve true/false en función de la disponibilidad de datos. while(rs.next()) { System.out.println(rs.getString(“NOMBRE”)); System.out.println(rs.getString(“APELLIDO1”)); } rs.close(); //una vez procesada la información debemos // cerrar el resultset

JDBC Buenas prácticas de uso Centralizar el acceso a Bases de Datos en algún paquete de nuestra aplicación. Cerrar los objetos JDBC dentro de bloques “finally” Usar PreparedStatement en vez de Statement Especificar la lista de campos en las sentencias “SELECT” e “INSERT” Intentar utilizar SQL estándar siempre. Externalizar las sentencias SQL en archivos, no incrustarlas en el código fuente. Intentar no utilizar objetos propietarios (Ejemplo: OracleStatement …)

PreparedStatement prest; String sql = "SELECT * FROM movies WHERE year_made = ?"; prest = con.prepareStatement(sql); prest.setInt(1,2002); ResultSet rs1 = prest.executeQuery();

PreparedStatement psInsertar = null; psInsertar = conexion.prepareStatement( "insert into person values (null,?,?,?)"); psInsertar.setInt(1, 23); // La edad, el primer interrogante, es un entero. psInsertar.setString(2, "Pedro"); // El String nombre es el segundo interrogante psInsertar.setString(3, "Perez"); // Y el tercer interrogante, un String apellido. psInsertar.executeUpdate(); // Se ejecuta la inserción.