JSP y JSTL

¿Que es JSP?

Java Server Pages(JSP) es una tecnologia que ayuda a los desarrolladores de software a crear paginas web dinámicas basadas en HTML y XML, entre otros tipos de documentos. JSP es similar a PHP, pero usa el lenguaje de programación Java.

Para desplegar y correr JavaServer Pages, se requiere un servidor web compatible con contenedores servlet como Apache Tomcat o Jetty


Ventajas y desventajas de JSP

Ventajas:

La principal ventaja de JSP frente a otros lenguajes es que el lenguaje Java es un lenguaje de propósito general que excede el mundo web y que es apto para crear clases que manejen la lógica de negocio y acceso de datos de una manera prolija. Esto permite separar en niveles las aplicaciones web, dejando la parte encargada de generar el documento HTML en el archivo JSP

Otra ventaja es que JSP hereda la potabilidad de Java, y es posible ejecutar las aplicaciones en múltiples plataformas sin cambios. Es común incluso que los desarrolladores trabajen en una plataforma y que la aplicación termine siendo ejecutada en otra.

Etiquetas JSP para simplificar el código y dar mayor funcionalidad. Desarrollar sitios web utilizando etiquetas presenta ciertas ventajas como, facilitar el aprendizaje, facilitar el mantenimiento, fomentar la modularidad y la reutilizacion y simplificar el código y reducir el numero de lineas necesarias.


Desventajas:

Una de las desventajas de que JSP tiene es que no posee una interfaz, ya que la interfaz web es limitada, la codificación de interfaces elaboradas lleva muchas líneas de código, y la mayoria debe hacerse usando scripts (javascript). No tiene tipo VARIANT de variables, tampoco soporta Switchs o arrays con índices alfanuméricos, y la carga de la interfaz es mas lenta que la de una aplicación de escritorio.

Otra desventaja que tambien tiene es que la mayor parte de la lógica de la aplicación se ejecuta en el servidor, por lo que se corre riesgo de sobrecargar al mismo y, la aplicación no esta disponible si ocurre algún problema con el servidor o con la conexión de red.


¿Que es la API de JSP?

Una API es una colección de paquetes, clases, interfaces y subpaquetes. y el subpaquete es tambien una colección de interfaces de clases y subpaquetes, etc.

La API JSP consiste en dos paquetes:

  • javax.servlet.jsp
  • javax.servlet.jsp.tagext



Formas de utilizar JSP

Declaraciones

Las declaraciones JSP nos permiten configurar variables para su uso posterior en expresiones o scriptlets. Tambien podemos declarar variables dentro de expresiones o scriptlets en el momento de usarlas. El ambito es toda la pagina JSP, no hay concepto de variables de ejemplar para usar en mas de una expresion o scriptlet. las declaraciones van encerradas entre etiquetas de declaracion <%! Codigo Java %>. Como las declaraciones no generan ninguna salida, normalmente se usan en conjuncion con expresiones JSP o scriptlets, ejemplo:

<! private int accesCount = 0; >

         Numero de accesos a la página 
<= +,+accesCount>



Scriptlets

Si lo queremos hacer es algo mas complejo que una expresion, es decir crear codigo java complejo e insertarlo en el servlet resultante de la compilacion de la pagina JSP usaremos Scriptlets, la manera de insertar este codigo es:

<%
        codigo a incluir

%>


Con los Scriptlets tambien podemos escribir en la pagina resultante sin usar las expresiones, la manera de hacerlo es usar la variable out con su metodo println:

<%

         out.println("Salida de la pagina");

%>

Los scriptlets ofrecen la posibilidad de ser combinados facilmente con codigo HTML, ya que el mismo es como si se metiera dentro de un out.println por eso es lo mismo:

<%

     if(condicion)

%>
    Condicion 1

<%

     else

%>

   Condicion 2
   que:

<%

       if(condicion)
       out.println("Condicion 1");
       else
       out.println("Condicion 2");

%>


Si queremos usar los caracteres "%>" dentro de un scriptlet, debemos poner "%>". Finalmente observa que el equivalente XML de <% Codigo %> es:

<jsp:scriptlet>
     codigo
</jsp:scriptlet>




Expresiones

Se usan para mandar valores directamente a la pagina web resultante de la JSP, <%=expresion%>, la expresion es ejecutada, se convierte a una cadena de caracteres(String) y insertada en la pagina.

En las expresiones podemos usar gran cantidad de variables predefinidas, los mas usados son:

  • request, de la clase HttpServletRequest
  • response, de la clase HttpServletResponse
  • session, de la clase HttpSession que esta asociada al request, si es que trabajamos con sessions
  • out, se trata de una clase PrintWriter usada para imprimir directamente en la pagina resultante.

Finalmente observa que los autores XML pueden usar una sintaxis alternativa para las expresiones JSP.

<jsp:expresion>

         Expresion JSP

</jsp:expresion>



Directivas JSP

Las directivas JSP nos permiten configurar alguna informacion que pueda ser usada en nuestra pagina JSP, por ejemplo cosas como importar clases,definir una pagina de error, incluir una pagina JSP en otra, en fin.

Directiva Page

Se utiliza para establecer algunas propiedades a nuestra pagina JSP. Tiene los siguientes atributos: import, session, buffer, autoflush, isThreadSafe, entre otros


Directiva Include

Nos permite insertar contenido de otro archivo en una JSP. Veamos el ejemplo, crea el archivo "header.jsp"


<h1>Esta el header de la JSP.</h1>
Ahora nuestra index.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%@include file="header.jsp"  %>
        Y Este es el cuerpo de nuestra jsp.
    </body>
</html>

En el código anterior simplemente incluimos el archivo "header.jsp" en nuestro "index.jsp" con la siguiente linea:

<%@include file="header.jsp"  %>



Directiva TagLib

Esta parte es un poco mas complicada. Pero básicamente, la directiva TagLib nos permite utilizar librerías de etiquetas creadas por el propio programador en nuestra pagina jsp. Podemos usar nuestras propias etiquetas (llamadas también etiquetas personalizadas o Custom tags) en nuestro JSP y también nos permite usar etiquetas JSTL.



¿Que es JSTL?

La libreria JSTL es un componente dentro de la especificación del Java 2 Enterprise Edition (J2EE) y es controlada por Sun MicroSystems, JSTL no es mas que un conjunto de librerías de etiquetas simples y estándares que encapsulan la funcionalidad principal que es usada comúnmente para escribir paginas JSP. Las etiquetas JSTL están organizadas en 4 librerías:

  • core: Comprende las funciones script básicas como loops,condicionales, y entrada/salida.
  • xml: Comprende el procesamiento xml
  • fmt: Corresponde la internacionalización y formato de valores como de moneda y fechas
  • sql: Comprende el acceso a la base de datos.


¿Que es un JavaBeans?

Son un modelo de componentes creado por Sun MicroSystems para la constuccion de aplicaciones en Java.

Se usan para encapsular varios objetos en un unico objeto (la vaina o Bean en ingles), para hacer uso de un solo objeto en lugar de varios mas simples.

La especificacion de JabaBeans de Sun Microsystems lo define como "componentes de software reutilizables" que se pueden manipular visualmente en una herramienta de construcción



Explique el patrón de diseño MVC


Es un patrón de arquitectura de software, que separa los datos y la lógica de negocio de una aplicación de su representación y el modulo encargado de gestionar los eventos y las comunicaciones: Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información y por otro lado la interacción del usuario. Este patron se arquitectura de software se basa en la ideas de reutilizacion de codigo y la separacion de conceptos, caracteristicas que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento. 


Modelo:

Es la representación de la información con la cual el sistema opera, por lo tanto gestiona todos los accesos de dicha información, tanto consultas como actualizaciones, implementando también los privilegios de acceso que se hayan descrito en las especificaciones de la aplicación (Lógica de negocio). Envía a la "vista " aquella parte de la información que en cada momento se solicita para que sea mostrada (tipicamente a un usuario). Las peticiones de acceso o manipulación de información llegan al "modelo" a través del controlador


Controlador:

Responde a eventos (usualmente acciones del usuario) e invoca peticiones al "modelo" cuando se hace alguna solicitud sobre la informacion (por ejemplo, editar un documento o un registro en una base de datos). Tambien puede enviar comandos a su "vista" asociada si se solicita un cambio en la forma en que se presenta el "modelo" (por ejemplo desplazamiento o scroll por un documento o por los diferentes registros de una base de datos), por tanto se podria decir que el "controlador" hace de intermediario entre la "vista" y el "modelo"


Vista:

Presenta el "modelo" (informacion y logica de negocio) en un formato adecuado para interactuar (usualmente la interfaz de usuario) , por tanto requiere de dicho "modelo" la informacion que debe representar como salida







Comentarios

Entradas populares de este blog

INTRODUCCIÓN A JAVA