Está en la página 1de 6

Java Server Pages (JSP).

UNAM Facultad de Ciencias. Ingeniera de Software. Introduccin a pginas JSP. Alfredo Pavel Cedillo Prez.

1. Introduccin. Las pginas JSP (Java Server Pages) resultan ser de una extensin de los servlets para ofrecer soporte en la creacin de pginas dinmicas. Las JSP hacen sencillo el poder combinar cdigo Java en el contenido de pginas HTML/XML, es decir, permite mezclar cdigo HTML esttico con HTML generado de manera dinmica. Las JSP pueden hacer las mismas funciones que un servlet slo que de manera ms simple y simplificada (de hecho al final, obtendremos un servlet), teniendo un acceso completo a todos los APIs que Java nos ofrece.

2. Funcionamiento de un JSP. El servlet resultante de transformar una pgina JSP es una combinacin de cdigo HTML y del contenido dinmico indicado por las etiquetas de JSP. Para poder utilizar nuestro archivo es necesario un servidor de aplicaciones (web) que interprete y compile el cdigo dentro de las etiquetas JSP, generando a su vez un servlet que genera el cdigo HTML de salida.

Figura 1. Funcionamiento de un Servlet.

Para la compilacin de pginas, el compilador escanea el documento buscando las respectivas etiquetas JSP, generando el cdigo Java correspondiente de cada una de ellas. Las etiquetas en formato HTML se covierten en Strings de Java. Una vez que el cdigo del servlet ha sido construido, el compilador de pginas hace una solicitud al compilador propio de Java para compilar el cdigo fuente restante, aadiendo el archivo binario al directorio del contenedor JSP. Una vez generado el servlet de la pgina .jsp ste se invoca por el contenedor de pginas para generar la respuesta al cliente.

Figura 2. Funcionamiento de un contenedor de servlets en un servidor web.

3. Ventajas de los JSP. Una de las mayores ventajas de las pginas JSP es la separacin que existe de contenido fijo/esttico, la presentacin del contenido dinmico as como la lgica que existe detrs del resultado. En un servlet, generar la salida para el usuario se hace dentro del propio servlet, es decir, las etiquetas HTML correspondientes al resultado se generan a travs de instrucciones out.println(<choro HTML>). Cuando tenemos la necesidad de modificar algo relacionado a la interfaz de usuario, tenemos que modificar el cdigo fuente del servlet y volver a compilarlo, esto no es ideal ya que tenemos que modificar el cdigo del servlet por muy pequeo que sea el cambio. Aqu es donde las pginas JSP nos son ms tiles ya que separan la presentacin de la implementacin, usando delimitadores de scriplets que nos muestran el cdigo hecho en Java y fuera de ellos la presentacin HTML. En proyectos de trabajo, se puede separar el trabajo de los diseadores Web de los desarrolladores, as un diseador se encarga de la presentacin ofrecida por la pgina JSP, mientras que el desarrollador se encargar de la implementacin del cdigo fuente. Aparte de los delimitadores de scriptlets, las pginas JSP tienen una serie de etiquetas especiales parecidas a las etiquetas XML que permiten realizar una serie de acciones determinadas (que veremos ms adelante).

4. Elementos de un JSP. Como ya vimos anteriormente un JSP es una mezcla de etiquetas HTML y etiquetas JSP. Dentro del conjunto de elementos dinmicos de un JSP, destacamos los siguientes: Directivas: funcionan como mensajes que enva el JSP al contenedor de pginas JSP. Nos sirven para establecer valores globales que afectan a nuestro JSP. <%@ nombreDirectiva atributo=valor ... atributoN=valorN%> Elementos de Scripts: permiten incluir cdigo Java en nuestra pgina JSP. Nos permiten declarar objetos, instancuarlos, ejecutar mtodos y definirlos, etc. Los dividimos en cuatro subelementos: Declaraciones: son bloques de cdigo Java que nos permiten declarar variables y mtodos dentro de una pgina JSP. Para poder incluirlos se usa la sintaxis: <!% cdigo Java %> Scriplets: es un fragmento de cdigo Java dentro de un JSP que se ejecutar cuando se realice una peticin a la misma. Su sintaxis es la siguiente: <% cdigo Java %> Expresiones: nos devuelven un resultado a la respuesta dada al usuario, la expresin se evala y se retorna una cadena que es enviada al ciente. Su sintaxis es: <%= cdigo Java %>

Comentarios: Dentro de una pgina JSP existen distintos tipos de comentarios: De HTML: <!comentario --> De JSP: <%-- comentario --%> De Java: <%// comentario de lnea%> y <%/* comentario de varias lneas */>

4.1. Directivas. Brindan informacin acerca de la pgina, por ejemplo, los paquetes que importamos, manejo de errores o si la pgina forma parte de una sesin. Posibles directivas en JSP : Page: Informacin para nuestra pgina. Include: Incluye archivos completos. Taglib: La direccin de la biblioteca de tags que se usarn en la pgina.

Atributos y posibles valores. language=java extends=package.class

Descripcin. Comunica al servidor el lenguaje que va a ser utilizado en el archivo. Java es el nico posible. La variable extends, define la clase padre del servlet generado. Normalmente no es necesario utilizar otras que no sean las clases base del proveedor. Sirve para especificar los paquetes y clases que se quieran utilizar. Por defecto session vale true, manteniendo los datos de la sesin para la pgina. Por defecto vale true, manda seales al motor de JSP para que mltiples pedidos del cliente puedan ser tomadas como una. Informacin en la pgina a la que puede accederse a trves del mtodo Servlet.getServletInfo(). Pgina que manejar las excepciones de errores. Marca a la pgina como la pgina que manejar los errores.

import=package.*, package.class session=true/false isThreadSafe=true/false

info=text

errorPage=pagina_error isErrorPage=true/false

4.2. Declaraciones. Sirven para la declaracin de mtodos y variables a nivel de clase que son usadas en la pgina.

4.3. Expresiones. Se transforman las expresiones como cadenas para su inclusin en la pgina de salida. Todo lo que est delimitado por los tags <%= y %>, ser evaluado, convertido a una cadena y al final mostrado en pantalla. Es importante sealar que no es necesario terminar una expresin con punto y coma (;). Esto porque el compilador de JSP, pondr la expresin automticamente entre un out.println() o un out.write() .

Objetos implcitos. request response

Descripcin. Es la peticin del cliente. Es normalmente una subclase de la clase HttpServletResponse Es la pgina JSP de respuesta y es una subclase de HttpServletResponse. Los atributos de la pgina y los objetos implcitos necesitan ser accesibles a travs de la API, para permitir al motor de JSP compilar la pgina. Pero cada servidor tiene implementaciones especificas de cada uno de esos atributos y objetos. Para solucionar el problema anterior, el motor de JSP utiliza la clase Factory para devolver la implementacin de clase PageContext del servidor. Esta clase PageContext es inicializada con los objetos response y request y algunos atributos de la directiva de la pgina (error page, sesin, buffer y autoflush) y facilita los otros objetos implcitos para la pgina de peticin. El objeto de sesin HTTP asociado a la peticin. Lo que devuelve el servlet cuando se llama a getServletConfig().getContext() El objeto que representa la salida del texto por pantalla. El objeto ServletConfig de la pgina. Es la forma que tiene la pgina para referirse a s misma. Se usa como alternativa al objeto this. Es una subclase libre de Throwable que es pasada a la pgina que maneja los errores.

pageContext

session application out config page

exception

También podría gustarte