7' Java Server Pages - PowerPoint PPT Presentation

About This Presentation
Title:

7' Java Server Pages

Description:

Permiten introducir c digo Java en p ginas HTML, WML, etc. ... Paquetes a importar. P gina de error a mostrar. 12/25/09. Internet - JSPs. 4 ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 34
Provided by: justonhid
Category:
Tags: importar | java | pages | server

less

Transcript and Presenter's Notes

Title: 7' Java Server Pages


1
7. Java Server Pages
  • Gestión de Sistemas en Internet
  • Universidad Antonio de Nebrija, 2002/03
  • Justo N. Hidalgo Sanz

2
Definición
  • Java Server Pages respuesta de Sun Java a las
    ASPs (Active Server Pages) de Microsoft.
  • Extensión de los servlets.
  • Permiten introducir código Java en páginas HTML,
    WML, etc.
  • Responden a la problemática de los servlets con
    el patrón MVC.
  • Servlets y JSPs son tecnologías COMPLEMENTARIAS
  • Aprenderemos mediante ejemplos.

3
Directiva Page
  • lt_at_page import"java.util.Date ... gt
  • Da instrucciones al contenedor de JSPs.
  • Aplicado a todo el fichero fuente
  • Comentarios informativos.
  • Lenguaje de script que se utiliza en el fichero
    JSP.
  • Paquetes a importar.
  • Página de error a mostrar.

4
Ejemplo 1 simpleJSP (I)
  • Copiar directorio a J2EE_HOME\public_html
  • Arrancar J2EE (si no estaba arrancado antes)

5
Ejemplo 1 simpleJSP (y II)
6
Directiva Include
  • Inserta los contenidos de otro fichero en el
    fichero principal JSP.
  • Otro fichero HTML.
  • Otro fichero JSP.
  • ...

7
Ejemplo 2 directiva include (I)
  • Aplicación con múltiples ejemplos
  • Crear aplicación JSPExamples
  • WAR Display name JSPExamples
  • Añadir todos los html, jsp y .class
  • Tipo JSP
  • JSP Filename beans.jsp
  • Web Component Name beans
  • Context root JSPExamples

8
Ejemplo 2 directiva include (II)
9
Ejemplo 2 directiva include (y III)
10
Declaración (I)
  • lt! Variables java, declaración de métodos gt
  • Bloque de código Java para definir variables y
    métodos globales en el servlet generado.
  • Las declaraciones son inicializadas cuando la JSP
    se inicializa (jsp_init() ).

11
Declaración (y II)
12
Scriptlet (I)
  • lt Código Java válido gt
  • Código Java que se ejecuta en tiempo de
    procesamiento de peticiones.

13
Scriptlet (II)
14
Scriptlet (y III)
15
Expresiones (I)
  • lt expresión a evaluar gt
  • Scriptlet que envía el valor de una expresión
    Java al cliente.
  • Pasos
  • Se evalúa en tiempo de procesamiento de la
    petición
  • Se convierte el resultado a String
  • Se muestra

16
Expresiones (y II)
17
Manejo de forms (I)
  • La info de usuario se almacena en un objeto
    request.
  • El contenedor JSP envía el objeto request al
    componente server-side que el fichero JSP
    especifique
  • Componente JavaBean.
  • Servlet.
  • Enterprise Bean.

18
Manejo de forms (y II)
  • El componente gestiona la petición.
  • El componente pasa un objeto response al
    contenedor JSP.
  • El contenedor devuelve el objeto response a la
    página JSP, donde se formatea de acuerdo al
    diseño de la página (HTML en este caso).
  • Se envía al cliente como una simple página.

19
Creación de un form JSP
  • Escritura de un .jsp, con un form.
  • Bean.java, definiendo propiedades, métodos get y
    set que se correspondan BÁSICAMENTE con los
    elementos del form.
  • ltjspuseBeangt crear/localizar el bean.
  • ltjspsetPropertygt actualizar las propiedades del
    bean a partir del form.
  • ltjspgetPropertygt obtención de datos.
  • Si es necesario objeto request desde el
    scriptlet.

20
Escritura del bean
  • Si la .jsp utiliza beans, ha de implementar los
    design patterns del JavaBeans component
    architecture
  • Si se utiliza ltjspgetPropertygt método get.
  • Si se utiliza ltjspsetPropertygt método set.

21
Obtención de datos del bean
  • ltjspuseBeangt instancia o localiza un bean.
  • Se permite la creación de un bean en un .jsp, y
    la utilización en otro .jsp, siempre que exista
    suficiente alcance.
  • Sets si el campo es username
  • setUserName.
  • getUserName.

22
Objeto request
  • Los datos de usuario se almacenan en un objeto
    request, que implementa javax.servlet.HttpServletR
    equest ?
  • Se puede acceder a request en el scriptlet (lt
    ... gt)
  • getRequest
  • getParameterNames
  • getParameterValues
  • getParameter

23
Devolución de datos
  • ltjspgetPropertygt
  • lth1gtHello, ltjspgetProperty name"abean"
    property"username"/gt!
  • Los nombres utilizados en useBean, getProperty y
    setProperty DEBEN COINCIDIR.

24
Reglas
  • Utilizar la directiva page para la definición del
    lenguaje de script (Java es el lenguaje por
    defecto).
  • La sintaxis declaración lt! ... gt declara
    variables o métodos.
  • La sintaxis expresión lt ... gt define una
    expresión del lenguaje, y hace un cast del
    resultado a String.
  • La sintaxis scriptlet lt ... gt puede manejar
    declaraciones , expresiones, etc.
  • Escribiendo un scriptlet, finalizar el scriptlet
    con gt antes de pasar a HTML, o a otra etiqueta
    JSP.

25
Ejemplo useBean (I)
26
Ejemplo useBean (y II)
27
Procesamiento de los elementos
  • Dos etapas
  • Tiempo de traducción http cuando el usuario
    carga la página, el fichero JSP se compila a
    .class.
  • Tiempo de procesamiento de petición cuando el
    usuario realiza una petición, es cuando las
    declaraciones, expresiones y scriptlets se
    evalúan.

28
Manejo de excepciones
  • Excepciones Runtime objeto implícito exception
  • Se utiliza en una JSP Error Page.
  • Escribir el componente de modo que pueda lanzar
    excepciones bajo ciertas condiciones.
  • Directiva page con errorPageerror.jsp cuando una
    excepción ocurra.
  • Error.jsp con isErrorPagetrue, utilizando el
    objeto exception.

29
ltjspforwardgt
  • Permite que la petición sea delegada a otro JSP,
    servlet o recurso estático.
  • Muy útil cuando se desea separar la aplicación en
    diferentes vistas.
  • ltjspforward pageURL /gt
  • El ejemplo deja a forward2.jsp la impresión de
    información de éxito.

30
Ejemplo forward (I)
31
Ejemplo forward (y II)
32
Scope
  • Page objetos accesibles desde la página donde
    son creados. Disponible desde javax.servlet.jsp.Pa
    geContext y Servlet.
  • Request desde las páginas que procesen la misma
    petición donde han sido creados. Disponible desde
    el ServletRequest de la página actual.
  • Session desde las páginas que procesen las
    peticiones que estén en la misma sesión.
    Disponible desde el HttpSession de la página
    actual.
  • Application en la misma aplicación. Disponible
    desde el ServletContext de la página actual.

33
Bibliografía
  • http//www.javasoft.com
  • http//www.apache.org
  • Professional Java Server Programming, Wrox.
Write a Comment
User Comments (0)
About PowerShow.com