JSP y JSTL


JSP:

JSP es un acrónimo de Java Server Pages, funciona como una técnología orientada a crear páginas web con programación en Java.

Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web, de multiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las páginas JSP están compuestas de código HTML/XML mezclado con etiquetas especiales para programar scripts de servidor en sintaxis Java.


Ventajas y Desventajas de usar JSP:

Ventajas: JSP hereda la portabilidad 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 reutilización y simplificar el código y reducir el número de líneas necesarias.

Desventajas: Una de las desventajas 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 mayoría debe hacerse usando scripts(javascript). No tiene tipo VARIANT de variables, tampoco soporta Switchs o arrays con índices alfanúmericos, y la carga de la interfaz es más lenta que la de una aplicación de escritorio.


Api de JSP:

La api de JSP consite en dos paquetes:


  • javax.servlet.jsp
  • javax.servlet.jsp.tagext
Lo más relevante de esta API son:

Sus interfaces 
  • Tag, que todas las etiquetas deben implementar
  • BodyTag, extiende a la anterior y define métodos adicionales para inspeccionar el cuerpo de una etiqueta.
Las clases

  • BodyContent, un manejador (handler) para leer y escribir en el cuerpo de una etiqueta.
  • BodyTagSupport, que implementa la interfaz BodyTag
  • TagAttributeInfo, para obtener la información de los atributos de la etiqueta declarados en el TLD.
  • TagData, que contiene los valores de los atributos.
  • TagExtraInfo, para especificar información extra de una etiqueta, como las variables que introduce en el código o los atributos que serán validados.
  • TagInfo, basado en la información de la TLD.
  • TagLibraryInfo, representa la información de una TLD.
  • TagSupport, implementa la interfaz Tag.
  • VariableInfo, contiene información como el tipo y ámbito de las variables creadas o modificadas por la etiqueta.

Formas de utilizar JSP:

Declaraciones: Se utilizan para definir variables y métodos que se utilizarán en scriplets y expresiones posteriores.
Su sintaxis es:


<%!
   Declaraciones
%>

Expresiones: Son una evaluación de una expresión Java. Su sintaxis es:

<%= contador %>

Scriplets: Pueden incluir cualquier tipo de código Java dentro.
Su sintaxis es:

<%
   
// aquí pondremos el código Java que necesitemos
   out.println(
"Hola desde Java");
%>


Directivas JSP:

Son etiquetas a partir de las cuales se genera información que puede ser utilizada por el motor JSP. No producen una salida visible al usuario si no que configuran la página JSP
Su sintaxis es:

<%@directiva atributo="valor" %>


Las directivas disponibles son:

  • Include 
    Incluye el contenido de un fichero en la página mediante el atributo file.
     <%@include file="cabecera.html" %>
  • taglib
    Especifica atributos relacionados con la página a procesar. Los atributos son:
Atributo
Sintaxis
Utilización
import<%@page import="java.util.Map"%>Importa clases y paquetes Java para ser utilizadas dentro del fichero JSP.
session<%@page session="true"%>Especifica si utiliza los datos contenidos en sesión; por defecto "true".
contentType<%@page contentType="text/html"%>Especifica el tipo MIME del objeto "response"; por defecto "text/html; charset=ISO-8859-1".
buffer<%@page buffer="12kb"%>Buffer utilizado por el objeto writer "out"; puede tomar el valor de "none"; por defecto "8kb".
errorPage<%@page errorPage="error.jsp"%>Especifica la ruta de la página de error que será invocada en caso de producirse una excepción durante la ejecución de este fichero JSP.
isErrorPage<%@page isErrorPage="true"%>Determina si este fichero JSP es una página que maneja excepciones. Únicamente a este tipo de páginas pueden acceder a la variable implícita "exception", que contiene la excepción que provocó la llamada a la página de error.

¿Qué es JSTL?:

La librería JSTL es un conjunto de librerías de etiquetas simples y estándares que encapsulan la funcionalidad principal que es usada comúnmente para escribir páginas 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 de xml.
  • Fmt: Comprende la internacionalización y formato de valores como de moneda y fechas.
  • Sql: Comprende el acceso a base de datos.
Importancia del JSTL:

Como sabemos JSTL es un grupo de códigos JSP que proporciona las funciones tandar que suele buscar los autores de páginas JSP. JSTL tiene soporte para las condiciones, iteración, formato sensible al entorno, local, entre otros. También tiene un lenguaje de expresiones que permite a los autores de páginas controlar el modo en que se recuperan y visualizan los datos.

Etiquetas JSTL:

Estructuras selectivas:

Normalmente clasificamos las estructuras Core como selectivas, dentro de las cuales podemos encontrar:

<c.choose>, <c:when> y <c:otherwise> 
Estas pueden funcionar ya sea como un Switch o como un If/else

<c.choose> Es como abrir un switch, mientras <c:when> es quien evalua la condición, para al final establecer un default o un else con la etiqueta <c.otherwise>

<c:choose>
    <c:when test="${condition1}">
       //hace algo si la condicion 1 se cumple
    </c:when>
    <c:when test="${condition2}">
        //hace algo si la condicion 2 se cumple
    </c:when>
    <c:otherwise>
        //Estado que se realiza cuando ambas condiciones anteriores 
          retornan falso
    </c:otherwise>
</c:choose>

Estructuras Iterativas:

Normalmente clasificamos las estructuras Core como selectivas, dentro de las cuales podemos encontrar:



¿Qué es una sesión?:

En informática, una sesión es un intercambio de información interactiva semipermanente, también conocido como diálogo, una conversación o un encuentro, entre dos o más dispositivos de comunicación, o entre un ordenador y usuario. Una sesión se establece en un cierto momento y se finaliza poco después. Una de estas sesiones es normalmente, pero no siempre con un estado, significando que al menos una de las partes comunicantes necesita salvar información sobre el historial de sesión.

¿Qué es un JavaBeans?:

Los JavaBeans son un modelo de componentes, o en otras palabras solo es un estandar o una norma a seguir para crear una nueva clase y de esta manera poder reutirlizarla y darle diferentes usos. Podemos entender un Beans como un contenedor para diferentes objetos, de ahí su nombre bean o vaina.

Modelo-Vista-Controlador:
El modelo vista controlador es un estandar de creación de aplicaciones en la que el cliente hace una consulta por medio de una Vista esta le manda la consulta al Controlador quien se encarga de procesar esta consulta y así mandarla al Modelo . En otras palabras podríamos decir que:

El Modelo es la parte lógica de nuestro programa, o sea todo lo que se va a poder realizar dentro de nuestra aplicación.
El Controlador es el puente entre nuestra vista y modelo; se encarga de procesar las consultas hechas en la vista para después enviárselas a nuestro modelo y así dar una respuesta.
La Vista es lo que vemos (valga la redundancia) es el objeto con el cual el cliente tendrá interacción y realizará consultas.


No hay comentarios.:

Publicar un comentario