Publicado el 26 de Mayo del 2018
440 visualizaciones desde el 26 de Mayo del 2018
42,1 KB
10 paginas
Creado hace 16a (04/03/2008)
Java Server Pages
Java Server Pages
Dr. Raúl Pérez
Introducción
Escribir código HTML en los servlets es tedioso
y se presta a equivocarse fácilmente debido a
y se presta a equivocarse fácilmente debido a
que hay que utilizar las instrucciones print,
println, etc. Es decir, HTML está dentro de java.
p
j
JSP permite invertir la visión e insertar java
dentro de HTML es decir escribir normalmente
la página HTML insertando código java en las
partes dinámicas
partes dinámicas.
Ejemplo
Los 2 ejemplos siguientes tienen
f
funcionalidades equivalentes, el primero es
l
un servlet y el segundo un JSP.
lid d
t
i
i
l
i
Ejemplo de Servlet
public class ThreeParams extends HttpServlet {
public void doGet(HttpServletRequest request HttpServletResponse response)
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Reading Three Request Parameters";
String docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0”+
“Transitional//EN\">\n";
Servlet (cont…)
out.println(docType + "<HTML>\n" + "<HEAD><TITLE>" + title +
"</TITLE></HEAD>\n" +
"<H1>" + title + "</H1>\n" +
"<UL>\n" +
" <LI><B>param1</B>: "+ request.getParameter("param1") + "\n" +
" <LI><B>param2</B>: " + request.getParameter("param2") + "\n" +
" <LI><B>param3</B>: “ + request getParameter("param3") + "\n" +
<LI><B>param3</B>: + request.getParameter( param3 ) + \n +
"</UL>\n" +
"</BODY></HTML>");
}
}
Ejemplo de JSP
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HTML>
<HEAD>
<TITLE>Reading Three Request Parameters</TITLE>
</HEAD>
</HEAD>
<BODY>
<H1>Reading Three Request Parameters</H1>
UL<UL>
<LI><B>param1</B>: <%= request.getParameter("param1") %>
<LI><B>param2</B>: <%= request.getParameter("param2") %>
<LI><B>param3</B>: <%= request.getParameter("param3") %>
</UL>
</BODY></HTML>
Observaciones sobre los ejemplos
El JSP es mas corto y simple de escribir
El servidor construye un servlet a partir de la página JSP.
Siempre que haya mucho HTML y poco java conviene mas
Siempre que haya mucho HTML y poco java conviene mas
JSP que los servlets.
Cuando el código java es complejo convienen mas los servlets
Cuando el código java es complejo convienen mas los servlets
que JSP.
Es posible combinar los 2 enfoques
q
p
– Usar servlets para las operaciones complejas.
– Usar JSP para la parte de presentación.
Elementos de JSP
Las etiquetas JSP embebidas en páginas
l
HTML se usan para crear servlets en el
HTML
servidor.
t
l
Existen 2 tipos principales de elementos
JSP:
JSP:
– Scripting
– Directives.
Directives
JSP Scripting
Expresiones, se evalúan y se insertan
di
directamente en la página.
á i
t
t
l
Scriptlets, son bloques de código java.
Declaraciones, se pueden declarar variables
y métodos para utilizar en la página.
Expresiones
Usan el formato <%= expresión java %> .
Las expresiones se evalúan se convierten en
Las expresiones se evalúan, se convierten en
Strings y se insertan en la página HTML.
Se utilizan con segmentos muy cortos de código
javajava.
Pueden usar 4 variables predefinidas:
– request (HttpRequest),
– response(HttpResponse),
– session (HttpSession),
– out (Printwriter)
Ejemplos de expresiones JSP
<%= request.getRemoteAddress() %>
Imprime la dirección IP del cliente
<%= new java.util.Date() %>
Imprime la hora y la fecha
Scriptlets JSP
La etiqueta HTML para enmarcar un Scriptlet
es <% código %>.
% ódi %
Los Scriptlets se traducen en código
insertado directamente en el servlet.
Generalmente son bloques extensos.
Ejemplo de Scriptlets JSP
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Color Testing</TITLE>
/HEAD
</HEAD>
<%
String bgColor = request.getParameter("bgColor");
if ((bgColor == null) || (bgColor.trim().equals(""))) {
(( g
))) {
bgColor = "WHITE";
}
%>
<BODY BGCOLOR="<%= bgColor %>">
<BODY BGCOLOR="<%= bgColor %>">
<H2 ALIGN="CENTER">Testing a Background of "<%= bgColor %>"</H2>
</BODY></HTML>
) || ( g
() q
(
Ejemplo
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--
Example of using scriptlets to make parts of the page conditional.
Taken from Core Servlets and JavaServer Pages 2nd Edition
from Prentice Hall and Sun Microsystems Press
from Prentice Hall and Sun Microsystems Press,
http://www.coreservlets.com/.
(C) 2003 Marty Hall; may be freely used or adapted.
-->
<HTML>
<HEAD>
<TITLE>Wish for the Day</TITLE>
<LINK REL=STYLESHEET
<LINK REL STYLESHEET
HREF="JSP-Styles.css"
TYPE="text/css">
</HEAD>
Ejemplo
<BODY>
<% if (Math.random() < 0.5) { %>
<H1>Have a <I>nice</I> day!</H1>
<% } else { %>
<H1>Have a <I>lousy</I> day!</H1>
<% } %>
</BODY></HTML>
</BODY></HTML>
Declaraciones JSP
Permiten definir métodos ó variables
No generan ninguna salida.
Usan el formato <%! código %>
Ejemplo de declaración JSP
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>JSP Declarations</TITLE>
<TITLE>JSP Declarations</TITLE>
</HEAD>
<BODY>
/H1
<H1>JSP Declarations</H1>
H1 JSP D l
<%! private int accessCount = 0; %>
<H2>Accesses to page since server reboot:
<%= ++accessCount %></H2>
</BODY></HTML>
ti
Directivas JSP
l
t
t
f
t
l
Una directiva JSP es información de alto
i
nivel que afecta la estructura general del
l d l
servlet.
L
di
La etiqueta HTML correspondiente es
<%@ type = attribute value %>.
t HTML
ti
t
Ejemplo
<%@ page import =“java util *” %>
<%@ page import = java.util.
%>
Directivas JSP
page
– Controla la estructura del servlet
include
– Insertar un archivo en una página JSP
taglib
D fi
– Define etiquetas (tags)
)
(t
ti
t
Comentarios de: Java Server Pages (0)
No hay comentarios