Está en la página 1de 11

Java Server Pages (JSP)

Fernando Álvarez García


Universidad de Oviedo
falvarez@correo.uniovi.es

1
Introducción a JSP
Índice
I Introducción
II Elementos de scritping
III Expresiones
IV Scriptlets
V Declaraciones

2
Introducción a JSP
Introducción (I)
• La tecnología JSP permite mezclar HTML estático (el
habitual) con contenido dinámico generado por
servlets
• Se escribe el código HTML de la manera habitual
• Se le añade el código de la parte dinámica con marcas
especiales
– La mayor parte de estas marcas empiezan con <% y
terminan con %>
• Las ventajas más destacables del uso de JSP son:
– El gran soporte actual para JSP, tanto por sistemas
operativos como por servidores web
– Proporciona soporte completo a las tecnologías de
servlets y Java (con todo lo que ello conlleva)
3
Introducción a JSP
Introducción (II)
• Aunque parezca que lo que se escribe es un fichero
HTML normal, realmente la página JSP es convertida
automáticamente en un servlet
– La parte estática del código HTML se enviará tal cual desde
el método service() del servlet
• Esta traducción se realiza la primera vez que se
solicita la página
– Con el fin de que el primer usuario de la página no se sienta
perjudicado por esta única traducción, el desarrollador de la
página suele solicitarla una vez la instala para que se realice
dicho proceso
• Si se produce algún tipo de error en el proceso de
traducción, el servidor web enviará una página de
error al cliente
4
Introducción a JSP
Elementos de scripting
• Los elementos de scripting permiten insertar código
dentro del servlet que se generará al compilar la
página JSP
• Hay tres formas de hacerlo:
– Expresiones, de la forma <%= expresión %>, que son
evaluadas e insertadas en la salida (resultados) del servlet
– Scriptlets, de la forma <% código %>, que se insertan en el
método _jspService (invocado por service)
– Declaraciones, de la forma <%! código %>, que se insertan
en el cuerpo de la clase servlet, fuera de todos los métodos
• El resto del código HTML (el normal) se suele
denominar texto de plantilla
5
Introducción a JSP
Elementos de scripting. Expresiones (I)
• Utilizadas para insertar valores directamente en la
salida
• Sintaxis
<%= expresión Java %>
• La expresión es evaluada, convertida a string e
insertada en la página
• La evaluación es realizada en tiempo de ejecución
(cuando se solicita la página) y tiene acceso total a la
información sobre la petición
• Ejemplo de expresión que muestra la fecha y hora en
que la página ha sido solicitada
<%= new java.util.Date() %>
6
Introducción a JSP
Elementos de scripting. Expresiones (II)
• Con el fin de simplificar las expresiones, es posible
utilizar un buen número de variables predefinidas
– request, el objeto HttpServletRequest
– response, el objeto HttpServletResponse
– session, el objeto HttpSesion asociado a la petición
– out, el objeto PrintWriter utilizado para enviar la salida
al cliente
– etc.
• Ejemplo
El nombre de tu host es <%= request.getRemoteHost() %>

7
Introducción a JSP
Elementos de scripting. Scriptlets (I)
• Se utilizan para realizar tareas más complejas que
insertar el simple resultado de la evaluación de una
expresión
– Los scriptlets permiten insertar cualquier código en el
método _jspService() (que será invocado por service())
– Su sintaxis es:
<% código Java %>
– Los scriptlets tienen acceso automático a las variables que
también se podían usar en las expresiones
<%
String tipoPeticion=request.getMethod();
out.println(“Esta petición es de tipo“ +
tipoPeticion);
%> 8
Introducción a JSP
Elementos de scripting. Scriptlets (II)
• Los scriptlets se utilizan para realizar tareas que no
pueden ser llevadas a cabo por las expresiones:
– Acceso a una base de datos, o
– Ejecución de código con bucles, etc.
• Ejemplo de scriptlet que usa una sentencia condicional
<%
String numEntero=request.getParameter(“numEntero”);
Integer miEntero=numEntero.valueOf(numEntero);
if ((miEntero.intValue()) == 0)
out.println(“Has introducido un 0”);
else
out.println(“Has introducido un valor distinto de 0”);
%> 9
Introducción a JSP
Elementos de scripting. Declaraciones
• Permiten declarar métodos o campos que serán insertados
en el cuerpo principal del servlet
• Sintaxis:
<%! Código Java %>
• Dado que las declaraciones no generan ninguna salida, se
utilizan habitualmente con expresiones y scriptlets Java
• El ejemplo siguiente sirve para mostrar el número de veces
que se ha solicitado la página en la que reside desde que se
arrancó el servidor web (o cambió el servlet)
<%! private int cuentaAccesos = 0; %>
Nº de accesos a la página desde que arrancó el
servidor:
<%= ++cuentaAccesos %>
10
Introducción a JSP
Ejercicios
1 Probar “nombrehost.jsp”
2 Probar “tipopeticion.jsp”
3 Probar “fecha.jsp”
4 Probar “contadoraccesos.jsp”
5 Probar “bucle.jsp”
6 Probar “formulario.jsp” desde “formulariojsp.html”

11

También podría gustarte