SlideShare a Scribd company logo
1 of 22
Download to read offline
Especialista en Aplicaciones y Servicios
  Web con Java Enterprise




                            Capa de presentación: JSP
                                    Sesión 1:
                                   JSP Básico




Capa de presentación: JSP         Copyright © 2003-2004 Universidad de Alicante   JSP básico 1
Índice

       Introducción a los JSP. Comparación con servlets
       Elementos de JSP
             Código Java
             Objetos implícitos
       Directivas
       Acciones




Capa de presentación: JSP     Copyright © 2003-2004 Universidad de Alicante   JSP básico 2
Índice

       Introducción a los JSP. Comparación con servlets
       Elementos de JSP
             Código Java
             Objetos implícitos
       Directivas
       Acciones




Capa de presentación: JSP     Copyright © 2003-2004 Universidad de Alicante   JSP básico 3
Introducción a los JSP

       Código Java en páginas HTML
        <html>
        <head>
        <title>Mi primera página JSP</title>
        </head>
        <body>
        <h1> Hola, <%= request.getParameter("nombre") %>
        Hoy es: <%= new java.util.Date() %> </h1>
        </body>
        </html>




Capa de presentación: JSP   Copyright © 2003-2004 Universidad de Alicante   JSP básico 4
Comparación con los servlets

       En apariencia
             Un JSP es HTML + Java Insertado
             Un Servlet es Java + HTML insertado
       En realidad
             Los JSP se traducen internamente a servlets
                •   El servidor web tiene una “plantilla de servlet”
                •   Inserta nuestro código JSP dentro
                •   Lo guarda en un directorio especial
                •   Lo compila y ejecuta
                •   En sucesivas llamadas a la página, solo hace falta ejecutar
                    el servlet, salvo que se modifique el código del JSP
                    comenzar de nuevo


Capa de presentación: JSP          Copyright © 2003-2004 Universidad de Alicante   JSP básico 5
Índice

       Introducción a los JSP. Comparación con servlets
       Elementos de JSP
             Código Java
             Objetos implícitos
       Directivas
       Acciones




Capa de presentación: JSP     Copyright © 2003-2004 Universidad de Alicante   JSP básico 6
Elementos de JSP

       Código Java
             Sentencias (scriptlets) <% tam = 1; %>
             Declaraciones           <%! int i = 0; %>
             Expresiones             <%= new Date() %>
       Directivas: para “afinar” el servlet generado
       Acciones: alteración del flujo de ejecución
       (normalmente)




Capa de presentación: JSP   Copyright © 2003-2004 Universidad de Alicante   JSP básico 7
Scriptlets

  <%
       Calendar ahora = Calendar.getInstance();
       int hora = ahora.get(Calendar.HOUR_OF_DAY);
  %>
  <b> Hola mundo, <i>
  <% if ((hora>20)||(hora<6)) { %>
       buenas noches
  <% }
     else if ((hora>=6)&&(hora<=12)) { %>
             buenos días
       <% }
          else { %>
             buenas tardes
              <% } %> </i> </b>

Capa de presentación: JSP   Copyright © 2003-2004 Universidad de Alicante   JSP básico 8
Declaraciones

       Las variables o métodos declarados se insertan en
       el cuerpo del servlet generado se conservan entre
       peticiones

       <%! private int accesos = 0; %>
       <% ++accesos; %>


       Se pueden sobreescribir los métodos jspInit y
       jspDestroy equivalentes al init y destroy de
       los servlets

Capa de presentación: JSP   Copyright © 2003-2004 Universidad de Alicante   JSP básico 9
Expresiones

       Su valor se evalúa, se convierte a cadena y se
       imprime en el Writer del servlet, con un write o
       similar

    <b>
     Esta página ha sido visitada <%= visitas %> veces
     Hoy es <%= new java.util.Date() %>
    </b>




Capa de presentación: JSP   Copyright © 2003-2004 Universidad de Alicante   JSP básico 10
Objetos implícitos

       Variables definidas en la “plantilla” de servlet para
       JSP, por tanto accesibles a nuestro código
       Objetos
             request (HttpRequest), response (HttpResponse)
             out: el writer para enviar la salida al cliente
             session: HttpSession
             application: ServletContext
             config: ServletConfig
             pageContext
             exception


Capa de presentación: JSP    Copyright © 2003-2004 Universidad de Alicante   JSP básico 11
Índice

       Introducción a los JSP. Comparación con servlets
       Elementos de JSP
             Código Java
             Objetos implícitos
       Directivas
       Acciones




Capa de presentación: JSP     Copyright © 2003-2004 Universidad de Alicante   JSP básico 12
Directivas

       Influyen en la estructura que tendrá el servlet
       generado

                            <%@ directiva atributo=“valor” %>


       Tipos
             page: usos variados
             include: equivalente al #include de C
             taglib: para usar librerías de etiquetas




Capa de presentación: JSP          Copyright © 2003-2004 Universidad de Alicante   JSP básico 13
La directiva page: atributos

       Import (= import de Java)
                <%@page import=“java.util.*, java.sql.*” %>


       contentType (= response.setContentType() )
                <%@page contentType=“text/html” %>


       isThreadSafe (= implements SingleThreadModel)
       session (defecto: true)



Capa de presentación: JSP    Copyright © 2003-2004 Universidad de Alicante   JSP básico 14
La directiva page: atributos (II)

       buffer: ¿Qué hay de raro en esta página JSP?
       ¿Cómo es que funciona?

       <html>
       <head>
          <title>Untitled</title>
       </head>
       <body>
       <%@ page contentType="text/plain" %>
       <h1> Hola </h1>
       </body>
       </html>


Capa de presentación: JSP   Copyright © 2003-2004 Universidad de Alicante   JSP básico 15
La directiva page: tratamiento de errores

       Saltar a una página de error en caso de que se
       produzca una excepción
       En todas las páginas del sitio (menos la de error):
                <%@page errorPage=“error.jsp” %>

       En la página de error:
                <%@page isErrorPage=“true” %>


       Esto último hace accesible el objeto implícito
       exception


Capa de presentación: JSP   Copyright © 2003-2004 Universidad de Alicante   JSP básico 16
La directiva include

       Equivalente al #include de C
       El código se incluye antes de la compilación del
       servlet y se compila todo junto
       Problema: J2EE no exige que si cambia el código
       incluido el servidor tenga que volver a componer el
       servlet
       Usos
             Definir variables
             Influir en la respuesta



Capa de presentación: JSP     Copyright © 2003-2004 Universidad de Alicante   JSP básico 17
Índice

       Introducción a los JSP. Comparación con servlets
       Elementos de JSP
             Código Java
             Objetos implícitos
       Directivas
       Acciones




Capa de presentación: JSP     Copyright © 2003-2004 Universidad de Alicante   JSP básico 18
Acciones: <jsp:include>

       Incluye en una página la salida generada por otra
                            petición


                                          petición



                                            respuesta



                            respuesta

       Cambios en lo incluido no obligan a recompilar el
       “principal”

Capa de presentación: JSP               Copyright © 2003-2004 Universidad de Alicante   JSP básico 19
Acciones: <jsp:include> (II)

       Sintaxis
         <jsp:include page=“URL relativa” flush=“true | false” />


       Pasarle parámetros a la página incluida
             Recibe el request (parámetros originales)
             Parámetros adicionales:

         <jsp:include page=“cabecera.jsp” flush=“false” >
            <jsp:param name=“color” value=“red”/>
         </jsp:include>




Capa de presentación: JSP    Copyright © 2003-2004 Universidad de Alicante   JSP básico 20
Acciones: <jsp:forward>

       Redirige la petición a otra página
                            petición


                                         petición




                                                           respuesta
       Lo que haya en el buffer se descarta



Capa de presentación: JSP              Copyright © 2003-2004 Universidad de Alicante   JSP básico 21
Acciones: <jsp:forward> (II)

       Sintaxis
         <jsp:forward page=“URL relativa”/>


       Pasarle parámetros a la página incluida: idem al
       <jsp:include>
             Recibe el request (parámetros originales)
             Parámetros adicionales:

         <jsp:forward page=“principal.jsp”>
            <jsp:param name=“privilegios” value=“root”/>
         </jsp:include>


Capa de presentación: JSP    Copyright © 2003-2004 Universidad de Alicante   JSP básico 22

More Related Content

What's hot

What's hot (19)

Java Web Lección 02 - JSP
Java Web Lección 02 - JSPJava Web Lección 02 - JSP
Java Web Lección 02 - JSP
 
JSP
JSPJSP
JSP
 
Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
 
Programacion Web 2o dept
Programacion Web 2o deptProgramacion Web 2o dept
Programacion Web 2o dept
 
Semana 1 tecnologias web
Semana 1   tecnologias webSemana 1   tecnologias web
Semana 1 tecnologias web
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Curso Básico de JDBC
Curso Básico de JDBCCurso Básico de JDBC
Curso Básico de JDBC
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
 
Resumen jee
Resumen jeeResumen jee
Resumen jee
 
componentes de jsp
componentes de jsp componentes de jsp
componentes de jsp
 
JDBC
JDBCJDBC
JDBC
 
Elementos de JSP
Elementos de JSPElementos de JSP
Elementos de JSP
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
Web services y java
Web services y javaWeb services y java
Web services y java
 
Jdbc
JdbcJdbc
Jdbc
 

Similar to Java JSP Fundamentos

Sesion06 apuntes
Sesion06 apuntesSesion06 apuntes
Sesion06 apuntesAnthonyFisi
 
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-20064. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006Samuel Marrero
 
5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_webJuy JLopez
 
[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 javaEudris Cabrera
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a TomcatIker Canarias
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xmlgilhorak
 
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptintroduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptBYRONMIGUELSUBUYUCPA
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones webFelipe
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con JavaEudris Cabrera
 

Similar to Java JSP Fundamentos (20)

Sesion06 apuntes
Sesion06 apuntesSesion06 apuntes
Sesion06 apuntes
 
Jsp Paginacion
Jsp PaginacionJsp Paginacion
Jsp Paginacion
 
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-20064. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
 
Practica jsp
Practica jspPractica jsp
Practica jsp
 
JavaServer Page
JavaServer PageJavaServer Page
JavaServer Page
 
Curso Jsp
Curso JspCurso Jsp
Curso Jsp
 
Jsp
JspJsp
Jsp
 
5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web
 
Java Web - JSP
Java Web - JSPJava Web - JSP
Java Web - JSP
 
Jsp
JspJsp
Jsp
 
SERVLET BASICS
SERVLET BASICSSERVLET BASICS
SERVLET BASICS
 
Herramientas de Desarrollo de Sistemas
Herramientas de Desarrollo de SistemasHerramientas de Desarrollo de Sistemas
Herramientas de Desarrollo de Sistemas
 
[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
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
Eclipse
EclipseEclipse
Eclipse
 
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptintroduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
 
Prg3 3x02
Prg3 3x02Prg3 3x02
Prg3 3x02
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java
 

Java JSP Fundamentos

  • 1. Especialista en Aplicaciones y Servicios Web con Java Enterprise Capa de presentación: JSP Sesión 1: JSP Básico Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 1
  • 2. Índice Introducción a los JSP. Comparación con servlets Elementos de JSP Código Java Objetos implícitos Directivas Acciones Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 2
  • 3. Índice Introducción a los JSP. Comparación con servlets Elementos de JSP Código Java Objetos implícitos Directivas Acciones Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 3
  • 4. Introducción a los JSP Código Java en páginas HTML <html> <head> <title>Mi primera página JSP</title> </head> <body> <h1> Hola, <%= request.getParameter("nombre") %> Hoy es: <%= new java.util.Date() %> </h1> </body> </html> Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 4
  • 5. Comparación con los servlets En apariencia Un JSP es HTML + Java Insertado Un Servlet es Java + HTML insertado En realidad Los JSP se traducen internamente a servlets • El servidor web tiene una “plantilla de servlet” • Inserta nuestro código JSP dentro • Lo guarda en un directorio especial • Lo compila y ejecuta • En sucesivas llamadas a la página, solo hace falta ejecutar el servlet, salvo que se modifique el código del JSP comenzar de nuevo Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 5
  • 6. Índice Introducción a los JSP. Comparación con servlets Elementos de JSP Código Java Objetos implícitos Directivas Acciones Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 6
  • 7. Elementos de JSP Código Java Sentencias (scriptlets) <% tam = 1; %> Declaraciones <%! int i = 0; %> Expresiones <%= new Date() %> Directivas: para “afinar” el servlet generado Acciones: alteración del flujo de ejecución (normalmente) Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 7
  • 8. Scriptlets <% Calendar ahora = Calendar.getInstance(); int hora = ahora.get(Calendar.HOUR_OF_DAY); %> <b> Hola mundo, <i> <% if ((hora>20)||(hora<6)) { %> buenas noches <% } else if ((hora>=6)&&(hora<=12)) { %> buenos días <% } else { %> buenas tardes <% } %> </i> </b> Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 8
  • 9. Declaraciones Las variables o métodos declarados se insertan en el cuerpo del servlet generado se conservan entre peticiones <%! private int accesos = 0; %> <% ++accesos; %> Se pueden sobreescribir los métodos jspInit y jspDestroy equivalentes al init y destroy de los servlets Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 9
  • 10. Expresiones Su valor se evalúa, se convierte a cadena y se imprime en el Writer del servlet, con un write o similar <b> Esta página ha sido visitada <%= visitas %> veces Hoy es <%= new java.util.Date() %> </b> Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 10
  • 11. Objetos implícitos Variables definidas en la “plantilla” de servlet para JSP, por tanto accesibles a nuestro código Objetos request (HttpRequest), response (HttpResponse) out: el writer para enviar la salida al cliente session: HttpSession application: ServletContext config: ServletConfig pageContext exception Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 11
  • 12. Índice Introducción a los JSP. Comparación con servlets Elementos de JSP Código Java Objetos implícitos Directivas Acciones Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 12
  • 13. Directivas Influyen en la estructura que tendrá el servlet generado <%@ directiva atributo=“valor” %> Tipos page: usos variados include: equivalente al #include de C taglib: para usar librerías de etiquetas Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 13
  • 14. La directiva page: atributos Import (= import de Java) <%@page import=“java.util.*, java.sql.*” %> contentType (= response.setContentType() ) <%@page contentType=“text/html” %> isThreadSafe (= implements SingleThreadModel) session (defecto: true) Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 14
  • 15. La directiva page: atributos (II) buffer: ¿Qué hay de raro en esta página JSP? ¿Cómo es que funciona? <html> <head> <title>Untitled</title> </head> <body> <%@ page contentType="text/plain" %> <h1> Hola </h1> </body> </html> Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 15
  • 16. La directiva page: tratamiento de errores Saltar a una página de error en caso de que se produzca una excepción En todas las páginas del sitio (menos la de error): <%@page errorPage=“error.jsp” %> En la página de error: <%@page isErrorPage=“true” %> Esto último hace accesible el objeto implícito exception Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 16
  • 17. La directiva include Equivalente al #include de C El código se incluye antes de la compilación del servlet y se compila todo junto Problema: J2EE no exige que si cambia el código incluido el servidor tenga que volver a componer el servlet Usos Definir variables Influir en la respuesta Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 17
  • 18. Índice Introducción a los JSP. Comparación con servlets Elementos de JSP Código Java Objetos implícitos Directivas Acciones Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 18
  • 19. Acciones: <jsp:include> Incluye en una página la salida generada por otra petición petición respuesta respuesta Cambios en lo incluido no obligan a recompilar el “principal” Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 19
  • 20. Acciones: <jsp:include> (II) Sintaxis <jsp:include page=“URL relativa” flush=“true | false” /> Pasarle parámetros a la página incluida Recibe el request (parámetros originales) Parámetros adicionales: <jsp:include page=“cabecera.jsp” flush=“false” > <jsp:param name=“color” value=“red”/> </jsp:include> Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 20
  • 21. Acciones: <jsp:forward> Redirige la petición a otra página petición petición respuesta Lo que haya en el buffer se descarta Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 21
  • 22. Acciones: <jsp:forward> (II) Sintaxis <jsp:forward page=“URL relativa”/> Pasarle parámetros a la página incluida: idem al <jsp:include> Recibe el request (parámetros originales) Parámetros adicionales: <jsp:forward page=“principal.jsp”> <jsp:param name=“privilegios” value=“root”/> </jsp:include> Capa de presentación: JSP Copyright © 2003-2004 Universidad de Alicante JSP básico 22