SlideShare una empresa de Scribd logo
Por :
Enya Alexandra Fernandez 1101
• Que es JSP?
• Ventajas
• Introducción
• Objetos implícitos
• Variables implícitas y predefinidas
• Etiquetas
• Elementos
• Acciones
CONTENIDO
QUE ES???
• JSP es una tecnología que ayuda a los
desarrolladores de software a crear
páginas web dinámicas basadas en
HTML, XML, entre otros tipos de
documentos. JSP es similar a PHP, pero
usa el lenguaje de programación Java.
Los archivos JSP combinan HTML con
etiquetas especiales y fragmentos de
código Java. Para desplegar y correr JSP,
se requiere un servidor web compatible
con contenedores servlet como Apache
Tomcat o Jetty.
• JSP no nos da nada que no pudierámos
en principio hacer con un servlet. Pero es
mucho más conveniente escribir HTML
normal que tener que hacer un billón de
sentencias println que generen HTML.
Además, separando el formato del
contenido podemos poner diferentes
personas en diferentes tareas.
VENTAJAS
INTRODUCCIÓN
• JSP es una especificación de Sun Microsystems
• Sirve para crear y gestionar páginas web dinámicas
• Permite mezclar en una página código HTML para
generar la parte estática, con contenido dinámico
generado a partir de marcas especiales <% .... %>
• El contenido dinámico se obtiene, en esencia,
gracias a la posibilidad de incrustar dentro de la
página código Java de diferentes formas  Hay 3
formas de añadir contenido dinámico
• Su objetivo final es separar la interfaz (presentación
visual) de la implementación (lógica de ejecución)
INTRODUCCIÓN
• JSP combina HTML con fragmentos de Java para producir páginas web
dinámicas. El fichero que contiene la página HTML tiene la extensión .jsp, y
se almacena en el mismo sitio que una página web normal.
• Cuando un cliente pide una página JSP del sitio web y no se ha ejecutado
antes, la página es pasada al motos de JSP, el cual compila la página
convirtiéndola en un servlet, la ejecuta y devuelve el contenido de los
resultados al cliente.
• ¿Cuál es el funcionamiento básico? Muy sencillo:
• 1) El cliente solicita una página .jsp
• 2) La solicitud llega al servidor
• 3) El servidor «ejecuta» la página .jsp y obtiene un texto en formato html
• 4) El servidor envía el texto html al cliente
• 5) El navegador del cliente visualiza el texto html como si realmente hubiera
estado almacenado en el servidor.
INTRODUCCIÓN
INTRODUCCIÓN
Página JSP  Servlet
• La página JSP se convierte en un servlet
• La conversión la realiza en la máquina servidora el motor o contenedor
JSP, la primera vez que se solicita la página JSP
• Este servlet generado procesa cualquier petición para esa página JSP
• Si se modifica el código de la página JSP, entonces se regenera y
recompila automáticamente el servlet y se recarga la próxima vez que
sea solicitada
Fichero.jsp ServletJsp.java ServletJsp.class
Traduce
Motor
JSP
Compila
Compila
dor java
FUNCIONAMIENTO
Cliente
Servidor
Web
Motor
JSP
Extensiones
del servidor
Motor
Servlet
Analizador
JSP
Compilador
Java
Cargador
Clases
Fichero.JSP ServletJSP.java ServletJSP.class
Petición
fichero.jsp
Respuesta
1º vez
1º vez
1º vez
respuesta
petición
respuesta
respuesta
petición
• JSP utiliza los objetos implícitos, basados en la API de
servlets.
• Estos objetos están disponibles para su uso en
páginas JSP y son los siguientes:
• Objeto request
• Representa la petición lanzada en la invocación
de service(). Proporciona entre otras cosas los
parámetros recibidos del cliente, el tipo de
petición (GET/POST)
• Objeto response
• Instancia de HttpServletResponse que representa
la respuesta del servidor a la petición. Ámbito de
página
OBJETOS IMPLÍCITOS
• Las páginas JSP incluyen ciertas variables privilegiadas sin necesidad de
declararlas ni configurarlas:
VARIABLES IMPLÍCITAS
• RESPONSE
• SESSION
• PAGE
• PAGECONTEXT
• OUT
• APLICATION
• CONFIG
VARIABLES PREDEFINIDAS
• RESPONSE: Esta variable
es el HttpServletResponse
del Servlet y que esta
asociado a la respuesta
que la pagina JSP dara
al cliente.
VARIABLES PREDEFINIDAS
• OUT: Es el PrintWriter que
nos sirve para escribir en la
respuesta que el daremos
al cliente, es decir a la
pagina resultante de la
llamada a la pagina JSP.
Sin embargo este
PrintWriter no es uno
normal, sino que tiene
buffer y es llamado
JSPWriter.
• SESSION: Es el HttpSession
asociado a la petición. Las
sesiones se crean
automáticamente, por eso
esta variable siempre
existe a no ser que con la
directiva page lo
desactivemos.
• PAGECONTEXT: esto
representa una clase
llamada PageContext
que sirve para
encapsular
características
especificas del servidor,
el significado de esto es
que si accedemos a
propiedades especificar
del servidor mediante
estas variables, entonces
nuestro código
funcionara en la mayoría
de los motores JSP.
• APLICATION: Este es el
ServletContext obtenido
mediante
getServletConfig().getCo
ntext().
• PAGE: Es lo mismo que
this en cualquier otra
clase de java.
• CONFIG: Este es el objeto
ServletConfig para esta
página.
• Son las etiquetas pertenecientes a la especificación JSP. Proporcionan una
funcionalidad básica. Un primer grupo de etiquetas proporciona
funcionalidad a nivel de la página de una manera muy simple:
ETIQUETAS
• Un segundo grupo permite manipular componentes JavaBean sin
conocimientos de Java.
• Expresiones
• Declaraciones
• Comentarios
• Scriptlets
• Directivas
ELEMENTOS
• Se usan para mandar valores directamente a la pagina web resultante de
la JSP, <%= expresion %>, la expresion es ejecutada, se convierte a una
cadena de caracteres (String) y insertada en la pagina.
En las expresiones podemos usar gran cantidad de variables predefinidas,
los mas usados son:
• request, de la clase HttpServletRequest
• response, de la clase HttpServletResponse
• session, de la clase HttpSession que esta asociada al request, si es que
trabajamos con sessions
• out, se trata de una clase PrintWriter usada para imprimir directamente en la
pagina resultante.
EXPRESIONES
• Las declaraciones JSP nos permiten configurar variables para su uso
posterior en expresiones o scriptlets. También podemos declarar variables
dentro de expresiones o scriptlets en el momento de usarlas. El ámbito es
toda la página JSP, no hay concepto de variables de ejemplar. Es decir, no
tenemos que declarar variables de ejemplar para usar en más de una
expresión o scriptlet. Las declaraciones van encerradas entre etiquetas de
declaración <%! Codigo Java %>. Como las declaraciones no generan
ninguna salida, normalmente se usan en conjunción con expresiones JSP o
scriptlets.
DECLARACIONES
• Cuando hablamos de comentarios en JSP tenemos que considerar básicamente
dos circunstancias, a saber:
• 1) Comentarios que aparecen como etiquetas HTML en un archivo jsp y
que SÍ recibe el cliente o peticionario de la página, esto es:
• <!– Comentario HTML (Este comentario sí se pasa al cliente) –>
• esta instrucción al ser una etiqueta/marca HTML se transmitirá directamente a la
página HTML de salida generada por el servlet asociado al JSP para enviarla al
cliente solicitante. Esta instrucción es transparente para el Motor JSP.
• 2) Comentarios escritos en Java entre los identificadores <% y %> que NO se
enviarán al cliente solicitante de la página, sólo aparecen en la propia página JSP
y en su servlet asociado.
• <% // Comentario en Java de una sola línea %>
• o este otro
• <% /* Comentario en Java de una línea y
otra línea,
• y otra línea, o muchas líneas */%>
COMENTARIOS
• Si lo que queremos hacer es algo mas complejo que una expresion, es decir
crear un código java complejo e insertarlo en el servlet resultante de la
compilación de la pagina JSP usaremos Scriptlets, la manera de insertar este
código es:
• <%
• código a incluir
• %>
SCRIPTLETS
• Con los Scriptlets tambien podemos escribir en la pagina resultante sin usar
las expresiones, la manera de hacerlo es usar la variable out con su método
println:
• <%
• out.println("Salida a la pagina");
• %>
• Si queremos usar los caracteres "%>" dentro de un scriplet, debemos poner
"%>".
SCRIPTLETS
• Tabling
• Include
• Page
DIRECTIVAS
• La directiva taglib indica al motor jsp que la página va a utilizar “tag libraries” o
librerías de etiquetas . Estas librerías contienen etiquetas creadas por el propio
programador con sus correspondientes atributos que encapsulan determinada
funcionalidad.
• La sintaxis es
• <%@taglib uri=“ . . . . . ” prefix = “ . . . . . ” %>
• donde
• el atributo uri permite localizar el fichero descriptor de la librería de extensión tld.
• el atributo prefix especifica el identificador que todas las etiquetas de la librería
deben incorporar y que no puede coincidir con las palabras reservadas jsp:, jspx:,
java:, javax:, servlet:, sun:, and sunw:
• Como cabe esperar existe un procedimiento para crear estas librerías y que aquí no
vamos a analizar, lo que si haremos es utilizar un par de ellas previamente
construidas.
DIRECTIVAS TABLING
• La directiva include inserta el contenido de otro fichero en el fichero
principal JSP, en la línea donde está situada y antes de ser procesada o
traducida a servlet. Su sintaxis es la siguiente.
• <%@ include file=”url relativa” %>
• En otras palabras, la directiva include simplemente copia el contenido del
archivo incluido byte a byte, siendo el resultado similar a si copiamos el
texto del archivo incluido y lo pegamos en el JSP.
DIRECTIVAS INCLUDE
JSP
• Esta directiva se usa para establecer las
propiedades generales de una página JSP.
Podemos usar esta directiva varias veces a lo
largo de la pagina JSP, pero sólo podemos
asignar el valor de un atributo una vez por
cada una, excepto para el atributo import. Los
valores de la directiva se aplicarán a toda la
pagina.
• Sintaxis
• 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 término
opcional. La barra vertical (|) proporciona
una elección entre dos valores como true y
false.
DIRECTIVAS PAGE
<%@ 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[ ;charset=characterSet]” |
“text/html; charset=ISO-8859-1″]
[ isErrorPage="true|false"]
%>
• Include
• Forward
ACCIONES
• La acción forward se utiliza en JSP para redirigir la petición a otras
página JSP, a otro servlet o a otro recurso estático. Es muy útil
cuando se quiere separar la aplicación en diferentes vistas,
dependiendo de la petición interceptada. Cuando se ejecuta el
servlet origen de la página inicial se redirige la petición hacia el
destino y ya no se vuelve al servlet original. Pueden pasarse
parámetros de la página origen a la de destino, que se
recuperan con el método getParameter del objeto
implícito request. (Ver en este tutorial).
ACCIONES: FORWARD
• SINTAXIS
ACCIONES: INCLUDE
• donde
• page: url local que apunta al recurso que va a incluirse. No admite ningún protocolo,
nombre de host o número de puerto.
• param: Opcionalmente puede incluir parámetros a la página a la que desvía la
petición. Este parámetro podrá recuperarse con el objeto implícito request.
• La acción include permite la inclusión de la salida de otras
páginas jsp, html, ficheros de texto no formateado, ficheros Java,
ficheros XML, etc. La inclusión se realiza, no durante la traducción
de la jsp (como ocurría con la directiva include), sino justo
después, una vez que el servlet generado ya ha sido creado.
• El mecanismo de inclusión de la salida de la página incluida,
hace que si una página incluida cambia, no es necesario
compilar la página que la contiene.
ACCIONES: INCLUDE
• SINTAXIS: Tiene dos atributos, uno obligatorio cuyo nombre es page y otro
opcional cuyo nombre es flush
ACCIONES: INCLUDE
• donde
• page: url local que apunta al recurso que va a incluirse. No admite ningún protocolo,
nombre de host o número de puerto.
• flush: opcional. Por defecto, toma el valor de false. Si se cambia a true, el búfer de
salida se vacía antes de que se incluya el recurso asociado a la acción. Este atributo
no suele utilizarse.
• param name, opcionalmente, puede pasar parámetros a la página principal que
contiene la acción. Desde allí podrán tomarse los datos con getParameter del
objeto request.
JSP

Más contenido relacionado

PPTX
Uml
PDF
Semana 3 gestion de la configuracion y control de cambios
PPTX
Arquitectura de cliente-servidor de tres capas
PPTX
Mapa conceptual poo
PPTX
Modelo de desarrollo concurrente
PPTX
Fundamentos y metodos de analisis de requerimientos
PPTX
Ingeniería de software Definicion,inicion,importancia y utilidad
PPTX
El dba(administracion de base de datos)
 
Uml
Semana 3 gestion de la configuracion y control de cambios
Arquitectura de cliente-servidor de tres capas
Mapa conceptual poo
Modelo de desarrollo concurrente
Fundamentos y metodos de analisis de requerimientos
Ingeniería de software Definicion,inicion,importancia y utilidad
El dba(administracion de base de datos)
 

La actualidad más candente (20)

PPTX
Diseño de Software
PPTX
Modelado basados en escenarios
PDF
Sistema de-maquina-virtual
PDF
Especificación de Arquitectura de Software
DOCX
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
PPT
Clase 2 Modelo De Datos
DOC
Requerimientos norma ieee830
PDF
Ingenieria de software (conceptos básicos)
PDF
Ingeniería del Software de Gestión. Tema 4
PDF
UML. un analisis comparativo para la diagramación de software
DOC
Modelo componentes
PPTX
Modelado del sistema
PPT
Gestion de la configuracion del software
PPSX
Analisis estructurado
PPTX
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
PPTX
Vistas Arquitectonicas Ingenieria de Software
PPTX
PPTX
Arquitectura del software
PPT
Modelo de datos.
PPTX
Architecture business cycle ( abc )
Diseño de Software
Modelado basados en escenarios
Sistema de-maquina-virtual
Especificación de Arquitectura de Software
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
Clase 2 Modelo De Datos
Requerimientos norma ieee830
Ingenieria de software (conceptos básicos)
Ingeniería del Software de Gestión. Tema 4
UML. un analisis comparativo para la diagramación de software
Modelo componentes
Modelado del sistema
Gestion de la configuracion del software
Analisis estructurado
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
Vistas Arquitectonicas Ingenieria de Software
Arquitectura del software
Modelo de datos.
Architecture business cycle ( abc )
Publicidad

Destacado (20)

ODP
PPT
Tema2a Jsp
PPTX
Qué es jsp
ODP
PPTX
Java server pages (jsp)
PPTX
Java Server Pages (JSP)
PPTX
Elementos de JSP
PDF
PPT
JSP diana y yo
PPT
Termodinamica problemas resueltos 0607
PPTX
Contaminacion enfasis
PPTX
Servidor de Archivo
DOC
Titulacion Tlc Fabricacion Productos Quimicos
PDF
Jsp Paginacion
PPTX
Stéphane mallarmé
PDF
Guia N2 Proyectos Web Php
PDF
La limpieza hepatica y de la vesicula
PPTX
Tubos cerrados
PPTX
Jsp(java server pages)
Tema2a Jsp
Qué es jsp
Java server pages (jsp)
Java Server Pages (JSP)
Elementos de JSP
JSP diana y yo
Termodinamica problemas resueltos 0607
Contaminacion enfasis
Servidor de Archivo
Titulacion Tlc Fabricacion Productos Quimicos
Jsp Paginacion
Stéphane mallarmé
Guia N2 Proyectos Web Php
La limpieza hepatica y de la vesicula
Tubos cerrados
Jsp(java server pages)
Publicidad

Similar a JSP (20)

ODP
Curso Jsp Mas
PDF
Sesion06 apuntes
PDF
PPT
Programacion Web 2o dept
PPTX
Java Web - JSP
ODP
Curso Jsp
PPT
Curso Java Avanzado 3 Js Ps
PPTX
jsp - funcionamiento
PDF
teoría de los jsp en jakarta ee jsp.pd f
PDF
ODP
PDF
Introducción al desarrollo de aplicaciones web en Java
PPTX
Introduccion java ser
PDF
Manual programacion - java - jsp & xml
PDF
[ES] Introdución al desarrollo de aplicaciones web en java
PDF
ODP
componentes de jsp
PDF
Java Web Lección 02 - JSP
PDF
Herramientas de Desarrollo de Sistemas
Curso Jsp Mas
Sesion06 apuntes
Programacion Web 2o dept
Java Web - JSP
Curso Jsp
Curso Java Avanzado 3 Js Ps
jsp - funcionamiento
teoría de los jsp en jakarta ee jsp.pd f
Introducción al desarrollo de aplicaciones web en Java
Introduccion java ser
Manual programacion - java - jsp & xml
[ES] Introdución al desarrollo de aplicaciones web en java
componentes de jsp
Java Web Lección 02 - JSP
Herramientas de Desarrollo de Sistemas

Más de Enya Loboguerrero (20)

PPTX
Compuestos orgánicos
PDF
hobbes y el problema del realismo metafisico
DOCX
Economía colombiana en los últimos 10 años
PPTX
Populorum progressio
PPTX
Japanese fashion
DOCX
Sistemas de informacion
DOCX
Respuesta a la pregunta que es la ilustracion
PDF
Quimica nucleo comun - octubre 2005
DOC
Que pensaria kant sobre la etica actual
DOC
Preguntas tipo-icfes-movimiento-ondulatorio
DOCX
Normatividad cosmeticos
PDF
Hegel- las distintas formas de considerar la historia
DOC
Guia fisica
DOCX
prisma ejercicios resueltos
DOCX
proyecto de cosmetologia
PDF
Cuadernillo saber 11 2014
DOCX
Cosméticos esquema
DOC
elaboracion-cosmeticos
PDF
formulacion-cosmeticos
ODT
Compuestos orgánicos
hobbes y el problema del realismo metafisico
Economía colombiana en los últimos 10 años
Populorum progressio
Japanese fashion
Sistemas de informacion
Respuesta a la pregunta que es la ilustracion
Quimica nucleo comun - octubre 2005
Que pensaria kant sobre la etica actual
Preguntas tipo-icfes-movimiento-ondulatorio
Normatividad cosmeticos
Hegel- las distintas formas de considerar la historia
Guia fisica
prisma ejercicios resueltos
proyecto de cosmetologia
Cuadernillo saber 11 2014
Cosméticos esquema
elaboracion-cosmeticos
formulacion-cosmeticos

Último (10)

PPTX
Implementación equipo monitor12.08.25.pptx
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PPTX
sistemas de informacion.................
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Implementación equipo monitor12.08.25.pptx
Conceptos basicos de Base de Datos y sus propiedades
Fundamentos de Python - Curso de Python dia 1
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
AutoCAD Herramientas para el futuro, Juan Fandiño
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Su punto de partida en la IA: Microsoft 365 Copilot Chat
sistemas de informacion.................
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf

JSP

  • 1. Por : Enya Alexandra Fernandez 1101
  • 2. • Que es JSP? • Ventajas • Introducción • Objetos implícitos • Variables implícitas y predefinidas • Etiquetas • Elementos • Acciones CONTENIDO
  • 3. QUE ES??? • JSP es una tecnología que ayuda a los desarrolladores de software a crear páginas web dinámicas basadas en HTML, XML, entre otros tipos de documentos. JSP es similar a PHP, pero usa el lenguaje de programación Java. Los archivos JSP combinan HTML con etiquetas especiales y fragmentos de código Java. Para desplegar y correr JSP, se requiere un servidor web compatible con contenedores servlet como Apache Tomcat o Jetty.
  • 4. • JSP no nos da nada que no pudierámos en principio hacer con un servlet. Pero es mucho más conveniente escribir HTML normal que tener que hacer un billón de sentencias println que generen HTML. Además, separando el formato del contenido podemos poner diferentes personas en diferentes tareas. VENTAJAS
  • 5. INTRODUCCIÓN • JSP es una especificación de Sun Microsystems • Sirve para crear y gestionar páginas web dinámicas • Permite mezclar en una página código HTML para generar la parte estática, con contenido dinámico generado a partir de marcas especiales <% .... %> • El contenido dinámico se obtiene, en esencia, gracias a la posibilidad de incrustar dentro de la página código Java de diferentes formas  Hay 3 formas de añadir contenido dinámico • Su objetivo final es separar la interfaz (presentación visual) de la implementación (lógica de ejecución)
  • 6. INTRODUCCIÓN • JSP combina HTML con fragmentos de Java para producir páginas web dinámicas. El fichero que contiene la página HTML tiene la extensión .jsp, y se almacena en el mismo sitio que una página web normal. • Cuando un cliente pide una página JSP del sitio web y no se ha ejecutado antes, la página es pasada al motos de JSP, el cual compila la página convirtiéndola en un servlet, la ejecuta y devuelve el contenido de los resultados al cliente. • ¿Cuál es el funcionamiento básico? Muy sencillo: • 1) El cliente solicita una página .jsp • 2) La solicitud llega al servidor • 3) El servidor «ejecuta» la página .jsp y obtiene un texto en formato html • 4) El servidor envía el texto html al cliente • 5) El navegador del cliente visualiza el texto html como si realmente hubiera estado almacenado en el servidor.
  • 8. INTRODUCCIÓN Página JSP  Servlet • La página JSP se convierte en un servlet • La conversión la realiza en la máquina servidora el motor o contenedor JSP, la primera vez que se solicita la página JSP • Este servlet generado procesa cualquier petición para esa página JSP • Si se modifica el código de la página JSP, entonces se regenera y recompila automáticamente el servlet y se recarga la próxima vez que sea solicitada Fichero.jsp ServletJsp.java ServletJsp.class Traduce Motor JSP Compila Compila dor java
  • 9. FUNCIONAMIENTO Cliente Servidor Web Motor JSP Extensiones del servidor Motor Servlet Analizador JSP Compilador Java Cargador Clases Fichero.JSP ServletJSP.java ServletJSP.class Petición fichero.jsp Respuesta 1º vez 1º vez 1º vez respuesta petición respuesta respuesta petición
  • 10. • JSP utiliza los objetos implícitos, basados en la API de servlets. • Estos objetos están disponibles para su uso en páginas JSP y son los siguientes: • Objeto request • Representa la petición lanzada en la invocación de service(). Proporciona entre otras cosas los parámetros recibidos del cliente, el tipo de petición (GET/POST) • Objeto response • Instancia de HttpServletResponse que representa la respuesta del servidor a la petición. Ámbito de página OBJETOS IMPLÍCITOS
  • 11. • Las páginas JSP incluyen ciertas variables privilegiadas sin necesidad de declararlas ni configurarlas: VARIABLES IMPLÍCITAS
  • 12. • RESPONSE • SESSION • PAGE • PAGECONTEXT • OUT • APLICATION • CONFIG VARIABLES PREDEFINIDAS
  • 13. • RESPONSE: Esta variable es el HttpServletResponse del Servlet y que esta asociado a la respuesta que la pagina JSP dara al cliente. VARIABLES PREDEFINIDAS • OUT: Es el PrintWriter que nos sirve para escribir en la respuesta que el daremos al cliente, es decir a la pagina resultante de la llamada a la pagina JSP. Sin embargo este PrintWriter no es uno normal, sino que tiene buffer y es llamado JSPWriter. • SESSION: Es el HttpSession asociado a la petición. Las sesiones se crean automáticamente, por eso esta variable siempre existe a no ser que con la directiva page lo desactivemos. • PAGECONTEXT: esto representa una clase llamada PageContext que sirve para encapsular características especificas del servidor, el significado de esto es que si accedemos a propiedades especificar del servidor mediante estas variables, entonces nuestro código funcionara en la mayoría de los motores JSP. • APLICATION: Este es el ServletContext obtenido mediante getServletConfig().getCo ntext(). • PAGE: Es lo mismo que this en cualquier otra clase de java. • CONFIG: Este es el objeto ServletConfig para esta página.
  • 14. • Son las etiquetas pertenecientes a la especificación JSP. Proporcionan una funcionalidad básica. Un primer grupo de etiquetas proporciona funcionalidad a nivel de la página de una manera muy simple: ETIQUETAS • Un segundo grupo permite manipular componentes JavaBean sin conocimientos de Java.
  • 15. • Expresiones • Declaraciones • Comentarios • Scriptlets • Directivas ELEMENTOS
  • 16. • Se usan para mandar valores directamente a la pagina web resultante de la JSP, <%= expresion %>, la expresion es ejecutada, se convierte a una cadena de caracteres (String) y insertada en la pagina. En las expresiones podemos usar gran cantidad de variables predefinidas, los mas usados son: • request, de la clase HttpServletRequest • response, de la clase HttpServletResponse • session, de la clase HttpSession que esta asociada al request, si es que trabajamos con sessions • out, se trata de una clase PrintWriter usada para imprimir directamente en la pagina resultante. EXPRESIONES
  • 17. • Las declaraciones JSP nos permiten configurar variables para su uso posterior en expresiones o scriptlets. También podemos declarar variables dentro de expresiones o scriptlets en el momento de usarlas. El ámbito es toda la página JSP, no hay concepto de variables de ejemplar. Es decir, no tenemos que declarar variables de ejemplar para usar en más de una expresión o scriptlet. Las declaraciones van encerradas entre etiquetas de declaración <%! Codigo Java %>. Como las declaraciones no generan ninguna salida, normalmente se usan en conjunción con expresiones JSP o scriptlets. DECLARACIONES
  • 18. • Cuando hablamos de comentarios en JSP tenemos que considerar básicamente dos circunstancias, a saber: • 1) Comentarios que aparecen como etiquetas HTML en un archivo jsp y que SÍ recibe el cliente o peticionario de la página, esto es: • <!– Comentario HTML (Este comentario sí se pasa al cliente) –> • esta instrucción al ser una etiqueta/marca HTML se transmitirá directamente a la página HTML de salida generada por el servlet asociado al JSP para enviarla al cliente solicitante. Esta instrucción es transparente para el Motor JSP. • 2) Comentarios escritos en Java entre los identificadores <% y %> que NO se enviarán al cliente solicitante de la página, sólo aparecen en la propia página JSP y en su servlet asociado. • <% // Comentario en Java de una sola línea %> • o este otro • <% /* Comentario en Java de una línea y otra línea, • y otra línea, o muchas líneas */%> COMENTARIOS
  • 19. • Si lo que queremos hacer es algo mas complejo que una expresion, es decir crear un código java complejo e insertarlo en el servlet resultante de la compilación de la pagina JSP usaremos Scriptlets, la manera de insertar este código es: • <% • código a incluir • %> SCRIPTLETS
  • 20. • Con los Scriptlets tambien podemos escribir en la pagina resultante sin usar las expresiones, la manera de hacerlo es usar la variable out con su método println: • <% • out.println("Salida a la pagina"); • %> • Si queremos usar los caracteres "%>" dentro de un scriplet, debemos poner "%>". SCRIPTLETS
  • 21. • Tabling • Include • Page DIRECTIVAS
  • 22. • La directiva taglib indica al motor jsp que la página va a utilizar “tag libraries” o librerías de etiquetas . Estas librerías contienen etiquetas creadas por el propio programador con sus correspondientes atributos que encapsulan determinada funcionalidad. • La sintaxis es • <%@taglib uri=“ . . . . . ” prefix = “ . . . . . ” %> • donde • el atributo uri permite localizar el fichero descriptor de la librería de extensión tld. • el atributo prefix especifica el identificador que todas las etiquetas de la librería deben incorporar y que no puede coincidir con las palabras reservadas jsp:, jspx:, java:, javax:, servlet:, sun:, and sunw: • Como cabe esperar existe un procedimiento para crear estas librerías y que aquí no vamos a analizar, lo que si haremos es utilizar un par de ellas previamente construidas. DIRECTIVAS TABLING
  • 23. • La directiva include inserta el contenido de otro fichero en el fichero principal JSP, en la línea donde está situada y antes de ser procesada o traducida a servlet. Su sintaxis es la siguiente. • <%@ include file=”url relativa” %> • En otras palabras, la directiva include simplemente copia el contenido del archivo incluido byte a byte, siendo el resultado similar a si copiamos el texto del archivo incluido y lo pegamos en el JSP. DIRECTIVAS INCLUDE
  • 25. • Esta directiva se usa para establecer las propiedades generales de una página JSP. Podemos usar esta directiva varias veces a lo largo de la pagina JSP, pero sólo podemos asignar el valor de un atributo una vez por cada una, excepto para el atributo import. Los valores de la directiva se aplicarán a toda la pagina. • Sintaxis • 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 término opcional. La barra vertical (|) proporciona una elección entre dos valores como true y false. DIRECTIVAS PAGE <%@ 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[ ;charset=characterSet]” | “text/html; charset=ISO-8859-1″] [ isErrorPage="true|false"] %>
  • 27. • La acción forward se utiliza en JSP para redirigir la petición a otras página JSP, a otro servlet o a otro recurso estático. Es muy útil cuando se quiere separar la aplicación en diferentes vistas, dependiendo de la petición interceptada. Cuando se ejecuta el servlet origen de la página inicial se redirige la petición hacia el destino y ya no se vuelve al servlet original. Pueden pasarse parámetros de la página origen a la de destino, que se recuperan con el método getParameter del objeto implícito request. (Ver en este tutorial). ACCIONES: FORWARD
  • 28. • SINTAXIS ACCIONES: INCLUDE • donde • page: url local que apunta al recurso que va a incluirse. No admite ningún protocolo, nombre de host o número de puerto. • param: Opcionalmente puede incluir parámetros a la página a la que desvía la petición. Este parámetro podrá recuperarse con el objeto implícito request.
  • 29. • La acción include permite la inclusión de la salida de otras páginas jsp, html, ficheros de texto no formateado, ficheros Java, ficheros XML, etc. La inclusión se realiza, no durante la traducción de la jsp (como ocurría con la directiva include), sino justo después, una vez que el servlet generado ya ha sido creado. • El mecanismo de inclusión de la salida de la página incluida, hace que si una página incluida cambia, no es necesario compilar la página que la contiene. ACCIONES: INCLUDE
  • 30. • SINTAXIS: Tiene dos atributos, uno obligatorio cuyo nombre es page y otro opcional cuyo nombre es flush ACCIONES: INCLUDE • donde • page: url local que apunta al recurso que va a incluirse. No admite ningún protocolo, nombre de host o número de puerto. • flush: opcional. Por defecto, toma el valor de false. Si se cambia a true, el búfer de salida se vacía antes de que se incluya el recurso asociado a la acción. Este atributo no suele utilizarse. • param name, opcionalmente, puede pasar parámetros a la página principal que contiene la acción. Desde allí podrán tomarse los datos con getParameter del objeto request.