JSP

JSP

JavaServer Pages (JSP) es una tecnología que ayuda a los desarrolladores de software a crear páginas 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.

Es también un lenguaje de programación web que permite la generación de sitios web dinámicos en lenguaje Java. Es un lenguaje soportado por múltiples plataformas y como PHP y ASP se ejecuta en el lado del servidor.

Este lenguaje fue desarrollado por Sun Microsystems que fue absorbida por Oracle. Tiene ventajas similares a las de ASP.NET y es un lenguaje, como este último, pensado para desarrollar aplicaciones web complejas y potentes. Las páginas se compilan cuando son solicitadas por primera vez.

El código JSP puede integrarse con el código HTML y la extensión de los archivos de este tipo es .jsp.


Ventajas y Desventajas de JSP

Ventajas del JSP:
  • El código está bien estructurado y resulta fácil de leer si se conoce bien el lenguaje.
  • La parte de JSP dinámico se escribe en Java, permitiendo una integración total con módulos Java y la utilización de un motor de páginas basado en servlets de Java.

Desventajas del JSP:
  • Es un lenguaje bastante complejo y que requiere bastante tiempo de aprendizaje.
  • El alojamiento web requiere tener instalado un servidor Tomcat.


¿Qué necesito tener instalado para crear y ejecutar JSP?

Para desplegar y correr JavaServer Pages, se requiere un servidor web compatible con contenedores servlet como Apache Tomcat o Jetty.
TagLibs -> JSP -> Servidor Aplicaciones (Servlets) -> Cliente (Navegador).





Qué es una directiva de JSP?
Las directivas JSP nos permiten configurar alguna información que pueda ser usada en nuestra página JSP, por ejemplo cosas como importar clases, definir una página de error, incluir una página JSP en otra, en fin.
En este post hablaré de las tres directivas que existen en JSP:
  • Page
  • Include
  • TagLib

Directiva Page.

Se utiliza para establecer algunas propiedades a nuestra página jsp. Tiene los siguientes atributos: import, sesión, buffer, autoflush, isThreadSafe, erroPage, entre otros.

Ejemplo - Atributo import de la directiva Page

Nos permite importar una clase Java en una JSP.


Directiva Include.

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

Directiva TagLib.

Esta parte es un poco más 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 nuestra JSP y también nos permite usar etiquetas JSTL.

Para mostrarte como funciona esto de las etiquetas personalizadas, haremos este ejemplo. Digamos que en mi jsp, yo escribiera mi propia etiqueta asi <nuestraEtiqueta:muestaHolaMundo/>, como ves, dicha etiqueta tiene un nombre el cual es “nuestraEtiqueta” y la parte “muestraHolaMundo” es simplemente una operación que puede realzar nuestra etiqueta, es decir cuando la ejecutemos en nuestra JSP se mostrará un mensaje, tal vez el “Hola Mundo”. Como yo sé que no acabas de entender nada de lo que acabo de decir en este parrafo, veamos el ejemplo:
Da clic derecho en el proyecto > Otro. En la parte izquierda eliges la carpeta Web y en la parte derecha escoges “Tag Library Descriptor”.




Elementos de JSP:
 








Las expresiones: regulares son patrones utilizados para encontrar una determinada combinación de caracteres dentro de una cadena de texto. En JavaScript, las expresiones regulares también son objetos. Estos patrones son utilizados a través de los métodos exec y test de RegExp, así como los métodos match, replace, search y split de String. En este capítulo se describe el uso y funcionamiento de las expresiones regulares en JavaScript.

Creación de una expresión regular :
Una expresión regular puede crearse de cualquiera de las siguientes dos maneras:

Utilizando una representación literal de la expresión regular, la cual consiste en un patrón encerrado entre diagonales, como a continuación:
    •  var re = /ab+c/;
       
  • La representación literal ofrece la compilación de la expresión regular cuando el script esté cargado. Cuando la expresión regular permanecerá constante, utilice esta declaración para un mejor desempeño.
  • Llamando a la función constructora del objeto RegExp, como a continuación:     
  • var re = new RegExp("ab+c");

Scriptlet JSP:

El código se inserta en el método service. 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. 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. Sintaxis: <% code %>.

Declaración JSP

Las declaraciones JSP nos permiten configurar variables para su uso posterior en expresiones o scriptlets. También podemos declarar variables dentro de expresiones o scriptlets en el momento de usarlas. El ámbito es toda la página JSP, no hay concepto de variables de ejemplar, es decir, no tenemos que declarar variables de ejemplar para usar en más de una expresión o scriptlet.
Sintaxis: <%! code %>

Comentario JSP

Comentario ignorado cuando se traduce la página JSP en un servlet.
Sintaxis: <%-- comment --%>







Acciones con JSP

Acción jsp:include

Incluye un fichero en el momento en que la página es solicitada.
Sintaxis: <jsp:include page="relative URL" flush="true"/>

Acción jsp:useBean

Encuentra o construye un Java Bean.
Sintaxis: <jsp:useBean att=val*>...</jsp:useBean>

Acción jsp:setProperty

Selecciona las propiedades del bean, bien directamenteo o designando el valor que viene desde un parámetro de la petición.
Sintaxis: <jsp:setProperty att=val*/>

Acción jsp:getProperty

Recupera y saca las propiedades del Bean.
Sintaxis: <jsp:getProperty name="propertyName" value="val"/>

Acción jsp:forward

Reenvía la petición a otra página.
Sintaxis: <jsp:forward page="relative URL"/>

Acción jsp:plugin

Genera etiquetas OBJECT o EMBED, apropiadas al tipo de navegador, pidiendo que se ejecute un applet usando el Java Plugin.
Sintaxis: <jsp:plugin attribute="value"*>..</jsp:plugin>


Objetos implícitos en JSP

La especificación JSP trata de simplificar la creación y desarrollo de páginas JSP a través de objetos implícitos que se encuentran en las páginas JSP. Para usar estos objetos no es necesario declararlos sino solo utilizarlos en las páginas JSP. Estos objetos se corresponden con instancias de las interfaces que se ofrecen en la especificación Java Servlets. Los objetos implícitos están disponibles para los scriptles y también para las expresiones.
Los objetos implícitos existentes en las páginas JSP son: request, response, pageContext, session, application, out, config, page y exception.

Los métodos más usuales son:

void setAttribute(string nombre, object valor): almacena un atributo en un objeto implícito.

Object getAttribute(string nombre): devuelve dentro de un atributo almacenado en objeto implícito.

Enumeration getAttributeNames(): devuelve dentro de un objeto java.util.Enumeration los nombres de todos los atributos disponibles.

void removeAttribute(String parametro): elimina de la petición el atributo indicado por el parámetro.











Comentarios