Publicado el 17 de Septiembre del 2020
712 visualizaciones desde el 17 de Septiembre del 2020
84,3 KB
29 paginas
Creado hace 17a (24/07/2007)
Java Server Pages
(JSP)
Dr. Víctor J. Sosa S.
Java Server Pages (JSP)
• Características
El Servidor Java de Páginas (Java Server Pages,
JSP) ofrece no sólo la independencia de operar en
diferentes plataformas y servidores de páginas Web,
sino que además combina el poder de la tecnología
Java en el servidor con la facilidad de visualizar el
contenido de las páginas HTML.
• JSP es una tecnología que generalmente incluye:
Componentes estáticos HTML/XML
Elementos JSP especiales
Fragmentos especiales de código escritos en
lenguaje Java llamados scriptlets.
1
Java Server Pages (JSP)
• Características
La especificación JSP extiende la tecnología
de servlets para reducir la programación
requerida en el desarrollo de páginas Web
dinámicas.
JSP permite apreciar mejor la distinción entre
información y su
la
el contenido de
presentación.
Java Server Pages (JSP)
• Ventajas
Independencia del servidor Web.
Substitución del API de los servlets por conjuntos de
fragmentos de
elementos de marcado (tags) y
programación (scriptlets).
Altamente recomendable para conseguir el acceso al
servidor Web en arquitecturas de partes múltiples
(multi-tier).
Separación del contenido estático del dinámico.
Separación del contenido dinámico del formato de la
presentación.
2
Java Server Pages (JSP)
• Comparación entre JSP y ASP
ASP (Active Server Pages) es una tecnología
similar a JSP pero que difiere también en
varios aspectos como se
la
siguiente tabla.
indica en
JSP vs. ASP
Propiedad
Java Server Pages
Active Server Pages
Servidor
Plataforma
Modelo de
componentes
Programación
(scripting)
Seguridad
La mayoría de los servidores más
Conocidos (Apache, Netscape,
MS IIS)
Cualquiera que corra una máquina
virtual Java
Java Beans, Enterprise Java Beans y
librerías de elementos
Java
Modelo de seguridad de Java
Bases de datos
Extensibilidad
Java Data Base Connectivity
Abierto a librerías de elementos
Los servidores de Microsoft (IIS y
Personal Web Server)
Windows
COM , DCOM , COM +, .NET
JavaScript o Visual Basic Script,
c#
Modelo de seguridad de Windows
NT
Active Data Objects
Ninguna
3
Java Server Pages (JSP)
• Arquitectura de JSP
El propósito de JSP es ofrecer una forma
más declarativa y más guiada por
la
presentación que aquella conseguida con
los servlets.
Las páginas JSP se utilizan en un proceso
que involucra dos fases:
1. Una fase de traducción dinámica a servlets que se realiza
únicamente cuando la página JSP se crea o modifica.
2. Una fase de contestación a peticiones que se consigue
cuando las clases de los servlets generados se cargan en
el contenedor de servlets.
Java Server Pages (JSP)
• Arquitectura de JSP
la
En
segunda
fase, para atender
concurrentemente al procesamiento de
peticiones, el servidor lanza un proceso
ligero (thread) por cada uno de los clientes el
cual corre el método _jspService().
El método _jspService() no puede
reemplazarse por otros métodos definidos
por el programador, pero en cambio puede
adecuarse su inicialización y terminación con
los métodos jspInit() y jspDestroy().
4
Java Server Pages (JSP)
Arquitectura de JSP
Evento de iniciación
Petición
Respuesta
Evento de terminación
Servlet
_jspInit()
_jspService()
_jspDestroy()
Contenedor de Servlets
Java Server Pages (JSP)
Ejemplo de una Página JSP:
• La siguiente página JSP presenta un saludo.
<%-- Esta página da un saludo y despedida --%>
<HTML>
<BODY>
<H1>Bienvenido a JSP!</H1>
<% out.println("Regrese pronto”); %>
</BODY>
</HTML>
N
bienvenido
helloworld
hellouser
response
NameHandler
5
Java Server Pages (JSP)
Ámbito y Visibilidad de los Objetos JSP
• Los objetos JSP pueden crearse:
implícitamente por directivas JSP
explícitamente a través de acciones
excepcionalmente usando
fragmentos de
código
• El ámbito del objeto establece su duración
desde su creación hasta su destrucción; su
visibilidad indica los lugares de la página donde
puede usarse el objeto.
Java Server Pages (JSP)
Ámbito y Visibilidad de Objetos
•
La siguiente tabla muestra los ámbitos que pueden asociarse a los objetos
recién creados.
Ámbito
Categoría
4 (mayor)
Aplicación
3
2
Sesión
Petición
1 (menor)
Página
Descripción
Pertenecen a la
misma aplicación
Pertenecen a la
misma sesión
Provienen de la
petición que es
Atendida
Pertenecen a la
página en que
fueron creados
6
Java Server Pages (JSP)
Objetos Implícitos
• Debido a que la tecnología JSP se basa en
aquella de los servlets, existe un conjunto de
objetos predefinidos cuyos nombres pueden
usarse inmediatamente en JSP.
Java Server Pages (JSP)
• Objetos Implícitos
Objeto
request
Contexto
Descripción
HttpServletRequest
Invocación del servicio
response
pageContext
HttpServletResponse
jsp.PageContext
session
application
http.HttpSession
ServletContext
out
config
page
jsp.JspWriter
ServletConfig
Object
Respuesta a la Petición
Características de la página
Dependientes de la
implementación, espacios de
nombres y otras facilidades
Conserva el estado de la session
Contexto del servlet
de configuración
Flujo de salida
Configuración del servlet del JSP
Página que procesa
la petición en curso
Ámbito
Petición
Página
Página
Sesión
Aplicación
Página
Página
Página
7
Java Server Pages (JSP)
Ejemplo
• Este ejemplo muestra los cuatro ámbitos de los objetos
JSP.
<%@page import=“java.util.*”%>
<HTML>
<BODY>
<%
Servlet <%= config.getServletName() %><br>
for (int scope = 1; scope <= 4; scope++) {
out.println("<H2>Ambito "+scope+"</H2>");
Enumeration e = pageContext.getAttributeNamesInScope(scope);
while (e.hasMoreElements()) {
}
out.println(e.nextElement()+”<br>”);
}
%>
</BODY>
</HTML>
ambitos
Java Server Pages (JSP)
Elementos Básicos de JSP
•
La sintaxis de JSP consiste de un conjunto de elementos que se intercalan entre
aquellos de HTML o XML.
Elemento
Directiva
Sintaxis
<%@ . . . . . . . . %>
Declaraciones
<%! . . . . . . . . . . %>
Expresiones
<%= . . . . . . . . .. %>
Scriptlets
<% .. . . . . . . . . .. %>
Comentarios
<%-- .. . . . .. . . -- %>
Descripción
Importar clases o incluir
archivos HTML
Declarar variables o
métodos Java
Evaluación de expresiones
Java
Ejecución de instrucciones
Java
Texto no procesado
8
Java Server Pages (JSP)
Directivas
•
•
•
•
Las directivas son instrucciones dirigidas al contenedor de servlets JSP, no
al flujo de salida.
Las directivas determinan los atributos de la página y las dependencias con
el contenedor.
La directiva de página tiene la forma:
<%@ page atributos %>
donde los atributos pueden ser:
language que indica el lenguaje usado en la página JSP,
import que establece las clases que se van usar
extends que indica las clases que serán extendidas
include que inserta un archivo HTML
session que cuando toma el valor true, permite usar la variable
predefinida session en la página JSP
buffer que establece el tamaño del área temporal de la página
autoflush que indica si el envío al flujo de salida es inmediato
isThreadSafe que establece que a lo más un proceso está activo a la
errorPage que permite indicar si la página se usa para anunciar un
vez (por omisión, se tienen múltiples procesos concurrentes)
error
Java Server Pages (JSP)
Ejemplos de Directivas
• Las directivas:
<%@ page import=”java.sql.*,java.util.*” %>
importa los paquetes java.sql y java.util
<%@ page include=”sty.css” %> inserta los estilos
para el documento que están guardados en el archivo
sty.css
<%@ page buffer=”16k” %> establece el tamaño del
buffer a 16k
<%@ page isThreadSafe=”true” %> establece que
hay sólo un proceso activo a la vez
9
Java Server Pages (JSP)
Declaraciones
• La sintaxis de una declaración es <%! declaración %> o,
alternativamente, usando los espacios de nombres de
XML <jsp:declaration> declaración </jsp:declaration>
• Las declaraciones permiten
introducir variables y
métodos a nivel de página y deben seguir la sintaxis de
Java.
• Las variables declaradas pueden inicializarse y deben
estar terminadas por punto y coma.
• Las declaraciones de métodos, además de aquellos
usados en la aplicación, pueden también incluir a
jspInit() y jspDestroy().
Java Server Pages (JSP)
Ejemplo de Declaración
• Código de iniciación para un contador en una
página JSP que declara una variable y los
métodos jspInit() y jspDestroy():
<%! int counter;%>
<%! public void jspInit() {
counter = 0;
}
public void jspDestroy() {
}
%>
10
Java Server Pages (JSP)
Expresiones
•
•
•
La sintaxis de una expresión es <%= expresión %> o, alternativamente,
los espacios de nombres de XML <jsp:expression>
usando
expresión </jsp:expression>
Las expresiones en JSP permiten que el resultado de la evaluación de una
expresión Java se convierta a una cadena de caracteres que será incluida
en la página generada.
Las expresiones pueden incluirse en gran variedad de contextos y no
deben terminarse por puntos y comas.
• Ejemplo de Expresiones
La siguiente expresión produce un elemento H1 usado para escribir el
texto de un encabezado:
<%! int i = 1; %>
<H<%=i%>>Java Server Pages</H<%=i>>
Java Server Pages (JSP)
Scriptlets
• La sintaxis de un scriptlet es <% scriptlet %> o,
alternativamente, usando los espacios de nombres de
XML <jsp:scriptlet> scriptlet </jsp:scriptlet>
• Se puede escribir cualquier fragmento de código Java,
extendido por elementos HTM
Comentarios de: Java Server Pages (JSP) (0)
No hay comentarios