Curso Java Web (JSP's/Servlets)



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

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

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

Laboratorio de Aplicaciones Telemáticas

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

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

A continuación en la figura D.1 se verá el código de una implementación del archivo struts-config.xml:

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

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

Ejemplos de Servlet y JSP Web Application Development

Java EE JavaServer Pages (JSP)

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

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

JSP (I) Aplicaciones Distribuidas

2. Estructura de un programa en Java

Especialista Universitario Java Enterprise. Struts. Sesión 4: Introducción a Struts Depto. Ciencia de la Computación e IA

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

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 ]

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015

Curso Desarrollo Java Web con JSP, Servlets y el MVC

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

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

Formato para prácticas de laboratorio

EXTENSIÓN DE UML PARA APLICACIONES WEB

Java 2 Enterprise Edition

Requisitos. Universidad ORT Arquitectura de Software

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

9. Objetos y clases Clases

Modulo 1 El lenguaje Java

Implementación CAPÍTULO 4

Curso de JavaServer Faces

Tema 5: Tecnologías Web

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

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

Tema 7. Construcción de Applets en Java

Elementos sintácticos de una JSP.

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

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

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

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Elementos léxicos del lenguaje de programación Java

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

Formularios HTML. Elementos de Programación y Lógica

Implementando nuestro primer servlet

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.

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

Tutorial Sistema de indicadores Observatorio de la Persona Joven

Capitulo 5. Implementación del sistema MDM

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.

CLASS JAVASCRIPT CLASES? OBJETOS PREDEFINIDOS. WINDOW, OBJETO GLOBAL. NUMBER, MATH, DATE, REGEXP, ERROR. (CU01144E)

RUEDA TORRES DULCE CAROLINA 3CM2 JAX-WS WEB SERVICES WEB APPLICATION DEVELOPMENT

SERVLETS. Aplicaciones Distribuidas

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la 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"

Objetivo de aprendizaje del tema

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

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

PHP: Interacción con HTML

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

INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 29 de MAYO de 2006

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

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.

Tutorial Web Dinámica con Servlets y JSP Sesion 3

Tecnología de Programación

Tema: Sobrecarga de Operadores.

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

Interacción y manejo de documentos XML.

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

Partes del formulario

1. Generación automática de documentación (javadoc)

CÓMO CREAR UNA PÁGINA WEB v.1

Análisis y diseño del sistema CAPÍTULO 3

Tutorial Servicios Web

Servidores Web (II) Contenidos

Transformación de documentos XML con

Aplicaciones Web con Servlets y JSP (II)

Aplicaciones Web con Servlets y JSP (II)

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

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

JSP(JAVA SERVER PAGES)

MANUAL DE USUARIOS DEL MODULO DE EVALUACIÓN DE DESEMPEÑO SISTEMA DE ADMINISTRACIÓN DE SERVIDORES PÚBLICOS (SASP)

Conexión de Mysql con NetBeans

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

Programación Orientada a Objetos. Java: Excepciones

Uso de excepciones en Java

Preliminares. Tipos de variables y Expresiones

Transcripción:

Curso Java Web (JSP's/Servlets) JSP's ("Java Server Pages") Composición Un JSP ("Java Server Page") es uno de los componentes más básicos empleados para aplicaciones de Servidor en Java. Su composición consta de dos grandes partes: HTML y lenguaje Java. Mediante HTML se especifica el contenido estático de despliegue y es mediante fragmentos del lenguaje Java que se genera contenido dinámico en efecto cumpliendo la definición de aplicación de Servidor; a continuación se ilustra una porción de un JSP: <HTML> <BODY> <% out.println("pagina Básica"); %> </BODY> </HTML> Los elementos que se encuentran entre <% y %> son elementos Java, mientras el resto es considerado HTML puro. El comando/método Java utilizado en la porción anterior (out.println) imprime el texto correspondiente; al ejecutarse este JSP da como resultado final : <HTML> <BODY> Pagina Básica </BODY> </HTML>

La ejecución y/o transformación de elementos Java es trabajo de un "Servlet Engine" y para este curso es utilizado el "Servlet Engine" Tomcat; el JSP anterior es extremadamente sencillo ya que el código Java solo imprime un mensaje estático, las ventajas de utilizar Java se hacen más evidentes al emplear Java accesando Bases de Datos y/o ejecutando cierta lógica de negocios, lo cual será descrito a fondo en este curso. En la instalación de su "Servlet Engine" Tomcat, coloquese dentro del directorio webapps y genere un directorio llamado lab, dentro de este directorio puede colocar sus JSP's y Servlets que serán diseñados a lo largo del curso. Para generar sus JSP's y Servlets puede hacer uso de un editor de Texto disponible en su ambiente. Para observarlos basta colocarse bajo el URL : http://localhost:8080/lab/

Secuencia de Ejecución ("Lifecycle") La secuencia de ejecución para un JSP es la siguiente (partiendo de la requisición de página): 1. Compilar JSP a Servlet. 2. Cargar/Compilar el JSP(Servlet). 3. Inicializar el JSP(Servlet). 4. Ejecutar el JSP(Servlet). 5. Limpiar el JSP(Servlet). El primer paso puede ser sorprendente, pero efectivamente todo JSP es convertido a un Servlet, la razón de esto es que el surgimiento de JSP's se debió a la necesidad de facilitar un formato programático sencillo para personal no familiarizado con Java, esto es, el uso de JSP's permite eliminar visualmente funciones de arranque, ejecución y terminación, la inclusión de éstas se lleva acabo en la conversión de JSP a Servlet; el JSP declarado anteriormente es convertido en el siguiente Servlet: package org.apache.jsp; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; import org.apache.jasper.runtime.*; public class index_jsp extends HttpJspBase { private static java.util.vector _jspx_includes; public java.util.list getincludes() { } return _jspx_includes; public final void _jspx_init() throws org.apache.jasper.runtime.jspexception { }

public void _jspservice(httpservletrequest request, HttpServletResponse response) throws java.io.ioexception, ServletException { JspFactory _jspxfactory = null; javax.servlet.jsp.pagecontext pagecontext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; JspWriter _jspx_out = null; true); try { _jspxfactory = JspFactory.getDefaultFactory(); response.setcontenttype("text/html;charset=iso-8859-1"); pagecontext = _jspxfactory.getpagecontext(this, request, response, null, true, 8192, application = pagecontext.getservletcontext(); config = pagecontext.getservletconfig(); session = pagecontext.getsession(); out = pagecontext.getout(); _jspx_out = out; out.write("<html>\n"); out.write("<body>\n "); out.println("pagina Basica"); out.write("\n"); out.write("</body>\n"); out.write("</html>\n"); } catch (Throwable t) { out = _jspx_out; if (out!= null && out.getbuffersize()!= 0) out.clearbuffer(); if (pagecontext!= null) pagecontext.handlepageexception(t); } finally { if (_jspxfactory!= null) _jspxfactory.releasepagecontext(pagecontext);

} } } public final void _jspx_destroy() throws org.apache.jasper.runtime.jspexception { } Desde luego generar el Servlet anterior requiere conocimientos programáticos, a través de un JSP personal poco familiarizado con el lenguaje Java ( Diseñadores Gráficos, Programadores experimentados en otro lenguaje) pueden generar el mismo resultado escribiendo dos o tres lineas.una vez convertido el JSP a Servlet, este Servlet(JSP) debe ser compilado para continuar con el proceso, esta compilación también es tarea del "Servlet Engine". Compilado el Servlet (JSP) se inicializa, ejecuta y limpia, estos tres pasos son llevados acabo por las funciones: _jspx_init(), _jspservice(), _jspx_destroy() respectivamente; si analiza el código del Servlet (JSP) presentado anteriormente se pueden observar estas funciones. Estas mismas funciones son parte central de cualquier Servlet, sin embargo, estas se explorarán a fondo en la sección de Servlets. El "Servlet Engine" Tomcat coloca los JSP's convertidos a Servlets así como las clases compiladas bajo un directorio llamado work, en su ambiente esto sería bajo el directorio $CATALINA_HOME/work/Standalone/localhost/lab, donde $CATALINA_HOME es el directorio raíz donde instaló Tomcat. NOTA: La ubicación de estos archivos puede variar de acuerdo al "Servlet Engine"/"Application Server"

Variaciones de <% y %>, "Directives", Acciones y Objetos. En un JSP además de los Tags <% y %> existen otras variaciones que son las siguientes. <%= Expresión Java %> <%! Declaración Java %> <%-- Comentario Java --%> <HTML> <BODY> <%! public String lafuncion(string elenvio) { return "El parámetro enviado fue: " + elenvio; } int valor = 8; %> <%-- Funciones en JSP's --%> Dentro de HTML <%= lafuncion("unico") %> También se encontró el numero <%= valor %> </BODY> </HTML> El JSP de la parte superior hace uso de <%= %> que es utilizado para evaluar métodos o variables; <%! %> empleado para declarar funciones y/o clases, mientras <%-- --%> indica un comentario dentro del código Java, al ejecutarse este JSP da como resultado final: <HTML> <BODY> Dentro de HTML El parámetro enviado fue: UNICO También se encontró el numero 8 </BODY> </HTML>

Además de la Sintaxis descrita anteriormente que generalmente ocupa la mayor parte de un JSP, también existen otros elementos empleados en JSP's que son descritos a continuación.

"Directives" Los "Directives" en un JSP son aquellos colocados al inicio de la página y representan actividades de inicialización, entre ellos se encuentran: Sintaxis Funcionamiento Opciones más comunes <%@ page opciones %> Utilizado para importar clases Java que serán utilizadas por el JSP, parámetros de error, coordinación de "Threads" y otros elementos. autoflush : Indica si debe ser vaciado el Buffer del JSP (true false) [Casi nunca especificado] buffer : Indica el tamaño o utilización de Buffer en el JSP (none Tamaño kb) [Casi nunca especificado] contenttype : Tipo de MIME para el contenido del JSP (Tipo de Contenido,ejemplo: text/html; charset=iso-8859-1 ) [Casi nunca especificado] errorpage : Página a utilizarse en caso de Error (URL Página) extends : Empleado para heredar ("inherit") el comportamiento de una Clase en el JSP (Nombre Clases ) import : Clases a utilizarse dentro del JSP (Clases a Importar,ejemplo: com.osmosislatina.db.*, java.util.*) info : Información descriptiva acerca del JSP (Info) [Casi nunca especificado] iserrorpage : Indica si el JSP es empleado para manejar errores. (true false) isthreadsafe : Indica si el JSP será capaz de manejar "Threads" de manera segura. (true false) [Casi nunca especificado] language : El lenguaje a utilizarse en el JSP (java) session : Indica si el JSP utilizará sesiones. (true false) [Casi nunca especificado] <%@ include opciones %> Empleado para colocar archivos estáticos dentro de JSP's, estos generalmente son encabezados o pies de pagina escritos en HTML file : Archivo a incluirse en el JSP (Nombre del Archivo) <%@ taglib opciones %> Utilizado para incluir librerías de Tags hechos a medida en JSP's uri : Empleado para indicar la ubicación de las librerías hechas a medida (URI de Librerías ) prefix : Prefijo para Tags hechos a medida (Prefijo)

Acciones Otros elementos empleados en JSP's son denominados Acciones, aunque por ahora entrar en su sintaxis especifica sería prematuro, vale mencionar que son ampliamente utilizados en conjunción de Java Beans, los cuales serán descritos en una futura sección del curso. Un "Java Bean" no es lo mismo que un "Enterprise Java Bean" A lo largo de este curso será descrito el uso de "Java Beans", este tipo de diseño permite encapsular diversos valores en una Clase Java y que su contenido sea manipulable fácilmente en JSP's/Servlets. Lo anterior es muy diferente al uso de "Enterprise Java Beans" los cuales son complementarios a JSP'/Servlets; el uso de "Enterprise Java Beans" se da en ambientes que requieren controles transaccionales y de seguridad más avanzados que lo que ofrecen JSP's/Servlets.

Sintaxis Funcionamiento Atributos más comunes <jsp:usebean atributos > Utilizado para importar Java Beans a un JSP. class : Define la Clase del Java Bean (Nombre de la Clase ) type : Tipo de Java Bean (type) [Casi nunca utilizado] id : Indica el nombre con que será referenciado el Java Bean dentro del JSP (nombre) scope : Ubicación del Java Bean (page request session applicatio n) [Generalmente session] property : Propiedad del Java Bean (propiedad) <jsp:setproperty atributos> Empleado para colocar valores a un Java Bean en un JSP. name : Nombre del Java Bean (El id de <jsp:usebean>) value : Valor para ser asignado a la propiedad del Java Bean (valor) <jsp:getproperty atributos> Empleado para extraer valores de un Java Bean a un JSP. property : Propiedad del Java Bean (propiedad) name : Nombre del Java Bean (El id de <jsp:usebean>) <jsp:include atributos> Empleado para colocar archivos estáticos dentro de JSP's, estos generalmente son encabezados o pies de pagina escritos en HTML. page : Archivo a incluirse en el JSP (Nombre del Archivo) flush : Indica si debe ser vaciado el Buffer del JSP (true false) [Casi nunca especificado] page : Página a donde realizar el forward <jsp:forward atributos> Empleado para redireccionar el control de un JSP a determinada página. (Redirección)(URL de página ) flush : Indica si debe ser vaciado el Buffer del JSP (true false) [Casi nunca especificado]

Objetos Debido a que un JSP ofrece una abstracción por arriba de un Servlet, y éste último es un Objeto (Clase) Java, también se tienen acceso a diversos Objetos dentro de un JSP sin la necesidad de realizar declaraciones complejas, al igual que el uso de Acciones, su descripción puede ser prematura, sin embargo, el uso de estos objetos será descrito a detalle conforme se avance en el curso. Objeto Uso Clase Base request response pagecontext session application out config page exception Solicitud dentro de un JSP/Servlet. Respuesta dentro de un JSP/Servlet. Representa el Contexto del JSP/Servlet. Representa la sesión del Usuario en un JSP/Servlet. aplicación (Contexto) para un JSP/Servlet. Escritura (Para enviar a pantalla) en un JSP/Servlet. Configuración para un JSP/Servlet. l JSP/Servlet en sí. errores para un JSP/Servlet. HttpServletRequest HttpServletResponse PageContext HttpSession ServletContext JspWriter ServletConfig Object Throwable