Escolar Documentos
Profissional Documentos
Cultura Documentos
FICN
Gua #3
Swing de Java
JSP es una especificacin de Sun Microsystems, sirve para crear y gestionar pginas web
dinmicas.
Las paginas JSP permiten mezclar en una pgina cdigo HTML para generar la parte esttica,
con contenido dinmico generado a partir de marcas especiales <% .... %>; el contenido
dinmico se obtiene, en esencia, gracias a la posibilidad de incrustar dentro de la pgina
cdigo Java de diferentes formas y su objetivo final es separar la interfaz (presentacin visual)
de la implementacin (lgica de ejecucin)
Una pgina JSP puede contener dos tipos de elementos bien diferenciados, por un lado
tenemos los elementos estticos como etiquetas HTML, texto, script de cliente, etiquetas XML,
etc., que no necesitan de ningn procesamiento por parte del contenedor de pginas JSP, sino
que son traducidos en el servlet correspondiente mediante sentencias out.print(), es decir, se
devolvan directamente a la respuesta que se enviaba al cliente.
Por otro lado tenemos otro grupo de elementos los cuales son: las directivas, elementos de
scripting (elementos para construir script de servidor con sentencias Java), acciones y objetos
integrados. Este grupo de elementos necesitan de un procesamiento en el servidor
(contenedor de pginas JSP) ya que son los encargados de generar el contenido dinmico, es
decir, son los elementos que en forma de etiquetas similares a XML nos permiten programar
nuestras pginas JSP.
Es por eso que se debe comenzar a tratar elementos de las pginas JSP y el primero ser las
directivas, que se corresponden con una etiqueta especial de JSP que puede utilizarse
utilizando la sintaxis XML.
GUA 3 DESARROLLO DEL SOFTWARE I
Universidad de Sonsonate -
FICN
Expresin JSP
<%= expression %>;
Las variables predefinidas son request, response, out, session, application, config, y
pageContext.
Scriptlet JSP
<% code %>;
Declaracin JSP
<%! code %>
El cdigo se inserta en el cuerpo de la clase del servlet, fuera del mtodo service.
El equivalente XML es:
<jsp:declaration> code </jsp:declaration>.
Universidad de Sonsonate -
FICN
Comentario JSP
<%-- comment --%>
Expresiones JSP
<%= expresin %>
cliente.
Your hostname: <%= request.getRemoteHost() %>
El equivalente en XML es usar una sintaxis alternativa para las expresiones JSP:
<jsp:expression>
Expresin Java
</jsp:expression>
Universidad de Sonsonate -
FICN
Declaraciones
Los elementos XML, al contrario que los del HTML, son sensibles a las maysculas.
DECLARACIONES: <%! codigo %> que se insertan en el cuerpo de la clase del servlet, fuera
de cualquier mtodo existente. Permite insertar mtodos, variables... No generan salida
alguna. Se usan combinadas con scriptlets.
Las directivas son un conjunto de etiquetas JSP que ofrecen al contenedor de pginas JSP
instrucciones especficas de cmo se debe procesar una pgina determinada. Las directivas
definen propiedades generales que afectan a la pgina, incluso algunas de estas directivas se
pueden utilizar para generar de forma indirecta contenido dinmico que ser devuelto como
parte de la respuesta enviada al cliente, y por lo tanto tienen una traduccin correspondiente
dentro del servlet equivalente a la pgina JSP. Las directivas sirven como mensajes que se
envan desde la pgina JSP al contendor JSP que la ejecuta.
Afectan a la estructura general de la clase servlet. Normalmente tienen la siguiente forma:
<%@ directive attribute="value" %>
Tambin podemos combinar mltiples selecciones de atributos para una sola directiva:
<%@ directive attribute1="value1
attribute2="value2
...
attributeN="valueN" %>
GUA 3 DESARROLLO DEL SOFTWARE I
Universidad de Sonsonate -
FICN
Aqu podemos ver la sintaxis de la directiva page con todos sus atributos. Los valores por defecto se
muestran en negrita. Los corchetes ([...]) indican un trmino opcional. La barra vertical (|) proporciona
una eleccin entre dos valores como true y false.
<%@ page
[ languaje="java"]
[ extends="package.class"]
[ import= "{ package.class|package.*}, ..." ]
[ session="true|false"]
[ buffer="none|8kb|sizekb"]
[ autoFlush="true|false"]
[ isThreadSafe="true|false"]
[ info="text"]
[ errorPage="URLrelativa"]
[ contentType="mimeType[
8859-1]
;charset=characterSet]
text/html;
charset=ISO-
[ isErrorPage="true|false"]
%>
language=java
Este atributo define el lenguaje de script usado en los scriptlet, declaraciones y expresiones en el
fichero JSP y en cualquier fichero incluido. En JSP 1.0 el nico lenguaje permitido es Java.
extends=package.class
GUA 3 DESARROLLO DEL SOFTWARE I
Universidad de Sonsonate -
FICN
Este atributo especifica un nombre totalmente cualificado de una superclase que ser extendida por la
clase Java en el fichero JSP. Sun recomienda que usemos este atributo con cuidado, ya puede limitar
la habilidad del motor del JSP a proporcionar la superclase especializada que mejora la calidad del
fichero compilado.
import= { package.class | package.* },
Esta lista especifica una lista separada por comas de uno o ms paquetes o clases que el fichero JSP
debera importar. Las clases de los paquetes se ponen a disposicin de los scriptlets, expresiones,
declaraciones y etiquetas dentro del fichero JSP.
Como cabra esperar, el atributo import debe aparecer antes de cualquier etiqueta que refiera la clase
importada. Para importar varios paquetes, podemos usar una lista separada por comas, ms de una
directiva import o una combinacin de ambas.
session=true|false
Todo cliente debe unirse a una sesin HTTP para poder usar una pgina JSP. Si el valor es true, el objeto
session se refiere a la sesin actual o a una nueva sesin. Si el valor es false, no podemos utilizar el
objeto session en el fichero JSP. El valor por defecto es true.
buffer=none|8kb|sizekb
Este atributo especifica el tamao del buffer en kilobytes que ser usado por el objeto out para manejar
la salida enviada desde la pgina JSP compilada hasta el navegador cliente. El valor por defecto es 8 kb.
autoFlush=true|false
Este atributo especifica si la salida sera enviada o no cuando el buffer est lleno. Por defecto, el valor
es true, el buffer ser descargado. Si especificamos false, se lanzar una excepcin cuando el buffer se
sobrecargue.
isThreadSafe=true|false
Este atributo especifica si la seguridad de threads est implementada en el fichero JSP. El valor por
defecto, true, significa que el motor puede enviar mltiples solicitudes concurrentes a la pgina.
Si usamos el valor por defecto, varios threads pueden acceder a la pgina JSP. Por lo tanto, debemos
sincronizar nuestros mtodos para proporcionar seguridad de threads.
Con false, el motor JSP no enva solicitudes concurrentes a la pgina JSP. Probablemente no querremos
forzar esta restriccin en servidores de gran volumen porque puede daar la habilidad del servidor de
enviar nuestra pgina JSP a mltiples clientes.
info=text
GUA 3 DESARROLLO DEL SOFTWARE I
Universidad de Sonsonate -
FICN
Este atributo nos permite especificar una cadena de texto que es incorporada en la pgina JSP
compilada. Podemos recuperar el string ms tarde con el mtodo getServletInfo().
errorPage=URLrelativa
Este atributo especifica un path a un fichero JSP al que este fichero JSP enva excepciones. Si el path
empieza con una /, el path es relativo al directorio raz de documentos de la aplicacin JSP y es
resuelto por el servidor Web. Si no, el path es relativo al fichero JSP actual.
isErrorPage=true|false
Este atributo especifica si el fichero JSP muestra una pgina de error. Si es true, podemos usar el
objetoexception, que contiene una referencia a la excepcin lanzada, en el fichero JSP. Si es false (el
valor por defecto), significa que no podemos usar el objeto exception en el fichero JSP.
contentType=mimeType [ ; charset=characterSet ] | text/html;charset=ISO-8859-1
Este atributo especifica el tipo MIME y la codificacin de caracteres que use el fichero JSP cuando se
enva la respuesta al cliente. Podemos usar cualquier tipo MIME o conjunto de caracteres que sean
vlidos para el motor JSP.
El tipo MIME por defecto es text/html, y el conjunto de caracteres por defecto es ISO-8859. (En el IDE
de
Netbeans
es UTF-8).
Los atributos contentType, pageEncoding e import son los ms usados. De hecho la plantilla bsica
que proporciona el IDE de NetBeans incorpora siempre la directiva <%@page contentType=text/html
pageEncoding=UTF-8 %>
Los atributos language y extends no suele utilizarse. El resto de los atributos se utilizan para
situaciones muy concretas.
Universidad de Sonsonate -
FICN
Universidad de Sonsonate -
FICN
El primer paso es crear un proyecto web, para crearlo hay que ir al men File opcin New
Project
Ahora hacemos click en Next, asignamos o buscamos la localizacin del proyecto o Project
Location y le asignamos el nombre o Project Name, el cual en nuestro caso tendr Prueba.
Como se muestra en la siguiente imagen:
Universidad de Sonsonate -
FICN
10
Universidad de Sonsonate -
FICN
Al hacer clic en Finish o Finalizar nos creara todo el proyecto web el cual por defecto ya
contendr una carpeta Web Pages y una pgina jsp llamada index que ser la principal o la
primera en ejecutarse. Si queremos agregar ms paginas JSP o HTML tenemos que hacer clic
derecho sobre la carpeta Web Pages, elegir la opcin New y luego seleccionar que tipo de
pgina queremos si es JSP o HTML.
Con todo lo anterior aclarado ya podemos utilizar NetBeans y comenzar con nuestro primer
ejercicio que se define a continuacin:
11
Universidad de Sonsonate -
FICN
<body>
<h1> Hola, Mundo! </h1>
La fecha de hoy es: <strong><%= new Date().toString() %> </strong>
</body>
</html>
En esta pgina se mezcla cdigo HTML con cdigo Java incrustado con unas marcas
especiales.
En este caso es una expresin, que se sustituye en la pgina por el resultado de evaluarla.
En otros casos es un trozo de cdigo Java que simplemente se ejecuta.
Cdigo de Segunda.jsp:
12
Universidad de Sonsonate -
FICN
13
Universidad de Sonsonate -
FICN
Cdigo de DirectivaInclude.jsp
Cdigo de Fecha.jsp
Cdigo de Copyright.html
14
Universidad de Sonsonate -
FICN
15