JAVA: Servlets Diseño de servicios web © 2001-2003 María de los Santos Pérez Hernández

Slides:



Advertisements
Presentaciones similares
Java Enterprise Edition (Java EE)
Advertisements

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.
Características Generales y Entornos de Desarrollo
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.
Programación Interactiva Introducción a Java
APACHE.
ÍNDICE Introducción. Trabajar con Applets. Definición de Applet.
1 1 Biblioteca Novelas de Howard Phillips Lovecraft Azathoth y La Llamada de Cthulhu Clic para ver la información de este imagenClic para cerrar
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.
Indice Programacion cliente servidor Arquitectura Cliente-servidor
"java del lado del servidor" Servlet y JSP Java Server Pages.
Servlets.
Introducción a la arquitectura Web
Servlets.
Servlets Servlets.
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
EI, Profesor Ramón Castro Liceaga APLICACIONES DE JAVA CON PAGINAS WEB (Applets) UNIVERSIDAD LATINA (UNILA)
Java 2 Platform Enterprise Edition
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.
M.I. María Luisa González Ramírez Servlets y JSP.
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.
Servlets Roberto Moriyón. Servlets, I Objetos java, componentes web contenidas en un servidor (contenedor de servlets) que los reutiliza, que reciben.
Tecnologías para el desarrollo de aplicaciones Web
HTTP, CGI, Applets, Servlets y SOAP
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.
Introducción a la Programación. Lenguaje de Máquina.
Applets Programación Dirigida a Objetos 3º Ingeniería Informática Curso 2005/2006 Joaquín Derrac Rus José María de Córdoba Zea.
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.
JAVA: Servlets Diseño de aplicaciones web
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Comparación entre applets, CGI, PHP, ASP,
TEMA 6. Applets y servlets
JAVA: Applets Diseño de servicios web © María de los Santos PÉREZ HERNÁNDEZ.
“SERVLETS”. Paola Rojas Contreras Juan Villarroel Leiva José Miguel Perez V. Departamento de Electrónica.
Fernando Alonso Blázquez Nicolás Serrano Bárcena Servlets 8 de Abril de 2008.
Fernando Alonso Nicolás Serrano Servlets con acceso a Bases de Datos 21 de Abril de 2008.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
Thin Server CC52N Felipe A. Krauss B. Introducción nEnEnEnEnfoque Tradicional nEnEnEnEl nuevo Concepto nLnLnLnLa misión de los Servlet nLnLnLnLa misión.
Java Applets David Gil
1 Copyright © 2005 Miguel Ángel PECES DE LA ROSA Proyecto Fin de Carrera Ciclope Astro Autor: Miguel Ángel PECES DE LA ROSA Tutor: Francisco Manuel SÁNCHEZ.
Parameters passed by client One of the most important features to make the web an interactive environment is the passing of parameters from client so the.
      Protocolo de transferencia de Hipertexto, empleado para acceder a documentos de hipermedia  El protocolo nació en el CERN, como base.
Desarrollo con Servlets. Servlets: Introducción  Módulos que amplían los servidores orientados a petición/respuesta.  La respuesta en el lenguaje Java.
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Mario Osvaldo Bressano Servlets. Mario Osvaldo Bressano Arquitectura de 2 Capas.
Chat para Ciclope Astro Facultad de Informática Universidad Politécnica de Madrid SISTEMAS INFORMÁTICOS 2 de Julio de 2008 Hélène Doumenc
Servlets Servlets son módulos que extienden a servidores “java- enabled” orientados a request/response, como por ejemplo Servidores Web Un servlet puede.
Servlets Servlets son módulos que extienden a servidores “java-enabled” orientados a request/response, como por ejemplo Servidores Web Un servlet puede.
Servlets Servlets son módulos que extienden a servidores orientados a request/response, como por ejemplo Servidores Web “java-enabled”. Un servlet puede.
Aplicaciones Web de Servidor
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.
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.
Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris Servlets.
APACHE WEB SERVER El proyecto Apache Web Server es un desarrollo de software en colaboración, enfocado en crear una implementación de un servidor HTTP.
Chat para Ciclope Astro Facultad de Informática Universidad Politécnica de Madrid SISTEMAS INFORMÁTICOS 30 de Junio de 2008 Hélène Doumenc
 Módulos que amplían los servidores orientados a petición/respuesta.  La respuesta en el lenguaje Java a los CGIs (Common Gateway Interface) para construir.
Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.
CICLOPE WEATHER Monitorización de datos meteorológicos y gestión de alertas para un observatorio astronómico ● 22 de julio de 2009 UNIVERSIDAD POLITÉCNICA.
Ciclope Astro - Foro Facultad de Informática Universidad Politécnica de Madrid SISTEMAS INFORMÁTICOS 13 de Marzo de 2008 Álvaro PANTOJA CASERO
Trabajar con SERVLETS. Índice Qué son los Servlets Para qué sirven Cómo se utilizan Ejemplo Cómo probar un Servlet.
Filtros HTTP.  Características de las aplicaciones web: TODOS los recursos están expuestos al exterior.  Problema: Estamos repitiendo código en todos.
Servlets Servlets Son modulos que extienden las funcionalidades de un servidor “java-enabled” Normalmente generan código HTML dinámicamente, el cual se.
Transcripción de la presentación:

JAVA: Servlets Diseño de servicios web © María de los Santos Pérez Hernández

© María PÉREZ 2 Copyright (c) María de los Santos PÉREZ HERNÁNDEZ Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back- Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". A copy of the GNU Free Documentation License can be found in:

© María PÉREZ 3 Servlets n Programas que se ejecutan en los servidores. –Añaden funcionalidad a un servidor web, del mismo modo que los applets añaden funcionalidad a los navegadores. n Similares a los scripts CGI, salvo que ofrecen una independencia de la plataforma.  A diferencia de mecanismos propietarios (tales como la API de Netscape Server o módulos de Apache), son independientes del servidor y de la plataforma.

© María PÉREZ 4 Cuándo se suelen utilizar n La página web se basa en datos que proporciona el usuario. –Ejemplo: e-commerce sites. n Los datos cambian frecuentemente. –Ejemplo: Partes meteorológicos. n La página web utiliza información de BDs u otras fuentes. –Ejemplo: Aplicaciones comerciales.

© María PÉREZ 5 Applets cliente NAVEGADOR WEB MÁQUINA VIRTUAL JAVA El usuario pide un applet en java Llega un applet en java Arranca la máquina Virtual de java y Se ejecuta el applet servidor

© María PÉREZ 6 Servlets Base de datos Cliente Servidor

© María PÉREZ 7 Servlets. Requisitos n El servidor debe tener una máquina virtual Java. n El servidor debe soportar la API de los servlets Java. –JavaServer Web Development Kit (JSWDK). n Servidores capaces de ejecutar servlets: –Java Web Server –Netscape Fast Track y Enterprise –O’Reilly WebSite Professional –Lotus Domino Go WebServer –Novel IntraNetWare –IBM Internet Connection Server –Otros

© María PÉREZ 8 Ejecución de un servlet n Formas de iniciar la ejecución: –Introducir la dirección URL del servlet en un navegador web. –Llamar al servlet desde una página web. –Ejecutar un servlet llamándolo desde otro servlet.

© María PÉREZ 9 Desde un navegador web n let/nombre_servlet n Las llamadas a servlets pueden contener parámetros: – s/serv1?num1=3&num2=4

© María PÉREZ 10 Desde una página web n Un servlet también puede ser llamado desde el código de una página web, al igual que se llamaría a cualquier CGI. n Ejemplo: –

© María PÉREZ 11 Desde otro servlet n Se puede lanzar la ejecución de un servlet desde otro. n Pasos: –Conocer el nombre del servlet que queremos llamar. –Proporcionar acceso al objeto “Servlet” del servlet llamado. –Llamar al método público del servlet.

© María PÉREZ 12 Desde otro servlet public class servletCalling extends HttpServlet { public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {... Servlet servlet_get = (Servlet) getServletConfig().getServletContext().getServlet(“ser vletCalled”); String data_get = servlet_get.method1(data);... }

© María PÉREZ 13 Arquitectura de los servlets n Biblioteca ‘javax.servlet’ Servlets HttpServlet MiServlet

© María PÉREZ 14 Interacción con los clientes n Objeto ‘ServletRequest’: –Comunicación que fluye del cliente al servidor. n Objeto ‘ServletResponse’: –Encapsula la información enviada desde el servidor al cliente.

© María PÉREZ 15 Estructura de un Servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SomeServlet extends HttpServlet { // El servidor envía una página // web al cliente public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Utilizar request para leer // datos procedentes del // cliente (ej: cookies, // otros datos) // Utiliza response para // especificar la respuesta // (tipo de contenido, establecer // cookies,...) PrintWriter out = response.getWriter(); // Utilizar out para enviar el // contenido al navegador } // Análogamente, sobreescribir // doPost(). }

© María PÉREZ 16 Ejemplo Servlets: Hola Mundo import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HolaMundoSrvlt extends HttpServlet { // El servidor envía una página web al cliente public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out; String titulo=“Hola Mundo”; // Utiliza response para // especificar la respuesta response.setContentType (“text/html”); out = response.getWriter(); out.println(“ ”); out.println(titulo); out.println (“ ”); out.println(“ ”+titulo+ ”); out.println(“ ”); out.close(); }

© María PÉREZ 17 Ejemplo Servlets: Hola Mundo

© María PÉREZ 18 Obtención y envío de información n Obtención de datos del cliente: –getParameter() getParameterValues() getParameterNames() –getReader –getInputStream() n Envío de datos al cliente: –getWriter –getOutputStream

© María PÉREZ 19 Ejemplo: Lectura de parámetros import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ThreeParam extends HttpServlet { public void doGet( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out; String title="Leyendo 3 parámetros"; response.setContentType ("text/html"); out = response.getWriter(); out.println(" "); out.println(title); out.println(" "); out.println(" "+ title +" "); out.println(" "); out.println(" param1: "+ request.getParameter("param1")); out.println(" param2: "+ request.getParameter("param2")); out.println(" param3: "+ request.getParameter("param3")); out.println(" "); out.close(); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { doGet(request,response); }

© María PÉREZ 20 Ejemplo: Lectura de parámetros

© María PÉREZ 21 Ejemplo: Lectura de parámetros II import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class ShowParameters extends HttpServlet { public void doGet( HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException { PrintWriter out; String title="Leyendo todos los parámetros"; response.setContentType ("text/html"); out = response.getWriter(); out.println(" "); out.println(title); out.println(" ");

© María PÉREZ 22 Ejemplo: Lectura de parámetros II out.println(" "+ title +" "); out.println(" "); out.println(" Nombre de parámetro Valores de parámetro"); Enumeration nombresDeParam = request.getParameterNames(); while (nombresDeParam.hasMoreElements()){ String nombreParam = (String) nombresDeParam.nextElement(); out.println(" " + nombreParam); out.println(" "); String[] valoresDeParam= request.getParameterValues(nombreParam); if (valoresDeParam.length == 1) { String valorParam = valoresDeParam[0]; if (valorParam.length()== 0) out.print(" No existe valor "); else out.print(valorParam); } else { out.println(" "); for (int i=0; i<valoresDeParam.length; i++) { out.println(" " + valoresDeParam[i]); } out.println(" "); } out.println(" "); out.close(); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { doGet(request,response); }

© María PÉREZ 23 Ejemplo: Lectura de parámetros II

© María PÉREZ 24 Ejemplo: Uso de formulario Un ejemplo de formulario que utiliza POST Un ejemplo de formulario que utiliza POST Número Artículo: Cantidad: Precio Unidad: Nombre: Apellidos:

© María PÉREZ 25 Ejemplo: Uso de formulario Dirección: Tarjeta de crédito: Visa Master Card American Express Discover Número de tarjeta de crédito: Repetición del número de tarjeta de crédito:

© María PÉREZ 26 Ejemplo: Uso de formulario

© María PÉREZ 27 Ejemplo: Uso de formulario

© María PÉREZ 28 Ciclo de vida de un servlet Servidor Servlet Carga init() Servidor Servlet Manejo de peticiones Cliente service() Servidor Servlet Descarga destroy() doGet() doPost()

© María PÉREZ 29 Almacenamiento del estado de un cliente n Estado del cliente: –Situación en la que se encuentra un cliente en sucesivas peticiones al servidor. n Mecanismos: –Almacenamiento de sesiones en el servidor –“Cookies”

© María PÉREZ 30 Servlets vs CGI n Eficiencia –CGI inicia un nuevo proceso para cada petición HTTP. (Solución: FastCGI) –El servlet se ejecuta solamente la primera vez que es llamado. Permanece en memoria una vez cargado y puede compartir información entre varias llamadas de clientes. Uso de threads para las distintas peticiones. n Portabilidad n Modularidad n El uso de parámetros es más sencillo en el caso de los servlets