Você está na página 1de 9

Tema 5 Revisin de tecnologas Web

Comercio Electrnico
Csar Fernndez Acebal Universidad de Oviedo
www.cesaracebal.com acebal@uniovi.es

Qu es J2EE?
La plataforma J2EE (Java 2 Enterprise Edition) son (Java Edition) una serie de tecnologas para el desarrollo de aplicaciones Web empresariales Proporciona un modelo para el desarrollo de aplicaciones distribuidas multicapa
Capa cliente Capa intermedia
Comunicacin con el cliente (capa Web): Servlet JSP Servlet, Lgica del negocio: Enterprise JavaBeans (EJB)

Capa de acceso a datos


Bases de datos relacionales, ERP, aplicaciones heredadas
Comercio Electrnico (EUITIO) Csar Acebal

Capa Web
En este bloque nicamente nos centraremos en la capa Web, esto es:
Servlet Java Server Pages (JSP)

Permiten recibir una peticin del usuario a travs de un URL y le devuelven unos resultados
Probablemente, interactuando con otros componentes de la arquitectura J2EE del servidor

Comercio Electrnico (EUITIO) Csar Acebal

Servlets
Forman parte de la plataforma J2EE, para el desarrollo de aplicaciones en el servidor. Veremos algn ejemplo sencillo, para lo que usaremos el contenedor de servlets Tomcat, de Apache.

Requisitos de una aplicacin Web


Como siempre, se necesitar:
Modelo de programacin y API para el desarrollo Soporte para el despliegue de la aplicacin
Es decir, cmo se instala sta en el servidor

Soporte en tiempo de ejecucin por parte del servidor


Que sepa cmo responder a las peticiones de los clientes

A continuacin veremos someramente cmo se traduce esto en el caso de los servlets

Comercio Electrnico (EUITIO) Csar Acebal

API de los Servlet


Servlet y JSP son los dos bloques bsicos de J2EE para el desarrollo de aplicaciones Web
Aplicacin Web: coleccin de componentes Web, clases, recursos estticos (documentos HTML, imgenes), etc.

Los servlets son pequeos programas en el servidor que extienden la funcionalidad del servidor Web
Implementan mtodos que responden a las peticiones GET/POST de HTTP Podemos (y debemos) entenderlos como puertos lgicos
Su misin es encaminar las peticiones llamando a las clases apropiadas en el servidor No deberan incluir lgica de programacin (la mnima imprescindible)
Comercio Electrnico (EUITIO) Csar Acebal

API de los Servlet (2)


La Java Servlet API proporciona un marco simple para construir aplicaciones Web que respondan a peticiones de clientes:
Interfaces y clases que definen cmo debe ser un servlet genrico
Mtodos, parmetros especficos de HTTP

Interfaces y clases que definen los objetos que transmiten las peticiones y las respuestas

La especificacin de los servlet, junto con la implementacin de la API, manuales, etc. est en:
http://java.sun.com/products/servlet/
Comercio Electrnico (EUITIO) Csar Acebal

Despliegue
La especificacin de los Servlet define cmo debe ser la estructura de directorios de una aplicacin Las clases Web:
ejemplos WEB-INF classes lib
web.xml

compiladas de Java (servlets, JavaBeans, etc.) Cualquier fichero .jar necesario para la aplicacin

Y ste (el directorio raz de la aplicacin) ira en el directorio webapps de Tomcat

Descriptor de despliegue (cmo llamar a los servlet, seguridad, etc.)

Comercio Electrnico (EUITIO) Csar Acebal

Soporte en tiempo de ejecucin


Para poder probar los ejemplos, necesitamos tener instalado un contenedor de servlets
Por ejemplo, Tomcat, de la Apache Software Foundation
http://jakarta.apache.org/tomcat/

Los contenedores de servlets de J2EE proveen:


Soporte para los servicios de red Inicializacin y gestin del ciclo de vida de los servlets (y JSP) Una implementacin de la Java Servlet API

Comercio Electrnico (EUITIO) Csar Acebal

El contenedor de servlets
Se encargan de:
Recibir las peticiones de los clientes Pasar las peticiones al servlet Devolver los resultados al cliente

La API define la interfaz entre el contenedor y los servlets

Comercio Electrnico (EUITIO) Csar Acebal

10

Ciclo de vida de un servlet


El contendor crea una instancia del servlet Llama al mtodo init de ste Si hay una peticin para el servlet, llama a su mtodo
service

Antes de destruir un servlet, el contenedor llama a su mtodo destroy

Comercio Electrnico (EUITIO) Csar Acebal

11

Ejemplos
Hola, mundo! Obtencin de los datos de un formulario
Ojo!, que estos son meros ejemplos sobre el funcionamiento de los servlets. Pero su cometido no deber ser el de crear pginas HTML (para eso, en Java, estn las pginas JSP), sino recibir peticiones y encaminarlas a las clases apropiadas en el servidor.

Comercio Electrnico (EUITIO) Csar Acebal

12

Java Server Pages (JSP)

Qu es JSP?
Una tecnologa para crear pginas Web dinmicas
Contiene cdigo HTML normal junto elementos especiales de JSP

Estn construidas sobre servlets Vienen a resolver el problema de aqullos (que era el mismo que con CGI), es decir:
Que la creacin de la pgina Web se haga generando HTML directamente por cdigo, en un lenguaje de programacin Esto dificulta enormemente la separacin de tareas en el equipo de desarrollo, entre diseadores y programadores
Comercio Electrnico (EUITIO) Csar Acebal

14

Insertar JSP en pginas HTML


JSP (como ASP) aborda el problema a la inversa:
En vez de insertar HTML en cdigo de programacin, podremos insertar ciertos elementos de cdigo en las pginas HTML

Comercio Electrnico (EUITIO) Csar Acebal

15

Ejemplo de pgina JSP


<html> <head> <title>Saludo personalizado con JSP</title> </head> <body> <% java.util.Date hora = new java.util.Date(); %> <% if (hora.getHours() < 12) { %> <h1>Buenos das!</h1> <% } else if (hora.getHours() < 21 { %> <h1>Buenas tardes!</h1> <% } else { %> <h1>Buenas noches!</h1> <% } %> <p>Bienvenido a nuestro sitio Web, abierto las 24 horas del da.</p> </body> </html>
Comercio Electrnico (EUITIO) Csar Acebal

16

Para este viaje hacen falta tantas alforjas?


Lo cierto es que incluir mucha lgica de programacin en una pgina Web no es que sea mucho mejor que generar el HTML por programa Pero JSP proporciona los elementos de accin (action elements) que son como etiquetas HTML pero que representan cdigo reutilizable Adems, podramos llamar a otras clases Java del servidor, a componentes (Javabeans o EJB) (Javabeans EJB)
Comercio Electrnico (EUITIO) Csar Acebal

17

Separacin de presentacin y lgica


En definitiva, lo que permite JSP (bien utilizado) es una mayor separacin entre la presentacin de la pgina y la lgica de la aplicacin, que ira aparte
(Desde la pgina JSP nicamente llamaramos, de diferentes formas, a ese cdigo)

Comercio Electrnico (EUITIO) Csar Acebal

18

Você também pode gostar