# Introducción a JSP

Las JavaServer Pages (JSP) están basadas en la tecnología de servlets. Cuando se combina con el uso de componentes JavaBeans, JSP promete proporcionar una capacidad que es al menos tan poderosa como los Servlets, posiblemente más que un servelt en crudo, y potencialmente mucho más fácil de usar.

### La creacción y compilación del Servlet es automática

Cada página JSP es compilada automáticamente en un servlet por el motor JSP. (Sólo podemos usar JSP en servidores que sean compatibles con JSP).

La creacción y compilación automática del servlet ocurre la primera vez que se accede a la página. Dependiendo del comportamiento del servidor web, el servlet será grabado durante algún periodo de tiempo para utilizarlo una y otra vez sin necesidad de recrearlo y recompilarlo.

Por eso, la primera vez que se accede a la página, podría haber una páusa mientras que el servidor web crea y compila el servlet. Después de esto, los accesos a la página serán muchos más rápidos

### ¿Cómo se usan las página JSP?

Hay muchas formas diferentes de combinar JAP, Beans y Servlets. Como se menciono ántes, el uso juicioso de JSP hace posible combinar las mejores capacidades del HTML con los componentes de software reutilizables para crear aplicaciones del lado del servidor.

Esto hace muy práctico separar la lógica del negocio de la representación de los datos. Con esto, los programadores especializados en escribir JavaBeans que implementen la lógica del negocio, y los diseñadores de páginas especializados en HTML pueden embeber llamadas a asos Beans desde el HTML sin sin necesidad de convertirse en expertos programadores Java.

## ¿Por donde Empezar?

Como en el caso de los Servlts y JDBC, para probar nuestos ficheros JSP, necesitaremos algo más que un compilador Java y una máquina virtual.

Además de estas dos cosas, necesitamos un servidor web compatible con JSP, en el que probar los programas de ejemplo.

Podremos descargar la implementación de referencia de Sun del JSP desde: http://java.sun.com/products/jsp/download.html.

Aquí tenemos lo que Sun dice sobre su servidor web:

JavaServer (TM) Web Development Kit (JSWDK) 1.0.1 Reference Implementation - Final Release El JavaServer Web Development Kit (JSWDK)1.0.1 combina la implementación de referencia para JavaServer Pages(TM) 1.0.1 y el API Java(TM) Servlet (2.1). ... El JSWDK ofrece una forma simplificada de crear páginas web dinámicas que son independientes del servidor web y de plataformas de sistemas operativos.

## Instalación y Configuración

Cuando descarguemos el JSWDK, encontraremos que se nos proporciona mucha información para ayudarnos a instalar y configurar el servidor. En algún momento deberemos leer esta documentación. Sin embargo, para que obtengas un arranque rápido vamos a mostrarte como configurar el servidor web en una máquina WinNT. Deberías poder configurar de una forma similar tu máquina y ver las primeras demostraciones de JSP muy rápidamente.

### Instalación del JSWDK

El JSWDK se descarga como un fichero zip. Para instalarlo, simplemente tenemos que extraer los ficheros (preservando la estructura de directorios) desde el fichero zip.

Sitúar el árbol de directorios que contiene todos los ficheros en algún lugar de tu disco duro. Yo elegí el directorio Program Files en mis disco duro D.

Como resultado, mi path al directorio de más alto nivel que contiene el arbol de directorios JSWDK es:

>     d:\Program Files\jswdk-1.0.1

El nombre del directorio más alto en el árbol de directorios es jswdk-1.0.1. Con el tiempo, con la liberaciónde nuevas versiones, el nombre de este directorio seguro que cambiará.

### ¿Qué pasa con el JDK?

Cuando usamos nuestro navegador para solicitar una página JSP desde el servidor, éste debe crear y compilar un servlet. El servidor jswdk no contiene un compilador ni una máquina virtual. Por lo tanto, si no lo tenemos ya instalado, debemos instalar el JDK para que el servidor lo use para compilar y ejecutar el servlet.

En el momento de escribir esto, tengo instalada la versión JDK 1.2.2 en mi máquina. El Path al directorio de más alto nivel del JDK es:

>     d:\Program Files\jdk1.2.2

Mi instalaciónes completamente estándard (según Sun) excepto en que la tengo instalada en el disco D en lugar del disco C.

### ¿Qué pasa con el classpath?

Cuando el servidor intenta compilar el servlet, debe saber cómo localizar los ficheros class del JDK. Por lo tanto, es necesaria la variable de entorno classpath. Aquí puedes ver una parte de mi classpath:

>     d:\Program Files\jdk1.2.2\lib\tools.jar

Este elemento identifica la localización del fichero JAR que contiene las librerías de clases estándars del JDK.

#### Classpath para servlets

Como también uso el JSWDK como motor de servlet (independiente del JDP), también necesito el siguiente elemento en el classpath:

>     d:\Program Files\jswdk-1.0.1\lib\servlet.jar

Este elemento identifica la localización del fichero jar que contiene los distintos componentes de software necesarios para compilar y ejecutar servlets.

## Instalar los Ficheros HTML, JSP, y de Servlets

una vez instalado el JSWDK, veremos que el árbol de directorios resultante es bastante complejo con varias ramas diferentes.

Para usar el JSWDK en su configuración por defecto, debemos instalar los ficheros HTML, JSP, y de servlets en los siguientes directorios:

Situamos los ficheros HTML y JSP en el siguiente directorio:
    d:\Program Files\jswdk-1.0.1\webpages
Situamos los ficheros class de los servlets en el siguiente directorio:
    d:\Program Files\jswdk-1.0.1\examples\Web-inf\servlets

(la parte inicial de tu path podría ser diferente, dependiendo de donde situaras el JSWDK en tu disco duro).

## Arrancar y Parar el Servidor

Podemos arrancar el servidor ejecutando el siguiente fichero batch:

>     d:\Program Files\jswdk-1.0.1\startserver.bat

Deberíamos parar el servidor ejecutando el siguiente fichero batch:

>     d:\Program Files\jswdk-1.0.1\stopserver.bat

He situado accesos directos a estos ficheros bacth en mi escritorio para arrancar y parar el servidor fácilmente.

#### Ficheros Temporales

Cuando arrancamos el servidor y accedemos a una página JSP, si prestamos atención al árbol de directorios, veremos que se han creado varios ficheros temporales en un directorio llamado work. Este directorio es un subdirectorio del directorio de más alto nivel del motor JSP llamado jswdk-1.0.1. Cuando paramos el servidor, estos ficheros temporales se borran automáticamente.

## Acceder a Ficheros HTML y JSP

#### Acceder a un Fichero JSP

Habiendo realizado la instalación y configuración descrita arriba, y habiendo instalado un fichero JSP (llamado jsp001.jsp) en el directorio adecuado, debemos poder acceder a ese fichero JSP introduciendo la siguiente URL en la ventana de nuestro navegador:

>     http://localhost:8080/jsp001.jsp

Podríamos necesitar estar online para que esto funciones. En caso de que no funciones, necesitaremos estudiar la documentación del JSWDK para aprender otras formas alternativas para direccionar el servidor.

#### Acceder a un Fichero HTML

De forma similar, deberíamos poder acceder a un fichero HTML llamado jsp001.htm introduciendo la siguiente URL en nuestra ventana de navegador:

>     http://localhost:8080/jsp001.htm

Ozito