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

Documentos relacionados
HTTP, CGI, Applets y Servlets

envía al browser. El browser despliega el archivo.

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

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

Implementando nuestro primer servlet

J2EE Java 2 Enterprise Edition

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

3 PROGRAMACIÓN WEB CON SERVLETS

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

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

Servidores Web (II) Contenidos

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

Ejemplos de Servlet y JSP Web Application Development

(de documentos 09-JSP-Intro.pdf y 10-JSP-Scripting- Elements.pdf) Página 296

Cada vez que la misma computadora solicita una página pg con un browser, junto con la solicitud el browser envía la cookie al servidor.

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

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

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

JAVA: Servlets. Diseño de aplicaciones web.

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"

PROGRAMACIÓN JEE CON SERVLETS

CAPÍTULO 14. DESARROLLO

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

Introducción a los servlets

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

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

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

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

Sistemas de Información

Tema 6: Arquitectura Web Multicapa

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

Sistemas de Información 12/13 Ejercicios Tecnologías Web

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

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

Tutorial Web Dinámica con Servlets y JSP Sesion 3

Introducción a las aplicaciones WEB

9. Servlets CAPÍTULO Clientes y Servidores

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

Manual ca011 CURSO JAVA, SERVER PAGES JSP Y SERVLETS

10. Servlets con acceso a bases de datos

Aplicaciones Cliente - Servidor

Quickstart-Webapps-Spring

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.

2015 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA

Curso Java Web (JSP's/Servlets)

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

Capítulo IV. Implementación.

Tema 5: Tecnologías Web

INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO

Tecnura ISSN: X Universidad Distrital Francisco José de Caldas Colombia

Contiene código HTML normal junto elementos especiales de JSP. Internamente, el servidor de aplicaciones las compilará a un servlet

Laboratorio de Aplicaciones Telemáticas Ingeniería Técnica de Telecomunicación Especialidad en Telemática

Curso de desarrollo web en entorno de servidor

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

Servlets. Seminario de Programacion Rafael Vázquez Pérez

Java 2 Enterprise Edition

Conexión de Mysql con NetBeans

JSP JDBC SALVADORES OLAIZOLA,

Programación dinámica con Java: Servlets Y JSP PROGRAMACIÓN DINÁMICA CON JAVA: SERVLETS Y JSP. moncho.mendez@uvigo.es

El Internet tuvo origen en los Estados Unidos de Norte América cuando en un proyecto

Aplicaciones web con Tomcat y MySQL en Linux

Tema 7. Java Servlets

DESARROLLO WEB EN ENTORNO SERVIDOR

JAVA WEB SERVICES. Realizado por: Diana Alfaro Complementado por: Carlos Sánchez Página 1

3.3 Caso de estudio: diseño e implementación de un servicio/cliente REST

Seguridad de la aplicación para servlets y JSP (página activas java)

Pasarela de pagos de la Administración Pública Vasca V2. Integración con Sistemas BackEnd de Administraciones

Introducción (1) En una aplicación web, especialmente en Internet, los cambios a la interfaz gráfica son muy frecuentes

Formato para prácticas de laboratorio

Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet.

3.3 Caso de estudio: diseño e

Curso de gráficos con Java y OpenFlashChart para aplicaciones web. Manual del alumno

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

4.1 Tutorial de Servlets y JSPs

Mario Muñoz Organero & Norberto Fernández * Departamento de Ingeniería Telemática

Fecha: 13 de Agosto de 2001 Relacionada con J2EE1.3 y Tomcat 4 Desde entonces ya ha aparecido la versión 2.4, emparejada con J2EE 1.

Desarrollo de Sistemas Software Basados en Servicios y Componentes

Objetivo de aprendizaje del tema

CAPITULO IV 4. Utilización de Servlets en AVCIDE

[CASI v.0109] Pág. 1

En en el netbeans (instalación J2EE) seleccionar la opción de Java Web al crear un nuevo proyecto y elegir WebApplication:

Ficha Técnica. Categoría. Contenido del Pack. Sinopsis. Programación. - 2 Manual Teórico - 1 Cuaderno de Ejercicios - 1 CDROM

APLICACIÓN WEB GENERADOR DE CURRÍCULOS EN DIFERENTES ESTILOS

EL CAMINO A LA CERTIFICACION CON SERVLETS Y JSP EL CAMINO A LA CERTIFICACION CON SERVLETS Y JSP SCWCD RAFAEL ALCOCER CALDERA.

Apéndice C. Clases del sistema.

Configuración de Tomcat para usar SSL

Elementos de Scripting Scriptlets Expresiones Declaraciones Inhabilitar los Elementos de Scripting Acciones...

Java EE JavaServer Pages (JSP)

PROGRAMACIÓN VISUAL ANALISTA PROGRAMADOR UNIVERSITARIO FAC DE INGENIERIA - PLAN 2008 AÑO 2010

Qué ofrece Autentia Real Business Solutions S.L?

Night Of Silence. Documentación. Proyecto: Juego Web Raúl Lobo Medinilla 2ºASI IES. Gonzalo Nazareno

JavaBeans y JavaServer Pages: Guía rápida. Manuel Urueña

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

SERVLETS CÁTEDRA DE PROGRAMACIÓN AVANZADA. Ing. Mario Bressano & Luciano Diamand ENVÍO 04

Tema 5: Servlets y JSP

4.4 Caso de Estudio: Diseño e Implementación de la Capa Web de MiniPortal

PARTE 1 CAPÍTULO 1. Agradecimientos xix Acercadelautor xx Introducción xxi. xxii. Servlets 2. I Y2.2 2

FSD Práctica Invocación Remota: JavaRMI. Estudio Previo. Información

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Transcripción:

Diseño Y Aplicaciones de Sistemas Distribuidos Servlets Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica de València

Qué es un servlet? Son una forma de realizar CGI s en Java (server side programming) Tiene capacidades para manipular peticiones y respuesta a formularios HTML No tienen una interfaz gráfica (a diferencia de los Applets) 108

Arquitectura del paquete javax.servlet Las interfaces Servlet y HttpServlet proporcionan métodos para gestionar el Servlet y manejar las comunicaciones con los clientes. Cuando un servlet acepta una petición de un cliente recibe dos objetos ServletRequest: encapsula la comunicación del cliente al servlet ServletResponse: encapsula la comunicación del servlet al cliente 109

Arquitectura del paquete javax.servlet La clase ServletRequest proporciona: Acceso a las variables CGI y a los parámetros definidos por la petición del cliente. Acceso al input stream ServletInputStream, a través del cual el servlet obtiene datos de clientes que utilizan protocolos de aplicación tales como los métodos POST y PUT de HTTP u otros más específicos. La clase ServletResponse proporciona métodos para: Contestar al cliente con un PrintWriter, estableciendo las variables CONTENT_LENGTH y CONTENT_TYPE. Contestar al client a través de un ServletOutputStream. 110

Un ejemplo de servlet public BookServlet extends HttpServlet { doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException {... // set content-type header before accessing the Writer response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); // then write the response out.println("<html>" + "<head><title>book Description</title></head>" +...); //Get the identifier of the book to display String bookid = request.getparameter("bookid"); if (bookid!= null) { // and the information about the book and print it... out.println("</body></html>"); out.close(); 111

Manejo de métodos GET y POST Sobrecargar los métodos doget y dopost de HttpServlet Aspectos de multithreading Los servlets atienden clientes concurrentemente. Para atenderlos secuencialmente: public class BookServlet extends HttpServlet implements SingleThreadModel Ciclo de vida de un servlet Algunos métodos de la clase HttpServlet son invocados automáticamente a lo largo de su ciclo de vida: init: cuando un servlet es cargado por el servidor. Se puede sobrecargar. destroy: cuando un servlet es descargado por el servidor. Se puede sobrecargar. service: cada vez que se procesa una petición de un cliente. Sólo se suele sobrecargar para poner un contador de clientes. 112

Ejemplo de cómo sobrecargar el método service public ShutdownExample extends HttpServlet { private int servicecounter = 0; //Access methods for servicecounter protected synchronized void enteringservicemethod() { servicecounter++; protected synchronized void leavingservicemethod() { servicecounter--; protected synchronized int numservices() { return servicecounter; protected void service(httpservletrequest req, HttpServletResponse resp) throws ServletException, IOException { enteringservicemethod(); try { super.service(req, resp); finally { leavingservicemethod(); 113

Información de estado Existen dos opciones básicas Sessions: mantenida por el servidor Cookies: mantenida por el cliente Sessions Sirven para establecer sesiones con un cliente web. Permiten; Cookies Crear una sesión. Almacenar/Obtener datos Invalidar una sesión. Permiten a un servidor enviar información codificada a un cliente para recuperarla más tarde sin alterar. 114

Sessions public public class class CatalogServlet extends HttpServlet { public public void void doget doget (HttpServletRequest request, HttpServletResponse response) throws throws ServletException, IOException { // // Get Get the the user's user's session session and and shopping cart cart HttpSession session session = request.getsession(true); ShoppingCart cart cart = (ShoppingCart) session.getvalue(session.getid()); Obtener el id de una sesión Obtener estado de una sesión // // If If the the user user has has no no cart, cart, create create a new new one one if if (cart (cart == == null) null) { cart cart = new new ShoppingCart(); Asociar un nuevo estado session.putvalue(session.getid(), cart); cart); a una sesión...... 115

Sessions public public void void doget doget (HttpServletRequest request, HttpServletResponse response) throws throws ServletException, IOException { HttpSession session session = request.getsession(true); ShoppingCart cart cart = (ShoppingCart)session.getValue(session.getId());...... // // Check Check for for pending adds adds to to the the shopping cart cart String String bookid bookid = request.getparameter("buy"); //If //If the the user user wants wants to to add add a book, book, add add it it and and print print the the result result String String booktoadd = request.getparameter("buy"); if if (booktoadd!=!= null) null) { BookDetails book book = database.getbookdetails(booktoadd); Añadir Información cart.add(booktoadd, book); book); estado out.println("<p><h3>" +...);...); 116

Sessions public class ReceiptServlet extends HttpServlet { public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { Invalidar sesión... scart = (ShoppingCart)session.getValue(session.getId());... // Clear out shopping cart by invalidating the session session.invalidate(); // set content type header before accessing the Writer response.setcontenttype("text/html"); out = response.getwriter();... 117

Cookies Crear un cookie (un cookie asociado a cada libro): Cookie getbook = new Cookie( Buy, bookid) Enviar un cookie: response.addcookie(getbook); Establecer atributos de un cookie: Comentarios: getbook.setcomment( El cliente... ) Tiempo validez: getbook.setmaxage(0) // 0 Lo borra Recuperar cookies: Cookie[] cookies = request.getcookies(); Consultar valor de un cookie: getbook.getvalue().equals(bookid) 118