Elementos sintácticos de una JSP.



Documentos relacionados
Formato para prácticas de laboratorio

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.

Laboratorio de Aplicaciones Telemáticas

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

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

Java EE JavaServer Pages (JSP)

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

Formatos para prácticas de laboratorio

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

Curso Desarrollo Java Web con JSP, Servlets y el MVC

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 ]

JSP (I) Aplicaciones Distribuidas

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

Curso Java Web (JSP's/Servlets)

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

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

4. DESARROLLO WEB CON JAVA JSP & SERVLETS

Ejemplos de Servlet y JSP Web Application Development

JSP(JAVA SERVER PAGES)

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

Aplicaciones Web (Curso 2015/2016)

Desarrollo de Aplicaciones Informáticas

JAVASERVER PAGES (JSP)

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

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

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

Java 2 Enterprise Edition

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

Aplicaciones Web con Servlets y JSP (II)

Aplicaciones Web con Servlets y JSP (II)

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.

Requisitos. Universidad ORT Arquitectura de Software

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

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"

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

FUNCIONAMIENTO: FUNCIONALIDAD

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

Lógica en páginas JSP (I)

aplicaciones web: ASP, CFM, JSP y PHP

PASO 1: Creamos un nuevo proyecto en NetBeans. Nos vamos a File y pulsamos sobre New Project

Introducción al lenguaje Java

EXTENSIÓN DE UML PARA APLICACIONES WEB

DIPLOMATURA DESARROLLO DE APLICACIONES JAVA

Introducción al desarrollo web (idesweb)

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

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

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

INTRODUCCIÓN A PHP. Javier Enciso

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

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

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

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

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Desarrollo y servicios web Sesión 18

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

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

Introducción a las aplicaciones WEB

ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Tema 3. Introducción a programas en el lado del servidor

MANUAL TÉCNICO WEB SERVICE PROTOCOLO SOAP

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

El lenguaje de programación Java

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

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

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.

9. Objetos y clases Clases

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

Implementación CAPÍTULO 4

FRAMEWORK SPRING EN UNA APLICACIÓN WEB

Configuración servidor Tomcat

Tema 1. Introducción a JAVA

Programación Orientada a Objetos con Java

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO

Curso: Programación con JAVA SE Estándar Edition.

Tema 4: Tecnologías Web Java

11. Algunas clases estándar de Java (II)

Capítulo III. Análisis y diseño.

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

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.

AGRUPA P R OBJET E OS 1

Manual de referencia para la invocación de WebServices con Aduanas (SMS v3.0)

Benemérita Universidad Autónoma del Estado de Puebla

Facultad de Sistemas e Informática

Transcripción:

1 JSP's Una JSP es un documento de texto parecido a HTML que describe como procesar una petición para crear una respuesta. Permiten separar la generación de interfaz de usuario (HTML) de la lógica de negocio.

2 Elementos sintácticos de una JSP. Una página JSP contiene elementos (cosas que conoce y sabe lo que son) y datos de plantilla (el resto de cosas). Hay tres tipos de elementos: Directivas: Proveen información para la fase de traslación, por tanto no dependen de la petición concreta. Tienen el formato: <%@ directiva...%> Elementos de script: Permiten insertar código Java dentro del servlet que se generará a partir de la página. Elementos de acción: Proveen información para la fase de ejecución. Su ejecución dependerá en muchos casos de la petición. Los elementos de acción pueden ser estándares o definidos como extensiones. Tienen la sintaxis de un elemento XML. <mytag attr1= val1 >micontenido</mytag>

3 Elementos de script. Los elementos de script nos permiten insertar código Java dentro del servlet que se generará desde la página JSP actual. Hay tres formas: Expresiones <%= expresión %> que son evaluadas y retornan un String que se inserta en esa posición en la página. Scriptlets <% código %> El código se inserta dentro del método service del servlet en la fase de compilación. Declaraciones <%! codigo %> que se insertan en el cuerpo de la clase del servlet, fuera de cualquier método existente.

4 Hola mundo <HTML> <BODY> Hola, mundo </BODY> </HTML> Hola.jsp

5 Expresiones <HTML> <BODY> Hola! Son las <%= new java.util.date() %> </BODY> </HTML> HolaHora.jsp

6 Scriptlets <HTML> <BODY> <% // Esto es un scriptlet. La variable fecha que // declaramos aquí esta disponible después en // la expresión.. System.out.println( "Calculando la fecha" ); java.util.date fecha = new java.util.date(); %> Hola! Son las <%= fecha %> </BODY> </HTML> HolaHoraScriptlet.jsp

7 Scriptlets Ejemplos: <% String querydata = request.getquerystring(); out.println("attached GET data: " + querydata); %> <% if (Math.random() < 0.5) { %> Have a <B>nice</B> day! <% else { %> Have a <B>lousy</B> day! <% %>

8 Variables predefinidas request: La petición HTTP response: La respuesta HTTP session: La sesión asociada a la petición actual, caso de existir. out: El PrintWriter

9 Variables predefinidas. out <HTML> <BODY> <% // Este scriptlet declara e inicializa fecha. System.out.println( "Calculando la fecha" ); java.util.date fecha = new java.util.date(); %> Hola! Son las <% // Este scriptlet genera salida HTML out.println( String.valueOf( date )); %> </BODY> </HTML> HolaHoraOut.jsp

10 Variables predefinidas. request <HTML> <BODY> <% // Este scriptlet declara e inicializa fecha. System.out.println( "Calculando la fecha" ); java.util.date fecha = new java.util.date(); %> Hola! Son las <% out.println( String.valueOf( date )); out.println( "<BR>La dirección de tu máquina es" ); out.println( request.getremotehost()); %> </BODY> </HTML> HolaHoraRequest.jsp

11 Mezclando HTML con scriptlets <TABLE BORDER=2> <% for ( int i = 0; i < n; i++ ) { %> <TR> <TD>Número</TD> <TD><%= i+1 %></TD> </TR> <% %> </TABLE> HTMLScriptlets.jsp

12 Mezclando HTML con scriptlets (II)... <% if ( hola ) { %> <P>Hola mundo <% else { %> <P>Adios mundo cruel <% %>... HTMLScriptlets2.jsp

13 Declaraciones Permiten definir métodos o campos que se insertarán en el código de la clase Servlet, fuera del método service. <%! private int accesscount = 0; %> Accesos a la página desde la última vez que se cargó el servlet: <%= ++accesscount %>

14 JSP's. Fases de ejecución. De cara a su ejecución, una JSP pasa por dos fases: Fase de traslación (compilación). Mediante este proceso se pasa de un archivo JSP a una clase Java compilada que implementa la interficie Servlet. Fase de ejecución. Cuando llega una petición que va destinada a ser servida por una JSP, el contenedor de servlets localiza (o crea si no existe) una instancia de la clase resultado de la compilación de esa JSP y se invoca su método service.

15 Directivas JSP. Existen tres directivas: page: define características de la página. taglib: permite utilizar un taglib con elementos de acción definidos como extensiones. include: permite incluir otra página durante la fase de compilación.

16 Directiva page. Ejemplos: <%@ page info= my latest JSP Example %> <%@ page buffer= none errorpage= /oops.jsp %> <%@ page language= java import= com.myco.* buffer= 16kb %>

17 Tags JSP JSP nos permite definir librerías de tags, para automatizar las tareas más comunes sin incrustar código en las páginas JSP. La Java Standard Tag Library (JSTL) nos ofrece un conjunto de tags de uso común. <table> <c:foreach var="name" items="${customernames"> <tr><td><c:out value="${name"/></td></tr> </c:foreach> </table>

18 Directiva taglib. Ejemplos: <%@ taglib uri= http://www.mycorp/supertags prefix= super %>... <super:domagic>... </super:domagic> Sintaxis: <%@ taglib ( uri= taglibraryuri tagdir= tagdir ) prefix= tagprefix %>

19 Directiva include. Permite incluir una página durante la fase de compilación (por tanto HTML independiente de la petición) Ejemplo: <%@ include file= copyright.html %> Sintaxis: <%@ include file="relativeurlspec" %>

20 Acciones Las acciones JSP usan construcciones de sintaxis XML para controlar el comportamiento del motor de Servlets. Podemos insertar un fichero dinámicamente, reutilizar componentes JavaBeans, reenviar al usuario a otra página, etc. jsp:include: Permite insertar un fichero en la respuesta HTTP durante la fase de ejecución. <jsp:include page="relative URL" flush="true" /> jsp:forward: Reenvía a otra página. <jsp:forward page="/utils/errorreporter.jsp" /> <jsp:forward page="<%= somejavaexpression %>" />

21 Directivas y elementos de script (.jsp) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD>... Aquí habían cosas no interesantes... </HEAD> <BODY BGCOLOR="#FDF5E6" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000"> <CENTER> <table BORDER=5 BGCOLOR="#EF8429"> <TR><TH CLASS="TITLE"> Using JavaServer Pages</table> </CENTER> <P> Some dynamic content created using various JSP mechanisms: <UL> <LI><B>Expression.</B><BR> Your hostname: <%= request.getremotehost() %>. <LI><B>Scriptlet.</B><BR> <% out.println("attached GET data: " + request.getquerystring()); %> <LI><B>Declaration (plus expression).</b><br> <%! private int accesscount = 0; %> Accesses to page since server reboot: <%= ++accesscount %> <LI><B>Directive (plus expression).</b><br> <%@ page import = "java.util.*" %> Current date: <%= new Date() %> </UL> </BODY> </HTML>

Directivas y elementos de script (resultado)

Acceso a Java Beans (BeanTest.jsp) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>Reusing JavaBeans in JSP</TITLE> <LINK REL=STYLESHEET HREF="My-Style-Sheet.css" TYPE="text/css"> </HEAD> <BODY> <CENTER> <table BORDER=5> <TR><TH CLASS="TITLE"> Reusing JavaBeans in JSP</table> </CENTER> <P> <jsp:usebean id="test" class="hall.simplebean" /> <jsp:setproperty name="test" property="message" value="hello WWW" /> <H1>Message: <I> <jsp:getproperty name="test" property="message" /> </I></H1> </BODY> </HTML>

Acceso a Java Beans (SimpleBean.java) package hall; public class SimpleBean { private String message = "No message specified"; public String getmessage() { return(message); public void setmessage(string message) { this.message = message;

Acceso a Java Beans II (JspPrimes.jsp) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>Reusing JavaBeans in JSP</TITLE> <LINK REL=STYLESHEET HREF="My-Style-Sheet.css" TYPE="text/css"> </HEAD> <BODY> <CENTER> <table BORDER=5> <TR><TH CLASS="TITLE"> Reusing JavaBeans in JSP</table> </CENTER> <P> <jsp:usebean id="primetable" class="hall.numberedprimes" /> <jsp:setproperty name="primetable" property="numdigits" /> <jsp:setproperty name="primetable" property="numprimes" /> Some <jsp:getproperty name="primetable" property="numdigits" /> digit primes: <jsp:getproperty name="primetable" property="numberedlist" /> </BODY> </HTML>

Acceso a Java Beans II (NumberedPrimes.java) import java.util.*; public class NumberedPrimes { private Vector primes; private int numprimes = 15; private int numdigits = 50; public String getnumberedlist() { if (primes == null) { PrimeList newprimes = new PrimeList(numPrimes, numdigits, false); primes = newprimes.getprimes(); StringBuffer buff = new StringBuffer("<OL>\n"); for(int i=0; i<numprimes; i++) { buff.append(" <LI>"); buff.append(primes.elementat(i)); buff.append("\n"); buff.append("</ol>"); return(buff.tostring()); public int getnumprimes() { return(numprimes);

Acceso a Java Beans II (NumberedPrimes.java 2) public void setnumprimes(int numprimes) { if (numprimes!= this.numprimes) primes = null; this.numprimes = numprimes; public int getnumdigits() { return(numdigits); public void setnumdigits(int numdigits) { if (numdigits!= this.numdigits) primes = null; this.numdigits = numdigits; public Vector getprimes() { return(primes); public void setprimes(vector primes) { this.primes = primes;

Acceso a Java Beans II (resultado)