JAVASERVER PAGES (JSP)

Documentos relacionados
Elementos sintácticos de una JSP.

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

Curso JAVA EE

Formato para prácticas de laboratorio

Laboratorio de Aplicaciones Telemáticas

APLICACIONES DE INTERNET: SOAP

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

CAPÍTULO 14. DESARROLLO

4. DESARROLLO WEB CON JAVA JSP & SERVLETS

Java EE JavaServer Pages (JSP)

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

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

Formatos para prácticas de laboratorio

aplicaciones web: ASP, CFM, JSP y PHP

Principios de Computadoras II

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

JSP (I) Aplicaciones Distribuidas

Oracle 10g: Creación de Aplicaciones J2EE

Curso Desarrollo Java Web con JSP, Servlets y el MVC

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

Tema IV El lenguaje de programación PHP Tipos de Datos

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

CAPÍTULO 1. MI PRIMERA APLICACIÓN...

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE

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

Java 2 Enterprise Edition

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

Curso Java Web (JSP's/Servlets)

Desarrollo y servicios web

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

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.

JAVA EE 5. Arquitectura, conceptos y ejemplos.

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

Tecnologías de la Información y la Comunicación II

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

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

HTTP, CGI, Applets y Servlets

5.3.2 Java Server Faces (JSF)

Sesiones en PHP. Área de Ingeniería Telemática

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

JAVA 7 Los fundamentos del lenguaje Java

FUNCIONAMIENTO: FUNCIONALIDAD

IMPRESIÓN Y CONECTIVIDAD

COMUNICACIÓN ENTRE EL CLIENTE Y SERVIDOR SIN PHP Y CON PHP. INTÉRPRETE PHP Y GESTOR DE BASES DE DATOS (CU00804B)

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

Selección de arquitecturas y herramientas de programación

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

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

JSP(JAVA SERVER PAGES)

EXTENSIÓN DE UML PARA APLICACIONES WEB

Tema: Clases y Objetos en C#. Parte II.

Características de las tecnologías de web scripting

Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.

PHP. Introducción (1) Introducción (3) Introducción (2) PHP 1

DIPLOMATURA DESARROLLO DE APLICACIONES JAVA

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

Aspectos Básicos de Networking

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52)

El lenguaje de programación PHP Tipos de Datos. Semestre: A-2010

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

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

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

PHP: Lenguaje de programación

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

Tema 5: Tecnologías Web

Tema 7.- Fundamentos de la Programación Orientada a Objetos

- Si es así, cuales son los lenguajes y entornos libres comparables a un C/C++ con Anjuta-Glade/Visual Studio y buenas librerias?

Aplicación de Técnicas de Recuperación de Información a un Glosario de Términos de Internet Desarrollado Utilizando Tecnología JSP *

Grupo de Ingeniería del Software. Conceptos básicos de formularios HTML

Instituto Tecnológico de Celaya

DATOS GENERALES DE LA ESPECIALIDAD:

Servidores Web (II) Contenidos

8º Unidad Didáctica PHP. Eduard Lara

La sintaxis básica para definir una clase es la que a continuación se muestra:

Introducción n a Apache Tomcat 5.5

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

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

Curso PHP & MYSQL PARA JOOMLA

Implementando nuestro primer servlet

Tareas sobre ASP. Las cookies son incluidas por un script CGI (servidor) en la cabecera de un paquete http de respuesta al cliente.

Ejemplos de Servlet y JSP Web Application Development

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

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

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE. 8 Marcos Definición estructural Varios Caracteres especiales Fondos y colores Listas Divisores Vínculos y gráficos

Diseño e implementación de una tienda electrónica mediante Struts y SOAP. Rocío López Valladolid Tutor: Dr. Abelardo Pardo Sánchez

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

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

Aplicaciones web construidas a base de componentes:

<HTML> <IMG src= logo.gif > </HTML> Lógica de negocio. Dsfg dsfg sdfg. Sdfgdfg dfg Dsf gsdfg sdfg. Dfg. Sdfgdfg dfg. Dfg. Dsf gsdfg sdfg.

TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011

Guía práctica de estudio 04: Clases y objetos

Desarrollo y servicios web

Notas técnicas de JAVA Nro. 7 Tip Breve

FUJITSU Java Development Framework

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

MAESTRO DE PHP PHP NIVEL 1

Facultad de Sistemas e Informática

Transcripción:

JAVASERVER PAGES (JSP) Introducción JSP es una extensión de la tecnología Java Servlets. Mientras que estos últimos tienen que mantener plantillas de código HTML dentro del programa, JSP contiene estas plantillas dentro de las propias páginas. La tecnología JSP está ideada para facilitar la creación de aplicaciones web gracias a características como [Sun 99]: Separación entre generación de contenido y presentación. Mediante etiquetas HTML o XML se da formato a la página, y mediante etiquetas JSP, código script o JavaBeans se añade el componente dinámico. De esta forma, encapsulando la lógica, se puede modificar la presentación de la página JSP sin afectar a la generación del contenido. Reutilización de componentes software. La descomposición en componentes que caracteriza a esta tecnología facilita el que objetos de una aplicación vuelvan a utilizarse en dominios diferentes. Por ejemplo, objetos como el analizador léxico o el extractor de raíces definidos para el glosario, pueden ser reutilizados para desarrollar otro tipo de aplicaciones en las que se necesite integrar técnicas de RI. Utilización de etiquetas XML para simplificar el desarrollo de las páginas. Así se ocultan detalles de implementación y se facilita la construcción de páginas que integren código JSP, incluso a desarrolladores web poco acostumbrados a trabajar con lenguajes script. A través del mecanismo de extensibilidad de las librerías de etiquetas, estas pueden personalizarse para las necesidades de cada sistema. Independencia de la plataforma tanto cliente como servidor. Por un lado, la utilización de código Java garantiza la portabilidad de la aplicación para su ejecución en cualquier servidor que contenga una maquina virtual Java. Esta es una ventaja sustancial frente a otras tecnologías similares, como por ejemplo Active Server Pages (ASP) [González et al. 00]. En el caso del cliente, al recibir sólo páginas HTML hace que sea compatible con cualquier navegador. Funcionamiento Cuando se produce una solicitud de una página JSP por parte de un navegador, se comienza comprobando si se trata de la primera solicitud de dicha página. En ese caso se compila a un servlet, que es ejecutado y cuya salida es devuelta al usuario que realizó la petición. Las siguientes solicitudes son más eficientes al no necesitar que dicha página sea de nuevo compilada, ya que sólo se invoca al servlet que se generó en la petición inicial. En este sentido esta tecnología es más ventajosa que otras como ASP, que requieren cada vez una nueva compilación. El proceso de compilación de las páginas consiste en analizar su contenido buscando etiquetas JSP y traduciendo éstas a código Java equivalente. El contenido estático de las páginas (código html) es traducido a cadenas de caracteres en lenguaje Java. Las etiquetas de componentes JavaBeans son traducidas a su correspondiente Carlos Cuervo Martínez 1

objeto, mientras que los elementos script son transferidos tal cual. Todo este código fuente es usado para formar los métodos de servicio del servlet que se va a generar. Componentes de una página JSP A continuación se hace una breve descripción de los componentes más generales de las páginas JSP [Hall 00]. Directivas JSP Son instrucciones que son procesadas por el compilador JSP cuando la página se compila a un Servlet, las directivas son usadas para insertar datos de ficheros externos, especificar librerías definidas por el usuario, etc. Estas directivas de definen dentro de las etiquetas <%@ y %>. Por ejemplo para importar la librería java.util y tener acceso a las clases de esta librería dentro de una página JSP, se pondrá la siguiente línea al principio de la página, puede ir antes o después de la etiqueta <HTML>: <%@ page import= java.util.* %> Declaraciones Son similares a las declaraciones de variables en Java, sirven para definir variables para su uso en expresiones o scripts, las declaraciones se definen entre las etiquetas <%! y %>. Por ejemplo se va a definir una variable entera la cual contendrá el valor de la hora del día. <%! int time = Calendar.getInstance().ger(Calendar.AM_PM); %> Expresiones Son variables o constantes que son usadas para insertar valores dentro de la página que devuelve el servidor web, se introducen entre las etiquetas <%= y %>. La expresión que va entre esas dos etiquetas es evaluada y ejecutada por el compilador JSP, sustituyendo las etiquetas y la expresión por el valor que se genera de la ejecución de dicha expresión. Por ejemplo, para obtener la fecha del sistema dentro de una página JSP se podría insertar la siguiente expresión que crea un objeto Date, el cual devuelve la fecha del sistema: <%= new java.util.date() %> El compilador JSP, evalúa la expresión anterior, la ejecuta y la sustituye por la fecha del sistema. Carlos Cuervo Martínez 2

Para las expresiones JSP puede usarse una sintaxis basada en XML de la siguiente forma: <jsp: expresión > Expresión en lenguaje java </jsp: expresión> Estas etiquetas también pueden tener parámetros, como los usados para asignar valores a los atributos de un Java Bean, a continuación se muestra un ejemplo en el que se supone que tenemos una instancia de un objeto Java Bean con el nombre fuente y tiene un atributo llamado codigo al cual se le va a asignar el valor Carlos : <jsp: setproperty name= fuente property= codigo value= Carlos /> En vez de asignarle al parámetro value una constante, se le puede asignar el valor obtenido de la evaluación de una expresión, por el siguiente ejemplo asigna a un objeto llamado usuario el valor Usuario seguido de un número aleatorio al atributo id : <jsp:setproperty name= usuario property= id value <%= Usuario + Math.random() %> /> Variables predefinidas Dentro de una página JSP se puede acceder a una serie de variables que simplifican el código de las expresiones y scripts JSP. Las más importantes son: request: Es el objeto HttpServletRequest asociado con la solicitud del cliente, con esta variable se puede acceder a los parámetros recibidos del formulario del cliente, así como a las cabeceras http. response: Es el objeto HttpServletResponse asociado con la respuesta al cliente. session: El objeto HttpSession (sesión) asociado con la solicitud del cliente. out: Es el PrintWriter usado para enviar la salida al cliente. A continuación se muestra un ejemplo, con el cual se puede obtener nombre del ordenador cliente (o la dirección IP): <html>... El nombre de su host: <%= request.getremotehost() %> </html> Carlos Cuervo Martínez 3

Scripts JSP Los scripts JSP son trozos de código Java que se pueden insertar dentro de las página JSP para realizar cualquier tipo de procesamiento lógico. Para insertar un trozo de código dentro de una página JSP, este irá entre las etiquetas <% y %>. Desde estos scripts se tiene acceso a las variables predefinidas. Ejemplo: <% %> String querydata = request.getquerystring(); out.println( La cadena con los parámetros recibidos es: + querydata); Este script muestra el mensaje La cadena con los parámetros recibidos es: y a continuación se muestra la cadena que se recibe cuando el cliente envia un formulario mediante un método GET. Este script anterior es muy sencillo y podía haberse sustituido por: La cadena con los parámetros recibidos es: <%= request.getquerystring() %> Dentro de los scripts pueden insertarse sentencias condicionales, iterativas,etc., ya que el código utilizado es Java, y de esta forma se tiene toda la funcionalidad del mismo. A continuación se muestra un script que muestra un mensaje distinto en función de un valor aleatorio. <% if (Math.random() < 0.5 ) { %> Hoy salgo de copas!!! <% } else { %> Mier.., Hoy me quedo en casa!!!! <% } %> El script anterior obtiene un número aleatorio entre 0 y 1, si el valor obtenido es inferior a 0.5, entonces se muestra el mensaje Hoy salgo de copas!!!, en caso contrario se muestra Mier.., Hoy me quedo en casa!!!!. JavaBeans Los JavaBeans son unos objetos que tienen unas características que los diferencian del resto de los objetos Java y deben cumplir las siguientes características: 1 Una clase bean debe tener un constructor sin argumentos. 2 Una clase bean no debería tener variables de instancia públicas. 3 Los valores persistentes deberían ser accedidos a través de métodos llamados getxxx y setxxx. Por ejemplo si se tiene una clase Coche que almacena el número de pasajeros, deberían definirse los métodos: getnumpasajeros(), que devolvería el número de pasajeros del coche, y setnumpasajeros(int n), que Carlos Cuervo Martínez 4

actualiza el atributo número de pasajeros de la clase coche al valor indicado por n. Otra característica que los diferencia es que implementan la interfaz java.io.serializable, esta interfaz proporciona a estos objetos la característica de persistencia, por ejemplo, podemos transmitirlos por una red de comunicaciones y recuperar el estado en el que se encontraban cuando fueron enviados. Los JavaBeans tienen otra característica que es la introspección, esta característica permite a los beans guardar y recuperar los valores de sus atributos de forma automática, sin tener que llamar explícitamente a cada método getxxx o setxxx. Para usar un JavaBean en una página JSP lo primero es obtener una instancia del objeto mediante la etiqueta: <jsp:usebean id= nombre class= clase type= tipo scope= ámbito /> El parámetro id, especifica el nombre de la instancia del bean con el que será conocido dentro del ámbito en el que se define, el ámbito puede ser :. page: es conocido únicamente dentro de la página en el que se define.. sessión: es accesible durante el tiempo que dure la sesión del usuario.aplication: es accesible durante el tiempo que dure la aplicación en la que se usa. El parámetro class indica la clase a la que pertenece el bean que se va a instanciar. El parámetro type indica el tipo de objeto que se va a instanciar, por ejemplo si el bean va a implementar la interfaz Runnable, se indica type= Runnable. Para acceder a las propiedades del bean se usan las siguientes etiquetas: <jsp:getproperty name= nombreinstancia property= propiedad /> <jsp:setproperty name= nombreinstancia property= propiedad value= valor /> La primera etiqueta se usa para recuperar el valor de la propiedad indicada en el parámetro property, para la instancia con el nombre indicado en el parámetro name. La segunda etiqueta se usa para establecer el valor de la propiedad indicada a la derecha del parámetro property con el valor del parámetro value para la instancia del bean indicada con el parámetro name. Finalmente, como ejemplo, se va a instanciar un bean de la clase FuenteBean, después se va a modificar la propiedad codigo de una instancia del bean FuenteBean, asignándole primero un valor al código de la fuente y a continuación se recupera dicho valor: <jsp:usebean id= fuente class= FuenteBean /> <jsp:setproperty name= fuente property= codigo value= YO /> Carlos Cuervo Martínez 5

<jsp:getproperty name= fuente property= codigo /> Comparación con otras tecnologías Para desarrollar una aplicación como la que se presenta, se podían haber usado otras tecnologías como Active Server Pages (ASP) o Java Servlets, entre otras. JSP vs. Servlets Como las páginas son automáticamente traducidas a Java Servlets, no hay diferencia entre lo que se puede hacer en una página JSP y un Servlet. Ambas tecnologías son ejecutadas en una máquina virtual de Java (JVM), eliminando la necesidad para el servidor web de crear un nuevo proceso cada vez que llega una petición de una página web, lo que supone una gran ventaja sobre otros mecanismos como los scripts CGI. La principal ventaja de JSP sobre los servlets es que JSP sigue una división más lógica entre la visualización (el HTML generado) y la lógica del lado del servidor, que indica como es rellenada la página. Es fácil modificar la apariencia de una página JSP sin tener que modificar ningún código java ni en la página ni en los JavaBean (si se usan). JSP vs. ASP En lo referente a sus características, JSP y ASP son muy similares. Ambos crean páginas web dinámicamente desde páginas HTML marcadas con unas etiquetas especiales. Ambas soportan la inclusión de código directamente en la página, así como el uso de componentes encapsulados: componentes COM en ASP y JavaBeans en JSP. La mayor diferencia entre las dos tecnologías es la compatibilidad de plataforma. ASP está únicamente disponible para Windows, a través de Microsoft's IIS Web Server. JSP está disponible para cualquier servidor web y cualquier plataforma con soporte para Java Servlets. Además, el motor JSP está escrito completamente en Java. Otra diferencia es que las páginas JSP se compilan la primera vez que son solicitadas mientras que las siguientes solicitudes se cargan más rápidamente debido a que quedan residentes en la memoria del servidor. Por el contrario, en ASP las páginas tienen que ser traducidas por cada solicitud. Esta contrapartida se ve compensada con el hecho de que la mayoría de las máquinas virtuales de Java son todavía más lentas que el código nativo, en el cual está escrito el motor de ASP. Con nuevas y más rápidas máquinas virtuales de Java, JSP podrá ser más rápido que ASP en conjunto. Carlos Cuervo Martínez 6