SlideShare una empresa de Scribd logo
1 de 31
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
• 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

La actualidad más candente

Organizacion del Computador
Organizacion del ComputadorOrganizacion del Computador
Organizacion del ComputadorG Hoyos A
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorHenry Vargas
 
Metodologia web
Metodologia webMetodologia web
Metodologia webAnel Sosa
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicasbat1820
 
Web container and Apache Tomcat
Web container and Apache TomcatWeb container and Apache Tomcat
Web container and Apache TomcatAuwal Amshi
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)diegob1098
 
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosNuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosHugo Alberto Rivera Diaz
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoCoesi Consultoria
 
Tipos de comunicaciones
Tipos de comunicacionesTipos de comunicaciones
Tipos de comunicacionesNixon Maza
 
Arquitectura en Capas
Arquitectura en CapasArquitectura en Capas
Arquitectura en CapasHelenSaravia
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capasEsbeyiz
 
Curso java desde cero nivel i - modulo i
Curso java desde cero   nivel i - modulo iCurso java desde cero   nivel i - modulo i
Curso java desde cero nivel i - modulo iGiovanny Guillen
 
Java EE Introduction
Java EE IntroductionJava EE Introduction
Java EE Introductionejlp12
 
Presentacion eclipse - grupo 6
Presentacion   eclipse - grupo 6Presentacion   eclipse - grupo 6
Presentacion eclipse - grupo 6Maga Lasic
 
SOAP y Web Services
SOAP y Web ServicesSOAP y Web Services
SOAP y Web Servicesedmodi
 

La actualidad más candente (20)

Organizacion del Computador
Organizacion del ComputadorOrganizacion del Computador
Organizacion del Computador
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista Controlador
 
Metodologia web
Metodologia webMetodologia web
Metodologia web
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
 
Web container and Apache Tomcat
Web container and Apache TomcatWeb container and Apache Tomcat
Web container and Apache Tomcat
 
Jsp(java server pages)
Jsp(java server pages)Jsp(java server pages)
Jsp(java server pages)
 
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosNuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Tipos de comunicaciones
Tipos de comunicacionesTipos de comunicaciones
Tipos de comunicaciones
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Jsp presentation
Jsp presentationJsp presentation
Jsp presentation
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 
Arquitectura en Capas
Arquitectura en CapasArquitectura en Capas
Arquitectura en Capas
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas
 
Curso java desde cero nivel i - modulo i
Curso java desde cero   nivel i - modulo iCurso java desde cero   nivel i - modulo i
Curso java desde cero nivel i - modulo i
 
Java EE Introduction
Java EE IntroductionJava EE Introduction
Java EE Introduction
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Presentacion eclipse - grupo 6
Presentacion   eclipse - grupo 6Presentacion   eclipse - grupo 6
Presentacion eclipse - grupo 6
 
SOAP y Web Services
SOAP y Web ServicesSOAP y Web Services
SOAP y Web Services
 

Destacado (20)

JSP
JSPJSP
JSP
 
Tema2a Jsp
Tema2a JspTema2a Jsp
Tema2a Jsp
 
Qué es jsp
Qué es jspQué es jsp
Qué es jsp
 
JSP
JSPJSP
JSP
 
Java server pages (jsp)
Java server pages (jsp)Java server pages (jsp)
Java server pages (jsp)
 
Java Server Pages (JSP)
Java Server Pages (JSP)Java Server Pages (JSP)
Java Server Pages (JSP)
 
Elementos de JSP
Elementos de JSPElementos de JSP
Elementos de JSP
 
Jsp
JspJsp
Jsp
 
JSP diana y yo
JSP diana y yoJSP diana y yo
JSP diana y yo
 
Termodinamica problemas resueltos 0607
Termodinamica problemas resueltos 0607Termodinamica problemas resueltos 0607
Termodinamica problemas resueltos 0607
 
Contaminacion enfasis
Contaminacion enfasisContaminacion enfasis
Contaminacion enfasis
 
Servidor de Archivo
Servidor de ArchivoServidor de Archivo
Servidor de Archivo
 
Titulacion Tlc Fabricacion Productos Quimicos
Titulacion Tlc Fabricacion Productos QuimicosTitulacion Tlc Fabricacion Productos Quimicos
Titulacion Tlc Fabricacion Productos Quimicos
 
Jsp Paginacion
Jsp PaginacionJsp Paginacion
Jsp Paginacion
 
Stéphane mallarmé
Stéphane mallarméStéphane mallarmé
Stéphane mallarmé
 
Guia N2 Proyectos Web Php
Guia N2   Proyectos Web   PhpGuia N2   Proyectos Web   Php
Guia N2 Proyectos Web Php
 
JSP
JSPJSP
JSP
 
La limpieza hepatica y de la vesicula
La limpieza hepatica y de la vesiculaLa limpieza hepatica y de la vesicula
La limpieza hepatica y de la vesicula
 
Tubos cerrados
Tubos cerradosTubos cerrados
Tubos cerrados
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 

Similar a JSP (20)

Curso Jsp Mas
Curso Jsp MasCurso Jsp Mas
Curso Jsp Mas
 
JSP
JSPJSP
JSP
 
Sesion06 apuntes
Sesion06 apuntesSesion06 apuntes
Sesion06 apuntes
 
Programacion Web 2o dept
Programacion Web 2o deptProgramacion Web 2o dept
Programacion Web 2o dept
 
Java Web - JSP
Java Web - JSPJava Web - JSP
Java Web - JSP
 
Curso Jsp
Curso JspCurso Jsp
Curso Jsp
 
Jsp
JspJsp
Jsp
 
Curso Java Avanzado 3 Js Ps
Curso Java Avanzado   3 Js PsCurso Java Avanzado   3 Js Ps
Curso Java Avanzado 3 Js Ps
 
jsp - funcionamiento
jsp - funcionamientojsp - funcionamiento
jsp - funcionamiento
 
Jsp
JspJsp
Jsp
 
JSP
JSP JSP
JSP
 
Introducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en JavaIntroducción al desarrollo de aplicaciones web en Java
Introducción al desarrollo de aplicaciones web en Java
 
Introduccion java ser
Introduccion java serIntroduccion java ser
Introduccion java ser
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
[ES] Introdución al desarrollo de aplicaciones web en java
[ES] Introdución al desarrollo de aplicaciones  web en java[ES] Introdución al desarrollo de aplicaciones  web en java
[ES] Introdución al desarrollo de aplicaciones web en java
 
JavaServer Page
JavaServer PageJavaServer Page
JavaServer Page
 
componentes de jsp
componentes de jsp componentes de jsp
componentes de jsp
 
Java Web Lección 02 - JSP
Java Web Lección 02 - JSPJava Web Lección 02 - JSP
Java Web Lección 02 - JSP
 
Herramientas de Desarrollo de Sistemas
Herramientas de Desarrollo de SistemasHerramientas de Desarrollo de Sistemas
Herramientas de Desarrollo de Sistemas
 
Practica jsp
Practica jspPractica jsp
Practica jsp
 

Más de Enya Loboguerrero

hobbes y el problema del realismo metafisico
hobbes y el problema del realismo metafisicohobbes y el problema del realismo metafisico
hobbes y el problema del realismo metafisicoEnya Loboguerrero
 
Economía colombiana en los últimos 10 años
Economía colombiana en los últimos 10 añosEconomía colombiana en los últimos 10 años
Economía colombiana en los últimos 10 añosEnya Loboguerrero
 
Respuesta a la pregunta que es la ilustracion
Respuesta a la pregunta que es la ilustracionRespuesta a la pregunta que es la ilustracion
Respuesta a la pregunta que es la ilustracionEnya Loboguerrero
 
Quimica nucleo comun - octubre 2005
Quimica   nucleo comun - octubre 2005Quimica   nucleo comun - octubre 2005
Quimica nucleo comun - octubre 2005Enya Loboguerrero
 
Que pensaria kant sobre la etica actual
Que pensaria kant sobre la etica actualQue pensaria kant sobre la etica actual
Que pensaria kant sobre la etica actualEnya Loboguerrero
 
Preguntas tipo-icfes-movimiento-ondulatorio
Preguntas tipo-icfes-movimiento-ondulatorio Preguntas tipo-icfes-movimiento-ondulatorio
Preguntas tipo-icfes-movimiento-ondulatorio Enya Loboguerrero
 
Hegel- las distintas formas de considerar la historia
Hegel- las distintas formas de considerar la historiaHegel- las distintas formas de considerar la historia
Hegel- las distintas formas de considerar la historiaEnya Loboguerrero
 

Más de Enya Loboguerrero (20)

Compuestos orgánicos
Compuestos orgánicosCompuestos orgánicos
Compuestos orgánicos
 
hobbes y el problema del realismo metafisico
hobbes y el problema del realismo metafisicohobbes y el problema del realismo metafisico
hobbes y el problema del realismo metafisico
 
Economía colombiana en los últimos 10 años
Economía colombiana en los últimos 10 añosEconomía colombiana en los últimos 10 años
Economía colombiana en los últimos 10 años
 
Populorum progressio
Populorum progressioPopulorum progressio
Populorum progressio
 
Japanese fashion
Japanese fashionJapanese fashion
Japanese fashion
 
Sistemas de informacion
Sistemas de informacionSistemas de informacion
Sistemas de informacion
 
Respuesta a la pregunta que es la ilustracion
Respuesta a la pregunta que es la ilustracionRespuesta a la pregunta que es la ilustracion
Respuesta a la pregunta que es la ilustracion
 
Quimica nucleo comun - octubre 2005
Quimica   nucleo comun - octubre 2005Quimica   nucleo comun - octubre 2005
Quimica nucleo comun - octubre 2005
 
Que pensaria kant sobre la etica actual
Que pensaria kant sobre la etica actualQue pensaria kant sobre la etica actual
Que pensaria kant sobre la etica actual
 
Preguntas tipo-icfes-movimiento-ondulatorio
Preguntas tipo-icfes-movimiento-ondulatorio Preguntas tipo-icfes-movimiento-ondulatorio
Preguntas tipo-icfes-movimiento-ondulatorio
 
Normatividad cosmeticos
Normatividad cosmeticosNormatividad cosmeticos
Normatividad cosmeticos
 
Hegel- las distintas formas de considerar la historia
Hegel- las distintas formas de considerar la historiaHegel- las distintas formas de considerar la historia
Hegel- las distintas formas de considerar la historia
 
Guia fisica
Guia fisica Guia fisica
Guia fisica
 
prisma ejercicios resueltos
prisma ejercicios resueltosprisma ejercicios resueltos
prisma ejercicios resueltos
 
proyecto de cosmetologia
proyecto de cosmetologia proyecto de cosmetologia
proyecto de cosmetologia
 
Cuadernillo saber 11 2014
Cuadernillo saber 11 2014Cuadernillo saber 11 2014
Cuadernillo saber 11 2014
 
Cosméticos esquema
Cosméticos   esquemaCosméticos   esquema
Cosméticos esquema
 
elaboracion-cosmeticos
elaboracion-cosmeticoselaboracion-cosmeticos
elaboracion-cosmeticos
 
formulacion-cosmeticos
formulacion-cosmeticosformulacion-cosmeticos
formulacion-cosmeticos
 
Esmalte
EsmalteEsmalte
Esmalte
 

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
  • 24.
  • 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.