La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "M.I. María Luisa González Ramírez Servlets y JSP."— Transcripción de la presentación:

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

2 ¿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.

3 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

4 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

5 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

6 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.

7 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.

8 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.

9 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 http://jakarta.apache.org/tomcat/ 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

10 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

11 Estructura de la aplicación 1 2 3 1.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

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

13 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

14 Servlet HolaMundo

15 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

16 Web.xml

17 Ejemplo Servlet

18 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.

19 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.

20 Resultado de la prueba con JSP

21 Ejemplo JSP

22 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.

23 JDBC JCP java community process

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

25 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 ("jdbc:oracle:thin:@HOST:PORT:SID",“admin”,”pass”);

26 Ejemplos de conexión a diferentes BD

27 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 = ‘917658991’ where COD = ‘1’ ”); – Cierre los objetos al finalizar su uso, es IMPORTANTE. stmt.close(); conn.close();

28 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”);

29 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

30 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 …)

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

32 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.


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

Presentaciones similares


Anuncios Google