Documente Academic
Documente Profesional
Documente Cultură
JSP
Separacin de roles
Personas que realizan el aspecto grfico => diseadores
grficos o similares
JSP
Qu es JSP ?
JSP (2)
try {
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html");
pageContext = _jspxFactory.getPageContext(this, request, response,true, 8192, true);
Expresiones
El equivalente XML es
<%=request.getParameter(nombre)%>
Escribe en la salida el parmetro nombre del objeto peticin
request
Scriptlets
<jsp:scriptlet>cdigo</jsp:scriptlet>
10
JSP1-HolaMundo
Scriptlets
<%if(request.getParameter("nombre")==null)
{
out.println(<H1>Hola Mundo</H1>);
}else {
out.println(<H1>Hola+
request.getParameter("nombre")+</H1>);
}
%>
c:\java\JSP1-HolaMundo\HolaMundo\HolaMundo.jsp
11
Declaraciones
<jsp:declaration>cdigo</jsp:declaration>
12
Ejemplo de declaracin
13
Directiva page
import="package.class"
contentType="MIME-Type"
isThreadSafe="true|false"
session="true|false"
buffer="sizekb|none"
autoflush="true|false"
extends="package.class"
info="message"
errorPage="url"
isErrorPage="true|false"
language="java"
14
import="paquete.clase1,...,paquete.claseN".
15
16
17
18
Directiva include
Comentarios
21
Convenciones en JSP
22
Ficheros y su localizacin
Tipo de Fichero Extensin Localizacin Recomendada
JSP
.jsp <contexto>/<subsystem path>/
Fragmento JSP .jsp <contexto>/<subsystem path>/
Fragmento JSP .jspf <contexto>/WEB-INF/jspf/<subsystem path>/
CCS
.css <contexto>/css/
javascript
.js <contexto>/js/
pgina HTML .html <contexto>/<ruta>/
fuente web
.gif, .jpg, etc. <contexto>/images/
TLD
.tld <contexto>/WEB-INF/tld/
23
24
Ejemplo JSP4-JDBC
Cdigo: c:\java\JSP4-JDBC\MostrarTodos.jsp
El driver JDBC de la base de datos tiene que estar
includo en el directorio <contexto>/WEB-INF/lib
28
Introduccin a JavaBeans
Qu es un JavaBean?
<tipo> getAtributo () {}
void setAtributo (<tipo> valor) {...}
29
Accin jsp:useBean
Accin jsp:useBean
id="name"
scope="page|request|session|application"
class="package.class"
type="package.class"
beanName="package.class"
31
Accin jsp:setProperty
Accin jsp:setProperty:
Accin jsp:getProperty
Accin jsp:getProperty:
<jsp:getProperty
name=nombrePropiedad" value="valor"/>
33
Ejemplo de utilizacin de
<jsp:useBean>
Ejemplo de uso:
34
Ejemplo Modelo 1.
JSP5-JDBC-CliPool
Ejemplo Modelo 1.
JSP5-JDBC-CliPool (2)
Ejemplo Modelo 1.
JSP5-JDBC-CliPool (3)
Ejemplo JSP5-JDBC-CliPool
Modelo
39
Ejemplo JSP5-JDBC-CliPool
Vistas (2)
index.jsp: c:\java\JSP5-JDBC-CliPool\CliPool\index.jsp,
presenta el formulario para agregar un contacto de cliente
InsertarCliente.jsp: c:\java\JSP5-JDBCCliPool\CliPool\InsertarCliente.jsp, inserta un cliente
EliminarCliente.jsp: c:\java\JSP5-JDBCCliPool\CliPool\EliminarCliente.jsp, elimina un cliente
MostrarClientes.jsp: c:\java\JSP5-JDBCCliPool\CliPool\MostrarClientes.jsp, muestra los clientes
VerCliente.jsp: c:\java\JSP5-JDBCCliPool\CliPool\VerCliente.jsp, visualiza un cliente
40
Ejemplo JSP5-JDBC-CliPool
Ficheros de configuracin
web.xml: c:\java\JSP5-JDBC-CliPool\CliPool\WEB-INF\web.xml
Fragmento de cdigo a insertar en server.xml, entre las etiquetas
<Host>
41
Ejemplo JSP5-JDBC-CliPool
Ficheros de configuracin (2)
42
44
Componentes en el Modelo 2
Pasos en el Modelo 2
Ejemplo de Modelo 2
48
Ejemplo de Modelo 2
Componentes
Ejemplo JSP8-Modelo2
Modelo: CD.java
Ejemplo JSP8-Modelo2
Controlador: ServletCompra.java
51
Ejemplo JSP8-Modelo2
Cdigo: c:\java\JSP8-Modelo2\WEBINF\src\ServletCompra.java
52
Ejemplo JSP8-Modelo2
c:\java\JSP8-Modelo2\Tienda.jsp
c:\java\JSP8-Modelo2\Carrito.jsp
Accin jsp:include
Accin jsp:include:
Accin jsp:forward
Accin jsp:forward
56
Accin jsp:plugin
Accin jsp:plugin:
Tags personalizadas
58
Tipos de etiquetas
Clase TagSupport
<JSP6:holamundo/>
Siguiendo la sintxis XML, de documentos bien
formateados
Cdigo y configuracin:
JSP6-HolaMundoTag
Ficheros de configuracin:
63
64
JSP6-HolaMundo
web.xml
65
JSP6-HolaMundo
HolaMundo.jsp
HolaMundo.jsp: c:\java\JSP6HolaMundoTag\HolaMundo.jsp
<!-- HolaMundo.jsp -->
<%@ taglib uri="/JSP6" prefix="JSP6"
%>
<HTML>
<HEAD>
<TITLE>Tag Hola Mundo</TITLE>
</HEAD>
<JSP6:holamundo/>
</BODY>
</HTML>
66
Pgina HolaMundo.jsp
Directiva taglib
SumaTag.java
JSP6.tld: c:\java\JSP6-HolaMundoTag\WEBINF\JSP6.tld
Uso de etiquetas para describir parmetros:
<attribute>
<name>num1</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue> </attribute>
</attribute>
cuerpo
72
Ejemplo JSP7-BucleTag
BucleTag.java :c:\java\JSP7-BucleTag\WEBINF\src\ejemplos\BucleTag.java
JSP7.tld: c:\java\JSP7-BucleTag\WEBINF\JSP7.tld
<bodycontent>JSP</bodycontent>
Indica que el contenido del cuerpo puede ser
HTML, texto o etiquetas JSP
Bucle.jsp: c:\java\JSP7-BucleTag\Bucle.jsp
web.xml: c:\java\JSP7-BucleTag\WEBINF\web.xml
73