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

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

Computación Web (Curso 2013/2014)

Aplicaciones Web (Curso 2014/2015)

Aplicaciones Web (Curso 2015/2016)

Laboratorio de Aplicaciones Telemáticas

Aplicaciones Web con Servlets y JSP (II)

Aplicaciones Web con Servlets y JSP (II)

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

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

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

Una página JSP es simplemente una página web con elementos JSP. Todo en la página no son elementos JSP, el resto se denomina plantilla de texto.

Tema 3: Diseño de la capa de presentación

Tema 3: Diseño de la capa de presentación

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

JAVASERVER PAGES (JSP)

Elementos sintácticos de una JSP.

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

APLICACIONES WEB J2EE - JSP

Curso Java Web (JSP's/Servlets)

Java EE JavaServer Pages (JSP)

Computación Web (Curso 2013/2014)

JSP (I) Aplicaciones Distribuidas

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

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

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

Java Avanzado Facultad de Ingeniería. Escuela de computación.

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

Formato para prácticas de laboratorio

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 ]

JSPs. JSPs. Java Server Pages. Páginas de Web con contenido DINÁMICO! Separa el contenido (generado por programadores)

Ejercicios de JSP Básico

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

Java web: servlets, Jsp, Jstl, Struts & Ajax

Aplicaciones Web (Curso 2015/2016)

Computación Web (Curso 2015/2016)

Tema 3: Tecnologías Java distribuidas

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

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

Aplicaciones Web con Servlets y JSP (I)

Laboratorio de Aplicaciones Telemáticas

Introducción n a Java EE: JSP

Computación Web (Curso 2013/2014)

JavaServer Faces. Sesión 2: MVC en JSF. Experto Universitario Java Enterprise

PRACTICA JSP SEMANA 2

Java Web J2EE con JSP

Java Web J2EE con JSP

Java Web J2EE con JSP

JSP( JavaServer Pages)

SERVLETS. Aplicaciones Distribuidas

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

Arquitectura Java Web. Ing. Juan Zevallos Valle

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Lógica en páginas JSP (I)

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.

Programa Regular. Vázquez Alejandro. Jefe de TP simple.

Java Session. Usando Java Session en aplicaciones web

Programación Orientada a Objetos

Introducción a JSF con NetBeans

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

Curso de Java Java para Web

Características de JavaScript

4. DESARROLLO WEB CON JAVA JSP & SERVLETS

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Spring. Sesión 5: Spring MVC (II) Validación e internacionalización

Guía de estilo de programación Propuesta de convención de Nombres para JSP y Servlets

Taller de Sistemas de Información 2. Java Server Faces 2.0

Clases y Objetos en C++

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

Java Servlets. Qué es un programa? Luis Fernando Llana Díaz. 22 de abril de input Programa output. En pascal:

Capítulo 5. Java Server Pages

Formatos para prácticas de laboratorio

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

Estructura de datos y Programación

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011

Programador de Aplicaciones Web

Examen Teórico. Convocatoria de Febrero de 2015

Spring MVC. Desarrollo de Aplicaciones Empresariales

Hello World Ajax! con Eclipse

Principios de Computadoras II

Tutorial de Introducción a JSP 2º ASIR. José Luis Pérez Morillas y Juan Antonio Martínez Sanchéz.

APELLIDOS, Nombre: // Resto de s e r v i c i o s p ú b l i c o s e n t r e l o s que s e e n c u e n t r a n i n s e r t a r y // b o r r a r //...

LA PALABRA CLAVE THIS EN JAVA. CONTENIDO NULL POR DEFECTO DE UN OBJETO. SOBRECARGA DE NOMBRES. EJEMPLOS (CU00654B)

Introducción a JSP. Capa de presentación: Java Server Pages (JSP)

Los Constructores(1)

JSP/SERVLETS ISIS 3710

Guía del Curso Especialista TIC en Programación con JAVA 8 SE Standard Edition

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

Programación Orientada a Objetos en C++

Curso Desarrollo Java Web con JSP, Servlets y el MVC

Servlets. 1. Introducción Características fundamentales Ventajas fundamentales... 2

INF 473 Desarrollo de Aplicaciones en Java

Desarrollo Web. Parte 1 Edición Taller de Programación

Sesión 3. TEMA 5. DEFINICIONES DE CLASES

Transformaciones de modelo a texto con MOFScript Curso

12. Tipos de atributos

Programa Formativo. Código: Curso: Programación con JAVA 8 SE Standard Edition Modalidad: ONLINE Duración: 120h.

Transcripción:

Java Server Pages (JSP) Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010) Jesús Arias Fisteus jaf@it.uc3m.es Java Server Pages (JSP) p. 1 Introducción Un servlet no resulta adecuado para presentación (escribir directamente la salida HTML) porque el código HTML está entremezclado dentro del código Java: Incómodo cambiar el código HTML. No facilita la división de tareas entre diseñadores de HTML y programadores. Alternativa: escribir directamente el código HTML con poco código Java incrustado. Java Server Pages (JSP) p. 2

Introducción Una página JSP es una página (X)HTML que incorpora ciertos elementos dinámicos: etiquetas especiales y pequeños fragmentos de código. El código HTML 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. Java Server Pages (JSP) p. 3 JSP como servlet Aunque 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. Java Server Pages (JSP) p. 4

JSP ejemplo <%@ page language= java contenttype= text/html;charset=iso-8859-1 %> <%@ page import= java.util.date %> <html> <head> <title>hola Mundo</title> </head> <body> <p>hola, esto es una página JSP.</p> <p>la hora del servidor es <%= new Date() %></p> </body> </html> JSP ejemplo transformado en un servlet Java Server Pages (JSP) p. 5 (...) out.write("<html>\n "); out.write(" <head>\n "); out.write(" <title>hola Mundo</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 Date() ); out.write("</p>\n "); out.write(" </body>\n"); out.write("</html>\n"); (..) Java Server Pages (JSP) p. 6

JSP ejemplo: documento recibido por el cliente <html> <head> <title>hola Mundo</title> </head> <body> <p>hola, esto es una página JSP.</p> <p>la hora del servidor es Wed Nov 06 13:25:34 CET 2002</p> </body> </html> Java Server Pages (JSP) p. 7 Comentarios en JSP Los comentarios JSP no se envían al cliente, al contrario que los comentarios HTML. <%!-- Esto es un comentario JSP --%> Java Server Pages (JSP) p. 8

Directivas JSP: page Todas las páginas JSP deberían incluirla. Atributos 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. <%@ include file= footer.html %> <%@ page import= java.util.* %> Java Server Pages (JSP) p. 10

Scriptlets 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()); %> Java Server Pages (JSP) p. 11 Scriptlets (aviso) 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(); %> Java Server Pages (JSP) p. 12

Scriptlets: ejemplo <table> <tr><th>product</th><th>price</th></tr> <% for (int i=0; i<catalog.length; i++ ) { ProductInfoBean product = catalog[i]; %> <tr> <td> <a href= <%= response.encodeurl("view?id=" + product.getid()) %> > <%= product.getshortname() %> </a> </td> <td><%= product.getprice() %> Euros</td> </tr> <% } %> </table> 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: javax.servlet.servletcontext application javax.servlet.servletconfig config javax.servlet.jsp.jspwriter out javax.servlet.jsp.pagecontext pagecontext javax.servlet.http.httpservletrequest request javax.servlet.http.httpservletresponse response javax.servlet.http.httpsession session <%!-- Sólo en páginas marcadas con iserrorpage: --%> java.lang.throwable exception Java Server Pages (JSP) p. 14

Acciones: jsp:include La acción jsp:include 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. <jsp:include page= header.jsp > <jsp:param name= title value= Welcome /> </jsp:include> Java Server Pages (JSP) p. 15 Acciones: jsp:forward La acción jsp:forward 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. <jsp:forward page= list.jsp > <jsp:param name= order value= date /> </jsp:forward> Java Server Pages (JSP) p. 16

Java Beans 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). Java Server Pages (JSP) p. 17 Java Beans: ejemplo public class UserInfoBean implements java.io.serializable { private String firstname; private boolean registered; } public String getfirstname() { return firstname; } public void setfirstname(string firstname) { this.firstname = firstname; } public boolean isregistered() { return registered; } public void setregistered(boolean registered) { this.registered = registered; } Java Server Pages (JSP) p. 18

Java Beans en JSP JSP proporciona instrucciones especiales para trabajar más cómodamente con Java Beans. La acción jsp:usebean: Si el bean aún no existe en el contexto: Declara, 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. <jsp:usebean id= user class= foo.userinfobean scope= session > <jsp:setproperty name= user property= name value= Pepe /> </jsp:usebean> Java Server Pages (JSP) p. 19 Java Beans en JSP: contextos (I) 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. Java Server Pages (JSP) p. 20

Java Beans en JSP: contextos (II)... 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. Java Server Pages (JSP) p. 21 La acción jsp:getproperty Se evalúa al valor de una propiedad de un bean. <jsp:getproperty name= user property= fullname /> Java Server Pages (JSP) p. 22

La acción jsp:setproperty 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. <jsp:setproperty name= user property= firstname value= <%= request.getparameter("firstname") %> /> <%!-- si firstname es un parámetro de la petición --%> <jsp:setproperty name= user property= firstname /> <%!-- todos los parámetros de la petición cuyo nombre coincida con propiedades --%> <jsp:setproperty name= user property= * /> Java Server Pages (JSP) p. 23 Java Server Pages Tag Libraries 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. Java Server Pages (JSP) p. 24

Algunas referencias http://java.sun.com/products/jsp/ http://www.jsptut.com/ http://www.coreservlets.com/ http://www.programacion.com/java/tutorial/servlets_jsp/ Java Server Pages (JSP) p. 25