Programación Orientada a Objetos
mayo, 2003
SERVLETS Y JSP
Alfonso Cubero Moral
Sergio Luna García
Departamento de Informática y Automática
Universidad de Salamanca
3º de Ingeniería Técnica en Informática de Sistemas
[email protected]
Información de los autores:
Alfonso Cubero Moral
Facultad de Ciencias – Universidad de Salamanca
Sergio Luna García
Facultad de Ciencias – Universidad de Salamanca
3º de Ingeniería Técnica en Informática de Sistemas
[email protected]
Este documento puede ser libremente distribuido.
© 2003 Departamento de Informática y Automática - Universidad de Salamanca.
Resumen
En este documento se pretenden mostrar dos de las principales tecnologías de generación
dinámica de páginas Web: los servlets y las JavaServer Pages (JSP).
El trabajo está dividido en tres partes fundamentalmente: una primera en la que se
describen someramente las diferentes tecnologías que se usaron y se usan actualmente para
generar contenido dinámico; una segunda en la que se explican detalladamente los servlets: sus
principales características, su esquema básico de funcionamiento, paquetes Java para la
utilización de servlets y las ventajas que aporta, sobre todo respecto a otra técnica muy usada
llamada Common Gateway Interface (CGI), además de algún sencillo ejemplo ilustrativo; y la
última que está centrada en las páginas JSP: sus características y funcionamiento, ventajas que
aporta, ejemplos.
Finalmente se exponen unas pequeñas conclusiones acerca de las ventajas-desventajas y
utilización tanto de servlets como de JSP.
Abstract
This document tries to show two of the main technologies of dynamic generation of web sites:
Servlets and JavaServer Pages (JSP).
The work is divided into three main parts: the first one describes in a general way the
different technologies used in the past and in current use to generate dynamic content; the
second one explains detail by detail the servlets: their main characteristics, their basic working
scheme, Java packages to servlets using and the given advantages, mainly respect to other
technique very used called Common Gateway Interface (CGI), moreover some easy illustrative
example; and the last one is focus on the JSP pages: their characteristics and working method,
given advantages, examples.
Finally this work presents a few conclusions about the advantages and disadvantages of the
use of servlets and JSP.
Programación Orientada a Objetos – Trabajo teórico
i
Tabla de Contenidos
1. Introducción
2. Diferentes tecnologías para Web dinámicas
3. Servlets
3.1. Características
3.2. Funcionamiento
3.3. Servlets VS CGI
3.4. Paquetes Java para servlets
3.5. Ejemplo de servlet
4. JavaServer Pages (JSP)
4.1. Características de JSP
4.2. Funcionamiento
4.3. Ventajas de JSP
4.4. Ejemplo de JSP
5. Entorno de explotación
6. Conclusiones
7. Bibliografía
1
2
4
4
5
6
7
8
10
10
11
13
13
15
16
17
Índice de figuras
Figura 1. Esquema de funcionamiento de CGI
Figura 2. Esquema de funcionamiento de los servlets
Figura 3. Código de formulario HTML
Figura 4. Resultado de la carga del fichero HTML
Figura 5. Código del servlet
Figura 6. Salida generada por el servlet
Figura 7. Separación entre código de presentación y código de
implementación en JSP
Figura 8. Esquema de ejecución de una página JSP
Figura 9. Código de la página JSP
Figura 10. Código HTML generado por la página JSP
Figura 11. Cálculo de factoriales usando JSP
2
5
8
8
9
9
10
12
14
14
15
ii Programación Orientada a Objetos – Trabajo teórico
1. Introducción
Tradicionalmente las páginas Web mostraban información que cambiaba rara vez o
nunca. Esta forma estática de mostrar información era bastante eficiente puesto que la
página se creaba una única vez y se presentaba. Cuando era necesario se hacían
mínimos cambios y ya estaba lista otra vez. Pero rápidamente surgió la necesidad de
interactuar con el usuario y de adaptar la información a sus necesidades, o mostrar
información que se toma de bases de datos que cambian frecuentemente. Con la
forma que había de crear documentos HTML estáticos era imposible mantener esas
páginas si se querían construir con cierto dinamismo. Por ello aparecieron las técnicas
de generación dinámica de páginas. Estas técnicas permiten de forma relativamente
fácil mantener actualizadas las páginas aunque se muestre información que cambia
frecuentemente y
formas de establecer comunicaciones
personalizadas con los usuarios.
también posibilitan
- 1 -
Servlets y JSP
2. Diferentes tecnologías para Web dinámicas
La generación de contenido dinámico para la Web requiere que el servidor realice
algún tipo de procesamiento adicional sobre la petición HTTP iniciada por el cliente,
con el fin de generar una respuesta personalizada.
Como solución a esto, a lo largo del tiempo han ido surgiendo diferentes
soluciones:
• Common Gateway Interface (CGI): los primeros servidores HTTP no
incluían ningún mecanismo para generar respuestas dinámicamente, por lo
tanto se crearon interfaces para comunicar el servidor con programas
externos que
funcionalidad. El esquema de
funcionamiento de esta aproximación se ilustra en la Figura 1:
implementaran dicha
Figura 1. Esquema de funcionamiento de CGI
• ColdFusion: creado por Allaire, proporciona un conjunto de etiquetas
similares a las de HTML, que encapsulan peticiones a bases de datos
desde páginas Web. Actualmente, estas etiquetas se han extendido para
soportar un amplio rango de orígenes de datos. Soporta plataformas UNIX
y Microsoft Windows.
Programación Orientada a Objetos – Trabajo teórico
2
Cubero y Luna
• Active Server Pages (ASP): soporta múltiples lenguajes de script, entre los
que se incluyen: PerlScript, JScript y VBScript. El lenguaje por defecto para
ASP es VBScript (un subconjunto de Visual Basic). VBScript incluye
soporte para acceso a componentes Active-X. La mayor limitación de ASP
es que sólo está disponible para IIS (Internet Information Server) corriendo
sobre el sistema operativo Windows NT. Aunque se han desarrollado
herramientas para portar ASP a otras plataformas, la potencia de ASP está
en el uso de objetos Active-X, que sólo están disponibles para plataformas
Windows.
• WebClass: esta tecnología está fuertemente ligada a ASP. Se trata de un
componente que agrega Visual Basic 6 como técnica de programación para
Internet. Una WebClass es un componente que se ejecuta dentro de un IIS
interceptando y procesando todas las peticiones que los clientes realizan a
un documento ASP. La clase Web entra en funcionamiento cuando el
explorador cliente hace referencia a una página en la aplicación y, desde
ese instante, reacciona a las acciones del usuario realiza sobre la página.
• Server-Side JavaScript (SSJS): el lenguaje que soporta esta tecnología es
una extensión del núcleo de JavaScript. JavaScript es un lenguaje basado
en prototipos, no en clases, donde se usan objetos pero no clases ni
herencia. SSJS incorpora funcionalidades para soporte de bases de datos y
correo electrónico, manejo de sesiones e interrelación con clases del lado
servidor mediante la tecnología de Netscape LiveWire. SSJS es un
lenguaje compilado, donde un conjunto de páginas Web que contienen
SSJS se compilan en una aplicación Web que se ejecuta siempre que se
solicita la URL asociada. El código compilado SSJS no depende de ninguna
plataforma, aunque sí es específico de los servidores Web de Netscape.
• Hipertext PreProcessor (PHP - Personal Home Page tools): es un producto
de Open Source (gratuito). Proporciona grandes facilidades para acceso a
bases de datos y manejo de patrones. También incorpora extensiones para
comunicación con otros recursos de red como correo electrónico,
servidores de directorio, SNMP e IMAP. PHP es compatible con Linux,
Windows NT y varios sistemas operativos UNIX, así como con un amplio
número de servidores Web como Apache, Microsoft IIS y Netscape
Enterprise Server.
• FastCGI: FastCGI es la evolución natural de CGI en la que el programa CGI
se conserva en memoria de forma persistente. Mediante FastCGI existe la
posibilidad de que el programa CGI resida en máquinas diferentes a la del
servidor Web, algo que conlleva ventajas a la hora de repartir la carga y fijar
políticas de seguridad.
• Java Servlets: fueron introducidos por Sun en 1996 como pequeñas
aplicaciones Java para añadir funcionalidad dinámica a los servidores Web.
Los servlets, al igual que los scripts CGI, reciben una petición del cliente y
generan los contenidos apropiados para su respuesta, aunque el esquema
de funcionamiento es diferente.
3 Programación Orientada a Objetos – Trabajo teórico
Servlets y JSP
• JavaServe
Comentarios de: Servlets y JSP (0)
No hay comentarios