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



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

Ejemplos de Servlet y JSP Web Application Development

A continuación se confeccionara un formulario para el ingreso de un nombre y un botón para el envío del dato ingresado al servidor:

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

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"

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

Requisitos. Universidad ORT Arquitectura de Software

Formularios HTML. Desarrollo de Aplicaciones Web Departamento Informática y Sistemas Universidad de Murcia Curso 2013/2014

CapÍtulo 3: Manejo de Forms.

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

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

CAPÍTULO 14. DESARROLLO

Los formularios irán delimitados por las etiquetas <FORM> y </FORM>, la cual tiene dos parámetros:

2- Formularios y JavaScript Course: Developing web- based applica=ons

Tomar información por pantalla con JavaScript

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.

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

Bases de Datos. Marta Elena Zorrilla Pantaleón. Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN

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

Unidad Didáctica 2 GENERACIÓN DE DOCUMENTOS WEB CON GUIONES DE SERVIDOR

Escribiendo el HTML. Un formulario se declara entre estos dos tags:

Conexión de Mysql con NetBeans

J2EE Java 2 Enterprise Edition

Toda base de datos relacional se basa en dos objetos

Desarrollo de sitios web con PHP y MySQL

Formularios. La mayoría de los elementos de entrada son visuales y pueden interactuar con el usuario.

Curso PHP Módulo 1 R-Luis

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

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

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.

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

PRACTICA 1 PHP HOLA MUNDO. El comando de PHP para imprimir dentro de la página se llama echo. Nuestro programa "Hola Mundo" será entonces:

IMAP en Outlook Express

MANUAL DE FORMULARIOS EN HOSTING

Tutorial 4. Aplicaciones Web con NetBeans 5.0

MANUAL DE USO DE CORREO ELECTRÓNICO, CALENDARIO Y CONTACTOS

Comisión Nacional de Bancos y Seguros

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Práctica 4: Java Remote Method Invocation (RMI)

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

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

INSTITUTO POLITÉCNICO NACIONAL WEB APPLICATION DEVELOPMENT. CIFUENTES ALVAREZ ALEJANDRO SIGFRIDO 3cm3 PROYECTO TERCER PARCIAL MI HOTMAIL CON JOOMLA

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

Capitulo 5. Implementación del sistema MDM

Aplicaciones Cliente - Servidor

Implementación CAPÍTULO 4

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

4. CONTENIDO Cómo Añadir Contactos a tu Webmail

ENTORNO DE DESARROLLO MICROSOFT.NET 2010

MANUAL DE USUARIO PLAN GENÉRICO DE AUTOCONTROL EN HOSTELERÍA ASOCIACIÓN DE EMPRESARIOS DE HOSTELERÍA DE GIPUZKOA 1

Cómo acceder a Google Drive? Tiene más funcionalidades una cuenta de Google?

/05/2009

HTML, PHP y bases de datos

efactura Online La fibra no tiene competencia

Dossier de prácticas

Capitulo VI. Conclusiones.

Guía rápida de la Oficina Virtual Área Web y Administración Electrónica

Pantalla inicial. Primera vez. Manual sobre el uso de la aplicación: Admisión en Línea

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

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Configuración servidor Tomcat

Formato para prácticas de laboratorio

MEJORAR EL RENDIMIENTO DEL EXPLORADOR DE INTERNET

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

APRENDE A CREAR UNA PÁGINA WEB CON HTML

EXTENSIÓN DE UML PARA APLICACIONES WEB

Manual de NVU Capítulo 5: Las hojas de estilo

HTTP, CGI, Applets y Servlets

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

GUÍA PARA INICIAR UN TRÁMITE DESDE LA OFICINA VIRTUAL

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

Bootstrap: Introducción práctico en el Diseño Web

3 PROGRAMACIÓN WEB CON SERVLETS

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder

Estructuras de datos: Proyecto 2

MANUAL DE LA APLICACIÓN HELP DESK

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

WALMAR CONTROL EN RUTA MANUAL DE USUARIO ADMINISTRACION EMANAGER 6

Mi correo con OUTLOOK

Monitor de rendimiento

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

Novedades PhotoGestion 5

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

Instalar y configurar W3 Total Cache

Realizar Transferencias

Curso de PHP con MySQL Gratis

1. Introducción. 1.1 Ejercicio 1: Estación Meteorológica (4.0 pts.) Ejercicio 2: Gestión Académica: Alumnos (5.0 pts.)...

MANUAL DE USUARIO MODULO VETERINARIA

Base de datos en la Enseñanza. Open Office

Práctica 6 - Página Web

Manual CMS Mobincube

DESCARGA DE CARPETAS DE MENSAJES DE CORREO DESDE EL WEBMAIL A PC S LOCALES

Creación y administración de grupos de dominio

ESTRUCTURA DE LOS SITIOS DE CATEDRAS

Programación Orientada a Objetos en JAVA

Comisión Nacional de Bancos y Seguros

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Curso de JavaServer Faces

Manual básico de Outlook Express

Cómo crear un libro en Moodle?

Transcripción:

Tecnología de Programación Clase 22 Diego C. Martínez Departamento de Ciencias e Ing geniería de la Computación Universidad Nacional del Sur

Componentes Web J2EE presenta los componentes Web (web components): servlets y Java Server Pages. Los servlets son clases en Java que procesan pedidos (requests) y construyen respuestas a esos pedidos. Las páginas JSP son documentos de texto que se ejecutan como servlets pero permiten una aprox imación más natural para presentar contenido estático. Veamos algunos ejemplos prácticos de cada uno...

Calculadora (I) Pensemos una calculadora web simple (muy simple). Puede sumar, restar, multiplicar y dividir dos números. La página principal permite ingresar dos números y seleccionar la operación deseada. El servidor realiza la operación e imprime el resultado. (1) Pedido de la página (2) Devuelve página con formulario Cliente (1) Envío de datos (operandos y operación) (1) Envío de resultado Servidor

Calculadora (I) index.html Archivo HTML con el formulario Servidor Calc.class Recibe los datos del cliente y devuelve el resultado Primero pedimos la página index.html, que contiene el formulario a completar (campos de texto, listas desplegables, etc) Cómo le pasamos los datos al servlet Calc??

Formularios <form action="unrecurso" method= unmetodo >... </form> El atributo action indica al browser que se contacte con el recurso mencionado y le envíe los datos comp rendidos en el formulario, utilizando el método indicado. Existen otros atributos como el target t, la codificacion (enctype) olos caracteres aceptables (accept-charset), menos comunes dependiendo de la aplicación. El contenido del formulario es el habitual en las interfaces gráficas: campos de texto, listas desplegables, botones, etc. Cada elemento tiene un nombre, y tendrá un valor ingresado por el usuario. Luego ese dato estará disponible para quien lo procese.

Formularios Componentes de un formulario: <input type="text" name="user"> <input type="password" name="password"> <input type="checkbox" name="vehicle" value="bike" /> <input type="radio" checked="checked" name="sex" value="male"> <input type="radio" name="sex" value="female"> <select name="equipo"> <option value="river">river</option> <option value="boca">boca</optio on> <option value="independiente">independiente</option> <option value="sanlorenzo">san Lorenzo</option> </select> <textarea rows="10" cols="30"> Esto está escrito en el area de texto. </textarea> <input type="button" value="hello world!"> <input type="submit" value="enviar"> <input type="reset" value="limpiar"> Todos tienen atributos, algunos requeridos, otros opcionales.

Formulario de la calculadora Para la calculadora web necesitamos: dos campos de texto para los operandos. un selector para el operador. Direccion del servlet <form method="post" action=" "webcalc"> <input type="text" name="operando1" size="4"> <select name="operacion"> <option value= ="+">+</option> <option value= ="-">-</option> <option value= ="*">*</option> <option value= ="/">/</option> </select> <input type="text" name="operando2" size="4"> <input type="submit" value="="> </form>

El servlet Calc Cuando completemos los datos, el nav vegador los enviará a la dirección indicada. En nuestro caso, tendremos un servlet public class Calc extends HttpServlet { protected void dopost( { en esa dirección. HttpServletRequest req, HttpServletResponse res ) throws ServletException, IOException // Recuperar los datos de req. // Procesarlos // Utilizar el writer de res para mostrar el resultado Recuperará los datos del objeto HttpR Request, los procesará, y mostrará la información usando el objeto HttpResponse.

El servlet Calc public class Calc extends HttpSe ervlet { protected void dopost( { HttpServletRequest req, HttpServletResponse res ) throws ServletException, ti IOException // Recuperar los datos de req. // Procesarlos // Utilizar el writer de res para mostrar el resultado

El servlet Calc public class Calc extends HttpSe ervlet { protected void dopost( { HttpServletRequest req, HttpServletResponse res ) throws ServletException, ti IOException String oper1=req.getparameter("operando1"); String oper2=req.getparamete req.getparameter("operando2"); char op=req.getparameter("operacion").charat(0) ; int op1 = new Integer(oper1) ).intvalue(); int op2 = new Integer(oper2) ).intvalue(); // Procesarlos // Utilizar el writer de res para mostrar el resultado

El servlet Calc public class Calc extends HttpSe ervlet { protected void dopost( { HttpServletRequest req, HttpServletResponse res ) throws ServletException, ti IOException String oper1=req.getparameter("operando1"); String oper2=req.getparamete req.getparameter("operando2"); char op=req.getparameter("operacion").charat(0) ; int op1 = new Integer(oper1) ).intvalue(); int op2 = new Integer(oper2) ).intvalue(); switch(op){ case '+':resultado = op1 + op2; break; case '-':resultado = op p1 - op2; break;... // Utilizar el writer de res para mostrar el resultado

El servlet Calc public class Calc extends HttpSe ervlet { protected void dopost( { HttpServletRequest req, HttpServletResponse res ) throws ServletException, ti IOException String oper1=req.getparameter("operando1"); String oper2=req.getparamete req.getparameter("operando2"); char op=req.getparameter("operacion").charat(0) ; int op1 = new Integer(oper1) ).intvalue(); int op2 = new Integer(oper2) ).intvalue(); switch(op){ case '+':resultado = op1 + op2; break; case '-':resultado = op p1 - op2; break;... res.setcontenttype("text/htm ml"); PrintWriter out = res.getwriter(); out.println("<html>...</html>");...

Servlets y sesiones Cuando desde un servlet queremos ma antener datos para un mismo cliente entre pedidos (requests) podemos utilizar variables de sesión. Las variables de sesión son variables que el servidor recordará que pertenecen a algún cliente en particular, y por lo tanto mantendrá una copia separada para cada cliente. Se mantienen agrupadas en un objeto de tipo HttpSession HttpSession session = req.getsession(true); Podemos almacenar valores en ese objeto, recuperarlos después, eliminarlos, etc. Algunas operaciones: session.isnew(); session.setattribute(string nombre, Object valor); session.getattribute(string nombre); session.invalidate();

El servlet Calc version 2.0 Vamos a agregarle mayor funcionalidad d al servlet Calc. Queremos que además del resultado, nos liste todas las operaciones realizadas anteriormente. Para eso debemos recordar entre requests los datos anteriores, por lo que usaremos el objeto sesión (HttpSession). Para simplificar, mantendremos el historial de operaciones como un string al que le iremos concatenando las nuevas operaciones. La única complicación adicional es tener en cuenta si la sesión del cliente es nueva o no...... si la sesión es nueva, guardamos un string vacío llamado historial... si la sesión no es nueva, enton nces recuperamos historial de la sesión, lo imprimimos, concatena ca amos la última operación calculada cu ada y volvemos a guardarlo en la sesión

CalcHistory.class public class CalcHistory extends HttpServlet { protected void dopost( HttpServletRequest req, HttpServletResponse res ) thro ows ServletException, IOException { // recuperar datos del request // realizar la operación solicitada HttpSession session = req.getsession(); String hist; if (session.isnew()){ hist = new String( (); session.setattribute("historial",hist); else { hist =(String)session.g getattribute("historial");... res.setcontenttype("text/html"); PrintWriter out = res.getwriter(); out.println("hist");... hist = hist + "<br>" + op1 + op + op2 + "=" + resultado;...

CalcHistory.class Además, imprimiremos nuevamente el realizar más operaciones... formulario original para poder index.html index.html tiene un formulario CalcHistory.class CalcHistory.class genera un formulario para poder seguir haciendo operaciones Incluso no es necesario el index.html, simplificar el inicio de la calculadora. pero lo mantendremos para