Java Avanzado Emilio Avilés Ávila http://www.techmi.es
Workshop  (25 horas) Workshop Java avanzado para empresas y profesionales
Temario <ul><li>Introducción al desarrollo Web </li></ul><ul><li>Servlets </li></ul><ul><li>JSP </li></ul><ul><li>Javabean...
Tema 3-4 JSP & JavaBeans
Objetivos <ul><li>Introducción al desarrollo Web </li></ul><ul><li>Servlets </li></ul><ul><li>JSP </li></ul><ul><li>Javabe...
3-4 – JSP & JavaBeans <ul><li>¿Dónde encaja todo esto? </li></ul>
3-4 – JSP & JavaBeans <ul><li>¿Qué son los Java Beans? </li></ul><ul><ul><li>El modelo de  arquitectura de componentes Jav...
3-4 – JSP & JavaBeans <ul><li>¿Qué reglas deben seguir? </li></ul><ul><ul><li>Clases java que siguen unas reglas </li></ul...
3-4 – JSP & JavaBeans <ul><li>+ sobre propiedades de los Beans </li></ul><ul><ul><li>Intercalar mayúsculas entre palabras ...
3-4 – JSP & JavaBeans <ul><li>Ejemplo de propiedades de Beans </li></ul>
3-4 – JSP & JavaBeans <ul><li>Getters vs variables públicas (1/4) </li></ul><ul><ul><li>Porqué usar accesores en lugar de ...
3-4 – JSP & JavaBeans <ul><li>Getters vs Variables públicas (2/4) </li></ul><ul><ul><li>No podríamos poner restricciones n...
3-4 – JSP & JavaBeans <ul><li>Getters vs Variables públicas (3/4) </li></ul><ul><ul><li>Podemos cambiar nuestra representa...
3-4 – JSP & JavaBeans <ul><li>Getters vs Variables públicas (4/4) </li></ul><ul><ul><li>Podemos añadir acciones colaterale...
3-4 – JSP & JavaBeans <ul><li>JavaBeans en JSP </li></ul><ul><ul><li>¿Dónde estamos? Foto!!! </li></ul></ul>
3-4 – JSP & JavaBeans <ul><li>JavaBeans en JSP </li></ul><ul><ul><li>El motor JSP hace de contenedor de beans. </li></ul><...
3-4 – JSP & JavaBeans <ul><li>JavaBeans y acciones JSP </li></ul><ul><ul><li>jsp:useBean </li></ul></ul><ul><ul><ul><li>De...
3-4 – JSP & JavaBeans <ul><li><jsp:useBean>  </li></ul><ul><ul><li>Atributos </li></ul></ul><ul><ul><li>id:  El nombre con...
3-4 – JSP & JavaBeans <ul><li><jsp:useBean> (II) </li></ul><ul><ul><li>El atributo  id  es obligatorio </li></ul></ul><ul>...
3-4 – JSP & JavaBeans <ul><li><jsp:useBean> Ejemplos </li></ul><ul><ul><li>Simple declaración </li></ul></ul><ul><ul><ul><...
3-4 – JSP & JavaBeans <ul><li><jsp:setProperty>  </li></ul><ul><ul><li>Atributos </li></ul></ul><ul><ul><li>name:  El nomb...
3-4 – JSP & JavaBeans <ul><li><jsp:setProperty> Ejemplo </li></ul><ul><ul><li>Usando el atributo  value </li></ul></ul><ul...
3-4 – JSP & JavaBeans <ul><li><jsp:getProperty>  </li></ul><ul><ul><li>Atributos </li></ul></ul><ul><ul><li>name:  El nomb...
3-4 – JSP & JavaBeans <ul><li>Resumen </li></ul><ul><ul><li>jsp:useBean </li></ul></ul><ul><ul><ul><li><jsp:useBean id=&qu...
3-4 – JSP & JavaBeans <ul><li>Típico uso de Beans en JSP </li></ul><ul><ul><li>El usuario introduce datos en un formulario...
3-4 – JSP & JavaBeans <ul><li>Ejemplo StringBean </li></ul><ul><ul><li>Se albergan en el directorio java  src/paquete </li...
3 – JSP: Java Server Pages <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Construir un StringBean que almacene mensajes:...
3-4 – JSP & JavaBeans <ul><li>JSP que usa StringBean </li></ul>
3-4 – JSP & JavaBeans <ul><li>Setting Bean properties </li></ul><ul><ul><li>Conversión explicita de tipos y asignación. </...
3-4 – JSP & JavaBeans <ul><li>Setting Bean properties </li></ul><ul><ul><li>Propiedades y parámetros Input </li></ul></ul>...
3-4 – JSP & JavaBeans <ul><li>Setting Bean Property: Ejemplo </li></ul><ul><ul><li>¿Qué hacer para no establecer uno a uno...
3-4 – JSP & JavaBeans <ul><li>Setting Bean Property: Ejemplo </li></ul><ul><ul><li>Usar  <jsp:setProperty name=&quot;entry...
3 – JSP: Java Server Pages <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Construir un PersonaBean que almacene los dato...
3-4 – JSP & JavaBeans <ul><li>Compartiendo Beans </li></ul><ul><ul><li><jsp:useBean id=&quot;…&quot; class=&quot;…“  scope...
3-4 – JSP & JavaBeans <ul><li>Ejemplo  bean scope </li></ul><ul><ul><li>pagina1.jsp </li></ul></ul><ul><ul><li>pagina2.jsp...
3-4 – JSP & JavaBeans <ul><li>Tipo  scope =“page” </li></ul><ul><ul><li><jsp:useBean … scope=&quot;page&quot;/> </li></ul>...
3-4 – JSP & JavaBeans <ul><li>Tipo  scope =“session” </li></ul><ul><ul><li><jsp:useBean … scope=&quot;session&quot;/> </li...
3-4 – JSP & JavaBeans <ul><li>Ejemplo  page scope </li></ul><ul><ul><li>Crear el bean BakedBean  </li></ul></ul><ul><ul><u...
3-4 – JSP & JavaBeans <ul><li>Ejemplo  page   scope </li></ul>
3-4 – JSP & JavaBeans <ul><li>Ejemplo  request scope </li></ul><ul><ul><li>Crear el bean BakedBean  </li></ul></ul><ul><ul...
3-4 – JSP & JavaBeans <ul><li>Ejemplo request scope </li></ul>
3-4 – JSP & JavaBeans <ul><li>Ejemplo  session scope </li></ul>
3-4 – JSP & JavaBeans <ul><li>Ejemplo  application   scope </li></ul>
3-4 – JSP & JavaBeans <ul><li>OJO beans </li></ul><ul><ul><li>La creación de un bean esta condicionada a: </li></ul></ul><...
3-4 – JSP & JavaBeans <ul><li>Creación bean Condicionada </li></ul><ul><ul><li>La creación de un bean condicionada al JSP ...
3-4 – JSP & JavaBeans <ul><li>Otros usos de los Beans </li></ul><ul><ul><li>Además de construcción de paginas Web </li></u...
3-4 – JSP & JavaBeans <ul><li>Con los Beans puedo hacer uso de: </li></ul><ul><ul><li>Introspección: ( poder ser llamada) ...
Conclusiones <ul><li>Introducción al desarrollo Web </li></ul><ul><li>Servlet </li></ul><ul><li>JSP </li></ul><ul><li>Java...
Referencias <ul><li>JSP & JavaBeans  http:// courses.coreservlets.com / Course - Materials / pdf /csajsp2/13- JavaBeans.pd...
Upcoming SlideShare
Loading in …5
×

Curso Java Avanzado 3 4 Js Ps Con Java Beans

7,788 views

Published on

Tema 4: Uso de javabeans en JSP del workshop de 25 horas de Java avanzado

Published in: Technology, News & Politics
1 Comment
10 Likes
Statistics
Notes
No Downloads
Views
Total views
7,788
On SlideShare
0
From Embeds
0
Number of Embeds
1,741
Actions
Shares
0
Downloads
0
Comments
1
Likes
10
Embeds 0
No embeds

No notes for slide
  • Curso Java Avanzado 3 4 Js Ps Con Java Beans

    1. 1. Java Avanzado Emilio Avilés Ávila http://www.techmi.es
    2. 2. Workshop (25 horas) Workshop Java avanzado para empresas y profesionales
    3. 3. Temario <ul><li>Introducción al desarrollo Web </li></ul><ul><li>Servlets </li></ul><ul><li>JSP </li></ul><ul><li>Javabeans </li></ul><ul><li>EJB </li></ul><ul><li>Struts </li></ul><ul><li>Resumen y conclusiones </li></ul>
    4. 4. Tema 3-4 JSP & JavaBeans
    5. 5. Objetivos <ul><li>Introducción al desarrollo Web </li></ul><ul><li>Servlets </li></ul><ul><li>JSP </li></ul><ul><li>Javabeans </li></ul><ul><li>EJB </li></ul><ul><li>Struts </li></ul><ul><li>Resumen y conclusiones </li></ul><ul><li>Entender los beneficios de los Javabeans. </li></ul><ul><li>Crear Beans. </li></ul><ul><li>Acceder a las propiedades de los bean. </li></ul><ul><li>Establer explicitamente propiedades de los beans. </li></ul><ul><li>Enviar automáticamente propiedades de bean desde los parámetros de petición. </li></ul><ul><li>Compartir beans entre muchos servlets y páginas JSP. </li></ul>
    6. 6. 3-4 – JSP & JavaBeans <ul><li>¿Dónde encaja todo esto? </li></ul>
    7. 7. 3-4 – JSP & JavaBeans <ul><li>¿Qué son los Java Beans? </li></ul><ul><ul><li>El modelo de arquitectura de componentes JavaBeans es tanto una especificación como un framework de APIs que soporta: </li></ul></ul><ul><ul><ul><li>Introspección </li></ul></ul></ul><ul><ul><ul><li>Propiedades </li></ul></ul></ul><ul><ul><ul><li>Eventos </li></ul></ul></ul><ul><ul><ul><li>Persistencia </li></ul></ul></ul><ul><ul><li>Componente Java: Clase que puede encapsular una funcionalidad por sí mismo y ofrecerla allí donde sea necesario independientemente del tipo de aplicación que se esté programando. </li></ul></ul>
    8. 8. 3-4 – JSP & JavaBeans <ul><li>¿Qué reglas deben seguir? </li></ul><ul><ul><li>Clases java que siguen unas reglas </li></ul></ul><ul><ul><ul><li>Tener un constructor de cero argumentos </li></ul></ul></ul><ul><ul><ul><ul><li>Omitiendo todos los constructores o definiendo 1 de cero </li></ul></ul></ul></ul><ul><ul><ul><li>No tiene que tener variables publicas de instancia </li></ul></ul></ul><ul><ul><ul><li>Todas las variables se accederán mediante métodos denominados getters y setters </li></ul></ul></ul><ul><ul><ul><ul><li>La variables booleanas usaran el método isXxx </li></ul></ul></ul></ul><ul><ul><ul><ul><li>EJ: Si una clase tiene un método getTittle que devuelve un String se dice que la bean tiene un propiedad llamada title de tipo String </li></ul></ul></ul></ul>
    9. 9. 3-4 – JSP & JavaBeans <ul><li>+ sobre propiedades de los Beans </li></ul><ul><ul><li>Intercalar mayúsculas entre palabras de get/set </li></ul></ul><ul><ul><ul><li>Método: getUserName() </li></ul></ul></ul><ul><ul><ul><li>Propiedad: userName </li></ul></ul></ul><ul><ul><li>Excepción 1: Propiedades Booleans </li></ul></ul><ul><ul><ul><li>Si el getter devuelve un boolean or Boolean </li></ul></ul></ul><ul><ul><ul><ul><li>Método: getMarried() o isMarried() </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Propiedad: married </li></ul></ul></ul></ul><ul><ul><li>Excepción 2: Mayúsculas consecutivas </li></ul></ul><ul><ul><ul><li>Si la propiedad tiene más de una mayúscula consecutiva </li></ul></ul></ul><ul><ul><ul><ul><li>Método: getURL() </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Propiedad: URL (no uRL) </li></ul></ul></ul></ul>
    10. 10. 3-4 – JSP & JavaBeans <ul><li>Ejemplo de propiedades de Beans </li></ul>
    11. 11. 3-4 – JSP & JavaBeans <ul><li>Getters vs variables públicas (1/4) </li></ul><ul><ul><li>Porqué usar accesores en lugar de variables: </li></ul></ul><ul><ul><ul><li>Variables públicas de clase </li></ul></ul></ul><ul><ul><ul><li>Métodos accesores (getters/setters) </li></ul></ul></ul>
    12. 12. 3-4 – JSP & JavaBeans <ul><li>Getters vs Variables públicas (2/4) </li></ul><ul><ul><li>No podríamos poner restricciones ni checks </li></ul></ul><ul><ul><li>En variables públicas la comprobación estaría del lado del llamante  ACOPLAMIENTO ! </li></ul></ul>
    13. 13. 3-4 – JSP & JavaBeans <ul><li>Getters vs Variables públicas (3/4) </li></ul><ul><ul><li>Podemos cambiar nuestra representación interna sin cambiar el interfaz </li></ul></ul>
    14. 14. 3-4 – JSP & JavaBeans <ul><li>Getters vs Variables públicas (4/4) </li></ul><ul><ul><li>Podemos añadir acciones colaterales </li></ul></ul><ul><ul><li>Con variables públicas deberíamos lanzar las acciones colaterales cada vez que accediéramos  ACOPLAMIENTO! </li></ul></ul>
    15. 15. 3-4 – JSP & JavaBeans <ul><li>JavaBeans en JSP </li></ul><ul><ul><li>¿Dónde estamos? Foto!!! </li></ul></ul>
    16. 16. 3-4 – JSP & JavaBeans <ul><li>JavaBeans en JSP </li></ul><ul><ul><li>El motor JSP hace de contenedor de beans. </li></ul></ul><ul><ul><li>Cualquier clase java es un bean si: </li></ul></ul><ul><ul><ul><li>Tiene un constructor con cero argumentos. </li></ul></ul></ul><ul><ul><ul><li>Tiene un get y set para cada propiedad. </li></ul></ul></ul><ul><ul><li>La principal ventaja es la reusabilidad . </li></ul></ul><ul><ul><ul><li>Almacenamiento de datos en formularios </li></ul></ul></ul><ul><ul><ul><li>Compartir información entre JSPs </li></ul></ul></ul><ul><ul><ul><li>Permitir la Orientación a Objetos proporcionada por el lenguaje Java. </li></ul></ul></ul><ul><ul><ul><ul><li>Herencia </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Encapsulación </li></ul></ul></ul></ul>
    17. 17. 3-4 – JSP & JavaBeans <ul><li>JavaBeans y acciones JSP </li></ul><ul><ul><li>jsp:useBean </li></ul></ul><ul><ul><ul><li>Declara el uso de una instancia del JavaBeans en una página JSP. </li></ul></ul></ul><ul><ul><li>jsp:setProperty </li></ul></ul><ul><ul><ul><li>Establece un valor a una propiedad del JavaBean. </li></ul></ul></ul><ul><ul><li>jsp:getProperty </li></ul></ul><ul><ul><ul><li>Obteniene el actual valor de una propiedad de un JavaBean. </li></ul></ul></ul>
    18. 18. 3-4 – JSP & JavaBeans <ul><li><jsp:useBean> </li></ul><ul><ul><li>Atributos </li></ul></ul><ul><ul><li>id: El nombre con el que el bean se identifica en el JSP. </li></ul></ul><ul><ul><li>scope: Ámbito de visibilidad del bean. </li></ul></ul><ul><ul><li>class: La clase Java del bean. </li></ul></ul><ul><ul><li>type: El tipo de la variable que identifica al bean (Útil en herencia). </li></ul></ul><ul><ul><li>beanName: El nombre del bean en caso de estar serializado (Persistente). </li></ul></ul>
    19. 19. 3-4 – JSP & JavaBeans <ul><li><jsp:useBean> (II) </li></ul><ul><ul><li>El atributo id es obligatorio </li></ul></ul><ul><ul><li>El atributo scope es opcional </li></ul></ul><ul><ul><li>Los atributos class, type y beanName deben de aparecer en las siguientes combinaciones : </li></ul></ul><ul><ul><ul><li>class. </li></ul></ul></ul><ul><ul><ul><li>type. </li></ul></ul></ul><ul><ul><ul><li>class y type. </li></ul></ul></ul><ul><ul><ul><li>beanName y type . </li></ul></ul></ul>
    20. 20. 3-4 – JSP & JavaBeans <ul><li><jsp:useBean> Ejemplos </li></ul><ul><ul><li>Simple declaración </li></ul></ul><ul><ul><ul><li><jsp:useBean id=&quot;address&quot; class=&quot;chapter14.AddressBean&quot; scope=&quot;session&quot; /> </li></ul></ul></ul><ul><ul><li>Ámbito por defecto </li></ul></ul><ul><ul><ul><li><jsp:useBean id=&quot;address&quot; class=&quot;chapter14.AddressBean&quot; /> </li></ul></ul></ul><ul><ul><li>Usando class y type </li></ul></ul><ul><ul><li>Usando beans serializados </li></ul></ul>
    21. 21. 3-4 – JSP & JavaBeans <ul><li><jsp:setProperty> </li></ul><ul><ul><li>Atributos </li></ul></ul><ul><ul><li>name: El nombre con el que el bean se identifica en el JSP. </li></ul></ul><ul><ul><li>property: El nombre de la propiedad del bean a establecer su valor. </li></ul></ul><ul><ul><li>value: Valor a establecer. </li></ul></ul><ul><ul><li>param: Nombre del parámetro disponible en el HttpServletRequest cuyo valor será asignado a la propiedad. </li></ul></ul><ul><ul><li>Nota: value y param no pueden usarse juntos. </li></ul></ul>
    22. 22. 3-4 – JSP & JavaBeans <ul><li><jsp:setProperty> Ejemplo </li></ul><ul><ul><li>Usando el atributo value </li></ul></ul><ul><ul><li>Usando el atributo param </li></ul></ul><ul><ul><li>Usando default param </li></ul></ul>
    23. 23. 3-4 – JSP & JavaBeans <ul><li><jsp:getProperty> </li></ul><ul><ul><li>Atributos </li></ul></ul><ul><ul><li>name: El nombre con el que el bean se identifica en el JSP. </li></ul></ul><ul><ul><li>property: El nombre de la propiedad del bean a establecer su valor. </li></ul></ul><ul><li>Ejemplo . </li></ul>
    24. 24. 3-4 – JSP & JavaBeans <ul><li>Resumen </li></ul><ul><ul><li>jsp:useBean </li></ul></ul><ul><ul><ul><li><jsp:useBean id=&quot; beanName &quot; class=&quot; package . Class &quot; /> </li></ul></ul></ul><ul><ul><ul><li>Class beanName = new Class(); </li></ul></ul></ul><ul><ul><li>jsp:setProperty </li></ul></ul><ul><ul><ul><li><jsp:setProperty name=&quot; beanName “ property=&quot; propertyName “ value=&quot; propertyValue &quot; /> </li></ul></ul></ul><ul><ul><ul><li>beanName.setPropertyName(propertyValue); </li></ul></ul></ul><ul><ul><li>jsp:getProperty </li></ul></ul><ul><ul><ul><li><jsp:getProperty name=&quot; beanName “ property=&quot; propertyName “/> </li></ul></ul></ul><ul><ul><ul><li>beanName.getPropertyName(); </li></ul></ul></ul>
    25. 25. 3-4 – JSP & JavaBeans <ul><li>Típico uso de Beans en JSP </li></ul><ul><ul><li>El usuario introduce datos en un formulario </li></ul></ul><ul><ul><ul><li><FORM ACTION=&quot;SomePage.jsp&quot;> </li></ul></ul></ul><ul><ul><li>El JSP instancia un bean </li></ul></ul><ul><ul><ul><li><jsp:useBean id=&quot;myBean&quot; class=&quot;…&quot;/> </li></ul></ul></ul><ul><ul><li>Pasamos ciertos datos del formulario al Bean </li></ul></ul><ul><ul><ul><li><jsp:setProperty name=&quot;myBean“ property=&quot;customerID“ value=&quot;…&quot;/> </li></ul></ul></ul><ul><ul><li>Mostramos la información del Bean </li></ul></ul><ul><ul><ul><li><jsp:getProperty name=&quot;myBean“ property=&quot;bankAccountBalance&quot;/> </li></ul></ul></ul>
    26. 26. 3-4 – JSP & JavaBeans <ul><li>Ejemplo StringBean </li></ul><ul><ul><li>Se albergan en el directorio java src/paquete </li></ul></ul><ul><ul><li>El despliegue (deploy) se realizará en WEB-INF/classes/paquete </li></ul></ul><ul><ul><li>Siempre estructurado en paquetes </li></ul></ul>
    27. 27. 3 – JSP: Java Server Pages <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Construir un StringBean que almacene mensajes: </li></ul></ul><ul><ul><ul><li>Propiedad: String message; </li></ul></ul></ul><ul><ul><ul><li>Get/Set: getMessage()/setMessage(String msg) </li></ul></ul></ul><ul><ul><li>Construir un JSP que extraiga la información </li></ul></ul><ul><ul><ul><li>StringBean.jsp </li></ul></ul></ul><ul><ul><ul><ul><li><jsp:useBean…> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><jsp:getProperty…> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><jsp:setProperty…> </li></ul></ul></ul></ul><ul><ul><ul><li>… . Suerte y a por la judía!!! </li></ul></ul></ul>
    28. 28. 3-4 – JSP & JavaBeans <ul><li>JSP que usa StringBean </li></ul>
    29. 29. 3-4 – JSP & JavaBeans <ul><li>Setting Bean properties </li></ul><ul><ul><li>Conversión explicita de tipos y asignación. </li></ul></ul>
    30. 30. 3-4 – JSP & JavaBeans <ul><li>Setting Bean properties </li></ul><ul><ul><li>Propiedades y parámetros Input </li></ul></ul><ul><ul><ul><li>Utilizar el param =“…” del <jsp:setProperty.. /> para indicar que: </li></ul></ul></ul><ul><ul><ul><ul><li>El valor debe venir de un parámetro especifico de la petición request </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Automatizar la conversión de parámetros que esperan valores estándar </li></ul></ul></ul></ul><ul><ul><ul><ul><li>boolean, Boolean, byte, Byte, char, Character, double, </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Double, int, Integer, float, Float, long, o Long. </li></ul></ul></ul></ul>
    31. 31. 3-4 – JSP & JavaBeans <ul><li>Setting Bean Property: Ejemplo </li></ul><ul><ul><li>¿Qué hacer para no establecer uno a uno los parámetros y sus valores? </li></ul></ul>
    32. 32. 3-4 – JSP & JavaBeans <ul><li>Setting Bean Property: Ejemplo </li></ul><ul><ul><li>Usar <jsp:setProperty name=&quot;entry&quot; property=&quot;*&quot; /> </li></ul></ul><ul><ul><ul><li>Indicamos que todos los valores de las propiedades del bean provienen del request </li></ul></ul></ul><ul><ul><ul><li>La conversión de tipos es automática </li></ul></ul></ul><ul><ul><ul><li>Ideal para hacer ‘bean Form’ </li></ul></ul></ul><ul><ul><ul><ul><li>Beans para almacenar datos de un DataForm </li></ul></ul></ul></ul><ul><ul><ul><ul><li>O incluso Form de varias pantallas (Wizard) </li></ul></ul></ul></ul>
    33. 33. 3 – JSP: Java Server Pages <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Construir un PersonaBean que almacene los datos personales de una persona: </li></ul></ul><ul><ul><ul><li>Propiedades: </li></ul></ul></ul><ul><ul><ul><ul><li>String nombre, apellidos; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Int edad; </li></ul></ul></ul></ul><ul><ul><ul><li>Get/Set: </li></ul></ul></ul><ul><ul><li>Construir un JSP que extraiga la información </li></ul></ul><ul><ul><ul><li>FormBean.jspx </li></ul></ul></ul><ul><ul><ul><ul><li><jsp:usebean id=“persona” class=“ejemplo.PersonaBean”> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><jsp:setProperty name=“persona&quot; property=&quot;*&quot; /> </li></ul></ul></ul></ul><ul><ul><ul><li>… . Suerte y a por el form!!! </li></ul></ul></ul>
    34. 34. 3-4 – JSP & JavaBeans <ul><li>Compartiendo Beans </li></ul><ul><ul><li><jsp:useBean id=&quot;…&quot; class=&quot;…“ scope =&quot;…&quot; /> </li></ul></ul><ul><ul><li>Especificar lugares donde el bean puede ser almacenado. </li></ul></ul><ul><ul><li>Permite compartir datos a servlets y JSP. </li></ul></ul><ul><ul><li>Permite la creación condicional de beans. </li></ul></ul><ul><ul><ul><li>Crearlo si no existe. </li></ul></ul></ul>
    35. 35. 3-4 – JSP & JavaBeans <ul><li>Ejemplo bean scope </li></ul><ul><ul><li>pagina1.jsp </li></ul></ul><ul><ul><li>pagina2.jsp </li></ul></ul><ul><ul><li>Escenario 1 </li></ul></ul><ul><ul><ul><li>Usuario 1 va a la página2: salida es Mensaje por defecto </li></ul></ul></ul><ul><ul><ul><li>Usuario 2 va a la página1: salida es hola </li></ul></ul></ul><ul><ul><li>Escenario 2 </li></ul></ul><ul><ul><ul><li>Usuario 1 va a la página1: salida es hola </li></ul></ul></ul><ul><ul><ul><li>Usuario 2 va a la página2: salida es hola </li></ul></ul></ul>
    36. 36. 3-4 – JSP & JavaBeans <ul><li>Tipo scope =“page” </li></ul><ul><ul><li><jsp:useBean … scope=&quot;page&quot;/> </li></ul></ul><ul><ul><li><jsp:useBean…> </li></ul></ul><ul><ul><ul><li>Valor por defecto </li></ul></ul></ul><ul><ul><ul><li>Permite a los métodos del mismo servlet acceder al bean </li></ul></ul></ul><ul><li>Tipo scope =“application” </li></ul><ul><ul><li><jsp:useBean … scope=&quot;application&quot;/> </li></ul></ul><ul><ul><ul><li>El bean será almacenado en el servlet context </li></ul></ul></ul><ul><ul><ul><li>Compartido por todos los servlet de la aplicación Web </li></ul></ul></ul>
    37. 37. 3-4 – JSP & JavaBeans <ul><li>Tipo scope =“session” </li></ul><ul><ul><li><jsp:useBean … scope=&quot;session&quot;/> </li></ul></ul><ul><ul><ul><li>El bean será almacenado en el objeto HttpSession </li></ul></ul></ul><ul><ul><ul><li>Disponible para los servlet en la misma sesión </li></ul></ul></ul><ul><li>Tipo scope =“request” </li></ul><ul><ul><li><jsp:useBean … scope=&quot;request&quot;/> </li></ul></ul><ul><ul><ul><li>Los beans seran depositados en el objeto ServletRequest </li></ul></ul></ul><ul><ul><ul><li>Accesible durante la petición de Request </li></ul></ul></ul>
    38. 38. 3-4 – JSP & JavaBeans <ul><li>Ejemplo page scope </li></ul><ul><ul><li>Crear el bean BakedBean </li></ul></ul><ul><ul><ul><li>Propiedades: String level, goeswith </li></ul></ul></ul><ul><ul><ul><li>Por defecto: half-baked“ &quot;hot dogs” </li></ul></ul></ul><ul><ul><li>Crear el JSP con el bean anterior </li></ul></ul><ul><ul><ul><li><jsp:usebean … scope =“page”> </li></ul></ul></ul><ul><ul><li>Establecer todas su propiedades </li></ul></ul><ul><ul><ul><li><jsp:setProperty property=“*” > </li></ul></ul></ul><ul><ul><li>Proporcionar los valores de las propiedades </li></ul></ul><ul><ul><ul><li>A través de un formulario o “?” </li></ul></ul></ul><ul><ul><li>Acceder al Bean </li></ul></ul><ul><ul><ul><li><jsp:getProperty </li></ul></ul></ul>
    39. 39. 3-4 – JSP & JavaBeans <ul><li>Ejemplo page scope </li></ul>
    40. 40. 3-4 – JSP & JavaBeans <ul><li>Ejemplo request scope </li></ul><ul><ul><li>Crear el bean BakedBean </li></ul></ul><ul><ul><ul><li>Propiedades: String level, goeswith </li></ul></ul></ul><ul><ul><ul><li>Por defecto: half-baked“ &quot;hot dogs” </li></ul></ul></ul><ul><ul><li>Crear el JSP con el bean anterior </li></ul></ul><ul><ul><ul><li><jsp:usebean …scope=“page”> </li></ul></ul></ul><ul><ul><li>Establecer todas su propiedades </li></ul></ul><ul><ul><ul><li>jsp:setProperty property=“*” </li></ul></ul></ul><ul><ul><li>Proporcionar los valores de las propiedades </li></ul></ul><ul><ul><ul><li>A través de un formulario o ? </li></ul></ul></ul><ul><ul><li>Acceder al Bean </li></ul></ul><ul><ul><li>Accedemos a un 2º bean incluido </li></ul></ul>
    41. 41. 3-4 – JSP & JavaBeans <ul><li>Ejemplo request scope </li></ul>
    42. 42. 3-4 – JSP & JavaBeans <ul><li>Ejemplo session scope </li></ul>
    43. 43. 3-4 – JSP & JavaBeans <ul><li>Ejemplo application scope </li></ul>
    44. 44. 3-4 – JSP & JavaBeans <ul><li>OJO beans </li></ul><ul><ul><li>La creación de un bean esta condicionada a: </li></ul></ul><ul><ul><ul><li>Un bean es creado de nuevo sólo si el id NO es encontrado dentro del scope establecido </li></ul></ul></ul><ul><ul><ul><li>Si ya existía uno, éste apuntará el nuevo valor de creación ( se sobrescribe ) </li></ul></ul></ul><ul><ul><li>El acceso a las propiedades del bean está condicionado a: </li></ul></ul><ul><ul><ul><li>Que el bean ya estuviera creado. </li></ul></ul></ul>
    45. 45. 3-4 – JSP & JavaBeans <ul><li>Creación bean Condicionada </li></ul><ul><ul><li>La creación de un bean condicionada al JSP </li></ul></ul>
    46. 46. 3-4 – JSP & JavaBeans <ul><li>Otros usos de los Beans </li></ul><ul><ul><li>Además de construcción de paginas Web </li></ul></ul><ul><ul><li>Elementos de GUI: </li></ul></ul><ul><ul><ul><li>Botones </li></ul></ul></ul><ul><ul><ul><li>Layout </li></ul></ul></ul><ul><ul><li>Dataviewers </li></ul></ul><ul><ul><li>Data feeds </li></ul></ul>
    47. 47. 3-4 – JSP & JavaBeans <ul><li>Con los Beans puedo hacer uso de: </li></ul><ul><ul><li>Introspección: ( poder ser llamada) </li></ul></ul><ul><ul><ul><li>XJ: Una herramienta de Build analiza como funciona mi Bean. </li></ul></ul></ul><ul><ul><li>Customización: </li></ul></ul><ul><ul><ul><li>Los builders puede: Personalizar la apariencia y comportamiento de los beans. </li></ul></ul></ul><ul><ul><li>Eventos </li></ul></ul><ul><ul><ul><li>Para comunicarse entre ellos </li></ul></ul></ul><ul><ul><li>Propiedades e Internacionalización </li></ul></ul><ul><ul><li>Persistencia: Serialización JavaBeans </li></ul></ul><ul><ul><li>+info: javabeans_1.01.pdf </li></ul></ul>
    48. 48. Conclusiones <ul><li>Introducción al desarrollo Web </li></ul><ul><li>Servlet </li></ul><ul><li>JSP </li></ul><ul><li>Javabeans </li></ul><ul><li>EJB </li></ul><ul><li>Struts </li></ul><ul><li>Resumen y conclusiones </li></ul><ul><li>Diferenciar los beneficios de usar java:usebean </li></ul><ul><ul><li>Acoplamiento </li></ul></ul><ul><ul><li>Simplifica compartir objetos </li></ul></ul><ul><li>Establecer y obtener propiedades de los javaBeans en JSP </li></ul><ul><li>Diferenciar los ámbitos de uso de javaBeans </li></ul><ul><ul><li>Page </li></ul></ul><ul><ul><li>Request </li></ul></ul><ul><ul><li>Session </li></ul></ul><ul><ul><li>Application </li></ul></ul>
    49. 49. Referencias <ul><li>JSP & JavaBeans http:// courses.coreservlets.com / Course - Materials / pdf /csajsp2/13- JavaBeans.pdf </li></ul>

    ×