Laboratorio de Aplicaciones Telemáticas



Documentos relacionados
Aplicaciones Web (Curso 2015/2016)

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

Aplicaciones Web con Servlets y JSP (II)

Aplicaciones Web con Servlets y JSP (II)

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

apa de presentación: JSP Copyright Universidad de Alicante JSP básico 1 Capa de presentación: JSP Sesión 1: JSP Básico

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

Elementos sintácticos de una JSP.

Curso Java Web (JSP's/Servlets)

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

Agosto. Un primer JSP. Guía rápida. [ h t t p : / / w w w. o p e n b o x e r m b. c o m / j a v a. p h p ]

Formato para prácticas de laboratorio

Arquitectura J2EE para aplicaciones web. Aplicaciones web con JSP. Arquitectura J2EE: Capa de Acceso Web. Arquitectura J2EE: Capa Cliente

JSP (I) Aplicaciones Distribuidas

07 Java EE Tarea 7. Laboratorio de proyectos de tecnologías de la información III Prof. Emmanuel Oropeza Gonzalez

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

Formatos para prácticas de laboratorio

Universidad Tecnológica del Valle del Mezquital. Desarrollo de Aplicaciones Web. Manual JSP

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

Curso de JavaServer Faces

Java EE JavaServer Pages (JSP)

Constructores y Destructores

Java Inicial (20 horas)

Programación Orientada a Objetos en Java

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

Curso Desarrollo Java Web con JSP, Servlets y el MVC

Separemos la presentación n del contenido Mis amigos los servlets, JavaBeans,.. Java Server Pages

Programación Orientada a Objetos con Java

Implementación CAPÍTULO 4

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

Programación orientada a objetos

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

Ejemplos de Servlet y JSP Web Application Development

Introducción a la programación orientada a objetos

Requisitos. Universidad ORT Arquitectura de Software

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP

Librería Estándar de Etiquetas JSP (JSTL JSP Standard Tag Library)

aplicaciones web: ASP, CFM, JSP y PHP

Objetos y Clases en Java. ELO 329: Diseño y Programación Orientados a Objetos

FUNCIONAMIENTO: FUNCIONALIDAD

4. DESARROLLO WEB CON JAVA JSP & SERVLETS

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

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Práctica 2 Gráficos Vectoriales con SVG (versión )

EXTENSIÓN DE UML PARA APLICACIONES WEB

FRAMEWORK SPRING EN UNA APLICACIÓN WEB

Prof. Dr. Paul Bustamante

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

8. Sentencia return y métodos

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.

Práctica sobre compartición de instancias remotas.

Universidad ORT - Arquitectura de Software. Requisitos

Configuración servidor Tomcat

Introducción al lenguaje Java

Oracle 12c DISEÑO Y PROGRAMACIÓN

Ingeniería del Software Arquitectura Física en 3 niveles

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

Introducción a PHP. * No es necesario declarar previamente las variables.

JSP(JAVA SERVER PAGES)

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Modulo 1 El lenguaje Java

ATLAS MANUAL DE INTEGRACIÓN Cliente del Servicio de SMS

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

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Programación Avanzada Ingeniería Civil en Computación

ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS

Computación III. Objetivo de aprendizaje del tema

Curso 2006/2007 Estructura de Datos y de la Información I. Informática, I. T. Informática de Gestión y de Sistemas PRÁCTICA 2

1. Manejo de memoria estática 2. Manejo de memoria dinámica

15. Parámetros o argumentos

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Diplomado Java Web Programming with Servlets, JSP, JSF & Ajax

Técnico Superior en Programación con Java SE Standard Edition

Curso de Java POO: Programación orientada a objetos

Tema 1. Introducción a JAVA

Uso de excepciones en Java

API de java. ( Guía de alumno Laboratorio 9. Recursos disponibles en moodle para este día.

Manual del Protocolo XML-RPC de Mensajería Negocios

Modo básico de funcionamiento del módulo Velneo vmodapache V7

XPERTO EN DISEÑO DE PÁGINAS WEB

El Concepto De Objeto y Clase

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

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

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

1. El entorno de desarrollo Eclipse

Capitulo VI. Conclusiones.

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Introducción a aplicaciones Web. Laboratorio de Programación Lorena Castañeda Bueno

Introducción al lenguaje Java Práctica Editor de Línea

Transcripción:

Java Server Pages (JSP) Laboratorio de plicaciones Telemáticas Jesús rias Fisteus jaf@it.uc3m.es Curso 2007/2008 Edited with emacs + LT E X+ prosper Universidad Carlos de adrid V E S E Java Server Pages (JSP) p. 1

ntroducción Edited with emacs + LT E X+ prosper Un servlet no resulta adecuado para presentación (escribir directamente la salida HTL) porque el código HTL está entremezclado dentro del código Java ncómodo cambiar el código HTL. No facilita la división de tareas entre diseñadores de HTL y programadores. lternativa escribir directamente el código HTL con poco código Java incrustado. V E S E Java Server Pages (JSP) p. 2

ntroducción Edited with emacs + LT E X+ prosper Una página JSP es una página (X)HTL que incorpora ciertos elementos dinámicos etiquetas especiales y pequeños fragmentos de código. El código HTL aparece a la salida sin modificaciones. Los elementos dinámicos se evalúan o ejecutan en el servidor en el momento de construcción de la respuesta. V E S E Java Server Pages (JSP) p. 3

JSP como servlet unque no es estrictamente obligatorio, una página JSP se suele transformar en el código fuente de un servlet, que después se compila y ejecuta. Edited with emacs + LT E X+ prosper V E S E Java Server Pages (JSP) p. 4

JSP ejemplo <%@ page language= java contenttype= text/html;charset=iso-8859-1 %> <%@ page import= java.util.ate %> <html> <head> <title>hola undo</title> </head> <body> <p>hola, esto es una página JSP.</p> <p>la hora del servidor es <%= new ate() %></p> </body> </html> Edited with emacs + LT E X+ prosper V E S E Java Server Pages (JSP) p. 5

JSP ejemplo transformado en un servlet Edited with emacs + LT E X+ prosper (...) out.write("<html>\n "); out.write(" <head>\n "); out.write(" <title>hola undo</title>\n "); out.write(" </head>\n "); out.write(" <body>\n <p>hola, esto es una página JSP.</p>\n "); out.write(" <p>la hora del servidor es "); out.print( new ate() ); out.write("</p>\n "); out.write(" </body>\n"); out.write("</html>\n"); (..) V E S E Java Server Pages (JSP) p. 6

JSP ejemplo documento recibido por el cliente <html> <head> <title>hola undo</title> </head> <body> <p>hola, esto es una página JSP.</p> <p>la hora del servidor es Wed Nov 06 132534 CET 2002</p> </body> </html> Edited with emacs + LT E X+ prosper V E S E Java Server Pages (JSP) p. 7

Comentarios en JSP Los comentarios JSP no se envían al cliente, al contrario que los comentarios HTL. <%!-- Esto es un comentario JSP --%> Edited with emacs + LT E X+ prosper V E S E Java Server Pages (JSP) p. 8

irectivas JSP page V E S Edited with emacs + LT E X+ prosper E Todas las páginas JSP deberían incluirla. tributos habituales language lenguaje de programación (java por defecto). contenttype tipo de contenido de la página (text/html por defecto). iserrorpage indica si es una página de error (false por defecto). errorpage página a la que dirigirse si ocurre una excepción procesando esta página. <%@ page language= java contenttype= text/html iserrorpage= false errorpage= error.jsp %> Java Server Pages (JSP) p. 9

Otras directivas JSP include permite incluir directamente el código de otro fichero en el punto en que aparezca la directiva. import permite importar clases Java utilizadas en la página JSP. Edited with emacs + LT E X+ prosper <%@ include file= footer.html %> <%@ page import= java.util.* %> V E S E Java Server Pages (JSP) p. 10

Scriptlets Edited with emacs + LT E X+ prosper Permiten incrustar código escrito en otro lenguaje de programación (normalmente Java) <%= expresión %> evalúa la expresión y muestra el resultado en la página. <% sentencias %> ejecuta las sentencias, sin mostrar nada en la página. <%! declaraciones %> declaraciones de variables. <%!-- los siguientes scriptlets son equivalentes --%> <%= user.getname() %> <% out.println(user.getname()); %> V E S E Java Server Pages (JSP) p. 11

Scriptlets (aviso) Edited with emacs + LT E X+ prosper Con <%! declaraciones %> se declaran atributos y métodos de instancia Todas las peticiones a la página JSP comparten la misma instancia del servlet asociado, por lo que también comparten la misma copia de los atributos de instancia. Por tanto, no se debe declarar variables locales de la página con esta directiva, sino con <% String text = new String(); %> V E S E Java Server Pages (JSP) p. 12

Scriptlets ejemplo Edited with emacs + LT E X+ prosper <table> <tr><th>product</th><th>price</th></tr> <% for (int i=0; i<catalog.length; i++ ) { ProductnfoBean product = catalog[i]; %> <tr> <td> <a href= <%= response.encodeul("view?id=" + product.getd()) %> > <%= product.getshortname() %> </a> </td> <td><%= product.getprice() %> Euros</td> </tr> <% } %> </table> V E S E Java Server Pages (JSP) p. 13

Variables implícitas JSP proporciona automáticamente una serie de variables adecuadamente declaradas e inicializadas, utilizables por el programador Edited with emacs + LT E X+ prosper javax.servlet.servletcontext application javax.servlet.servletconfig config javax.servlet.jsp.jspwriter out javax.servlet.jsp.pagecontext pagecontext javax.servlet.http.httpservletequest request javax.servlet.http.httpservletesponse response javax.servlet.http.httpsession session <%!-- Sólo en páginas marcadas con iserrorpage --%> java.lang.throwable exception V E S E Java Server Pages (JSP) p. 14

cciones jspinclude La acción jspinclude invoca al servlet o JSP dado e incluye en resultado de su ejecución en el punto actual del documento JSP desde el cual se incluya. El control retorna finalmente a la página inicial. Opcionalmente, se pueden pasar parámetros. Edited with emacs + LT E X+ prosper <jspinclude page= header.jsp > <jspparam name= title value= Welcome /> </jspinclude> V E S E Java Server Pages (JSP) p. 15

cciones jspforward La acción jspforward invoca al servlet o JSP dado e incluye en resultado de su ejecución en el punto actual del documento JSP desde el cual se incluya, sin que retorne el control a la página inicial. Opcionalmente, se pueden pasar parámetros. Edited with emacs + LT E X+ prosper <jspforward page= list.jsp > <jspparam name= order value= date /> </jspforward> V E S E Java Server Pages (JSP) p. 16

Java Beans Edited with emacs + LT E X+ prosper Un Java Bean es una clase Java que cumple el siguiente convenio Contiene propiedades (normalmente atributos de instancia privados). El acceso a las propiedades se realiza mediante métodos de acceso get, set e is. Tiene siempre un constructor sin argumentos (aunque podría tener más constructores). V E S E Java Server Pages (JSP) p. 17

Java Beans ejemplo public class UsernfoBean implements java.io.serializable { private String firstname; private boolean registered; Edited with emacs + LT E X+ prosper } public String getfirstname() { return firstname; } public void setfirstname(string firstname) { this.firstname = firstname; } public boolean isegistered() { return registered; } public void setegistered(boolean registered) { this.registered = registered; } V E S E Java Server Pages (JSP) p. 18

Java Beans en JSP V E S Edited with emacs + LT E X+ prosper E JSP proporciona instrucciones especiales para trabajar más cómodamente con Java Beans. La acción jspusebean Si el bean aún no existe en el contexto eclara, crea e inicializa el bean. Crea una referencia al bean con el nombre dado por id. Si el bean ya existe en el contexto Obtiene una referencia al mismo con el nombre dado por id. <jspusebean id= user class= foo.usernfobean scope= session > <jspsetproperty name= user property= name value= Pepe /> </jspusebean> Java Server Pages (JSP) p. 19

Java Beans en JSP contextos () Edited with emacs + LT E X+ prosper Un bean en JSP se puede almacenar en uno de los siguientes contextos page asociado a la página JSP y a una petición HTTP concreta, desaparece al finalizar el procesado de la página. request asociado a una petición HTTP concreta, compartida entre todos los JSPs y servlets que atiendan dicha petición, desaparece al finalizar el procesado de la petición. V E S E Java Server Pages (JSP) p. 20

Java Beans en JSP contextos () Edited with emacs + LT E X+ prosper... session asociado a la sesión, compartida por todos los JSPs y servlets para todas las peticiones de una misma sesión, desaparece al finalizar la sesión. application asociado al contexto de la aplicación Web, compartido por todos los servlets y JSPs de la aplicación en todas las peticiones. V E S E Java Server Pages (JSP) p. 21

La acción jspgetproperty Se evalúa al valor de una propiedad de un bean. <jspgetproperty name= user property= fullname /> Edited with emacs + LT E X+ prosper V E S E Java Server Pages (JSP) p. 22

La acción jspsetproperty Establece el valor de una propiedad de un bean. Convierte, si es necesario, el valor de la propiedad desde una cadena de texto al tipo de datos correspondiente. Proporciona un atajo para establecer valores de propiedades a partir de los parámetros de la petición, si ambos tienen el mismo nombre. Edited with emacs + LT E X+ prosper <jspsetproperty name= user property= firstname value= <%= request.getparameter("firstname") %> /> <%!-- si firstname es un parámetro de la petición --%> <jspsetproperty name= user property= firstname /> <%!-- todos los parámetros de la petición cuyo nombre coincida con propiedades --%> <jspsetproperty name= user property= * /> V E S E Java Server Pages (JSP) p. 23

Java Server Pages Tag Libraries Edited with emacs + LT E X+ prosper Permiten declarar nuevas marcas JSP (tags) cuyo código Java se programa en clases de implementación de cada tag Permite reducir el código Java incrustado en páginas. Útil para acciones utilizadas a menudo (p.e. acceso a bases de datos). No las veremos en esta asignatura. V E S E Java Server Pages (JSP) p. 24

lgunas referencias Edited with emacs + LT E X+ prosper JSP en sun.com http//java.sun.com/products/jsp/ Libros en línea "Java Server Pages", Hans Bergsten. O ELLY http//www.coreservlets.com/ anuales en la Web http//www.jsptut.com/ http//www.apl.jhu.edu/ hall/java /Servlet-Tutorial /Servlet-Tutorial-JSP.html V E S E Java Server Pages (JSP) p. 25