SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
JavaBeans en JSP

   •   La idea de JavaBeans surge de una vieja necesidad de la Ingeniería del
       Software: contar con componentes reutilizables e independientes de la
       plataforma. El programador que hace el JB no hace nada misterioso,
       simplemente define una clase, tratando de encapsular (ocultar) su
       implementación y mostrando al exterior (el programador que usa el
       bean) solamente los métodos y propiedades que son públicos. Sólo se
       muestra aquello que forma parte del servicio que el bean ofrece al
       exterior.



   •   Este concepto es un elemento esencial del trabajo eficiente en equipo,
       colaborar sin que cada ingeniero tenga que repetir el trabajo que ha
       realizado otro, sin que tenga que enfrentarse a las mismas dificultades
       que ha resuelto otro. El programador que usa el bean sólo debe
       preocuparse de lo QUE hace el bean (el servicio que ofrece), no tiene
       que enfrentarse al trabajo realizado por el diseñador del bean, es decir,
       le queda oculta la implementación (el COMO el bean ofrece el servicio).



   •   La idea va a a más: donde se ha dicho "equipo" se puede entender la
       comunidad global de desarrollo de software; de hecho existen
       numerosas empresas        que   ofrecen/venden     beans a       otros
       desarrolladores. En el caso de los JavaBeans la idea es que estos
       componentes reusables se puedan utilizar en diversos contextos: desde
       JavaBeans gráficos de capa cliente (controles de interfaz) hasta
       JavaBeans de capa web (normalmente representan entidades o reglas
       de negocio).



JavaBean de ejemplo

Aunque no ha sido necesario en este ejemplo, los JavaBean deben ser
serializables (o heredar de una clase serializables), si es que queremos usar
la serialización de objetos.

package objeto;

public class asignatura
{
  public String Nombre;
  public double nota;

  public void asignatura()
  {
}

    public String getNombre()
    {
      return Nombre;
    }

     public void setNombre(String Nombre)
    {
       this.Nombre = Nombre;
     }

    public double getNota() {
      return nota;
    }

     public void setNota(double nota)
    {
       this.nota = nota;
     }
     public String getresultado ()
     {
        if (nota <3)
            return "Reprueba" ;

        else
          return "Aprueba";
    }

}


Para instanciar las clases del API de Java no hay más que utilizar el viejo
operador new.

Pero las clases que representan entidades y reglas de negocio se llaman
JavaBeans y exigen unas etiquetas específicas:

<jsp:usebean id="id_del_objeto" scope="page | request | session | Application"
class="paquete...subpaquete.clase.class" beanName="nombre_del_bean"/>

El id es un nombre identificativo, seleccionado por el programador. Además
debemos declarar su alcance o ámbito (scope). Un alcance "request" implica
que el bean es accesible hasta otra JSP que haya sido invocada por medio de
jsp:forwar o jsp:include. El beanName es opcional, sigue la lógica Java de
paquete.subpaquete y se utiliza si se usa el método instantiate() de
java.beans.Beans.
En nuestro ejemplo:

<jsp:useBean id="nota" scope="page" class="objeto.asignatura">

De esta sencilla línea se puede deducir que al menos debemos definir en el
JavaBean el constructor vacío, que es el que utiliza el motor JSP en la
creación del objeto.

Existe una segunda sintaxis:

<jsp:usebean id="id_del_objeto" scope="page | request | session | application"
class="paquete...subpaquete.clase.class" beanName="nombre_del_bean">



                             Instanciacion del Bean

</jsp:useBean>

En este caso se ejecutan las instrucciones si el bean es instanciado. Dichas
instrucciones pueden ser cualquier contenido JSP, aunque normalmente
consiste en Scriptlets y acciones setProperty.

Los métodos setXXX() y getXXX() son puramente convencionales, podríamos
haberlos llamado defXXX() y obtXXX(), sin embargo es conveniente usar los
métodos setXXX() y getXXX() para propiciar la interoperabilidad e integración
con software de otros fabricante. Además esto facilita el uso de acciones
setProperty y getProperty.




Uso de setProperty y getProperty

jsp:setProperty se usa en conjunción con jsp:useBean para definir valores de
propiedades. Las etiquetas jsp:setProperty y jsp:getProperty nos evitan los
scriptlets y se encargan de invocar a los métodos setXXX() y getXXX() del
JavaBean.

<jsp:setProperty
     name="id_del_objeto"
     property="nombre_propiedad"|"*"
     param="nombre_parametro_de_request"|
     value="valor" />

Esta acción puede aplicarse a una propiedad:

<jsp:setProperty name="nota" property= "nota"></jsp:setProperty>
O a todas aquellas propiedades cuyo nombre coincide con parámetros de
la petición (request), es decir, selecciona los parámetros que coinciden en
nombre con las propiedades y copia los valores en sus correspondientes
propiedades:


<jsp:setProperty name="nota" property="*" />

Si queremos solamente extraer el valor de un parámetro (en el siguiente
ejemplo es 'identificacion') y copiarlo a un atributo ('nombre'):


<jsp:setProperty
     name="nota"
     property="nombre"
     param="nombre" />

Con value podemos especificar un valor para la propiedad, pero esta etiqueta
es incompatible con param.

En el siguiente ejemplo se obtiene el nombre de un formulario mediante
request.getParameter() y se almacena en el Bean:

<%! String tuNombre; %>
<% tuNombre = request.getParameter( "nombre" ); %>
<jsp:setProperty name="nota" property="nombre"
value="<%=tuNombre%>" />

Como ya hemos visto, esto se puede hacer de forma más breve:


<jsp:setProperty name="nota" property="nombre"
param="nombre" />

Incluso se puede hacer durante la instanciación:


<jsp:useBean id="nota"
             scope="page"
             class="objeto.asignatura">

    <jsp:setProperty
         name="nota"
        property="*" />

</jsp:useBean>
El ejemplo completo


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
  </head>
  <body>
    <h1>Trabajando con los beans !</h1>


<jsp:useBean id="nota" scope="page" class="objeto.asignatura">
  <jsp:setProperty name="nota" property= "nota"></jsp:setProperty>
    <%
     nota.setNota(4);

    %>
  <jsp:getProperty name="nota" property= "nota"></jsp:getProperty>
  <p>Hemos creado una instancia del JavaBean. La clase se llama
     <%=nota.getClass().getName()%>.<p></p>

        El nombre de la instancia es <%=nota.getClass().getSuperclass()%>
     <p ></p>
     y la Nota es <%= nota.getNota()%> <br>
    <jsp:getProperty name="nota" property= "resultado"></jsp:getProperty>
    El resultado es <%nota.getresultado(); %><p></p>
</jsp:useBean>
  </body>
</html>

Contenu connexe

Tendances

Drupal7 para desarrolladores
Drupal7 para desarrolladoresDrupal7 para desarrolladores
Drupal7 para desarrolladoresPedro Cambra
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLjubacalo
 
Introducción a Java Persistence API
Introducción a Java Persistence APIIntroducción a Java Persistence API
Introducción a Java Persistence APIJose Martinez
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desdejbersosa
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Ronald Cuello
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyJose Juan R. Zuñiga
 
Explicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundoExplicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundojubacalo
 
Servicio web java php perl google
Servicio web  java php perl googleServicio web  java php perl google
Servicio web java php perl googleSeveredDRA
 
Find File Servlet DB
Find File Servlet DBFind File Servlet DB
Find File Servlet DBjubacalo
 
Java Persistence Api (Jpa)
Java Persistence Api (Jpa)Java Persistence Api (Jpa)
Java Persistence Api (Jpa)Ronald Cuello
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbcjbersosa
 
Ejemplos de php_mysql
Ejemplos de php_mysqlEjemplos de php_mysql
Ejemplos de php_mysqlI LG
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANSWilliam Diaz S
 
Clase 14 bundles útiles
Clase 14 bundles útilesClase 14 bundles útiles
Clase 14 bundles útileshydras_cs
 

Tendances (20)

Drupal7 para desarrolladores
Drupal7 para desarrolladoresDrupal7 para desarrolladores
Drupal7 para desarrolladores
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTML
 
JSP
JSPJSP
JSP
 
Java Web - JSP
Java Web - JSPJava Web - JSP
Java Web - JSP
 
Introducción a Java Persistence API
Introducción a Java Persistence APIIntroducción a Java Persistence API
Introducción a Java Persistence API
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
 
Explicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundoExplicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundo
 
JPA en Netbeans
JPA en NetbeansJPA en Netbeans
JPA en Netbeans
 
Servicio web java php perl google
Servicio web  java php perl googleServicio web  java php perl google
Servicio web java php perl google
 
Find File Servlet DB
Find File Servlet DBFind File Servlet DB
Find File Servlet DB
 
Introjsp
IntrojspIntrojsp
Introjsp
 
Java Persistence Api (Jpa)
Java Persistence Api (Jpa)Java Persistence Api (Jpa)
Java Persistence Api (Jpa)
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Ejemplos de php_mysql
Ejemplos de php_mysqlEjemplos de php_mysql
Ejemplos de php_mysql
 
Conexion del jpa con mysql
Conexion del jpa con mysqlConexion del jpa con mysql
Conexion del jpa con mysql
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
 
Clase 15
Clase 15Clase 15
Clase 15
 
Clase 14 bundles útiles
Clase 14 bundles útilesClase 14 bundles útiles
Clase 14 bundles útiles
 

En vedette

Metodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentesMetodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentesEmmanuel Fontán
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesUlises Cruz
 
Diagnóstico situacional
Diagnóstico situacionalDiagnóstico situacional
Diagnóstico situacionaluaemuaples
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

En vedette (8)

Componentes en-poo
Componentes en-pooComponentes en-poo
Componentes en-poo
 
Diagnóstico situacional
Diagnóstico situacionalDiagnóstico situacional
Diagnóstico situacional
 
Metodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentesMetodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentes
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Diagnóstico situacional
Diagnóstico situacionalDiagnóstico situacional
Diagnóstico situacional
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similaire à Java beans en jsp (20)

JavaServer Page
JavaServer PageJavaServer Page
JavaServer Page
 
Java Web Lección 02 - JSP
Java Web Lección 02 - JSPJava Web Lección 02 - JSP
Java Web Lección 02 - JSP
 
spring framework
spring frameworkspring framework
spring framework
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
JDBC
JDBCJDBC
JDBC
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020
POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020
POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020
 
Jsp
JspJsp
Jsp
 
Ejb30 3
Ejb30 3 Ejb30 3
Ejb30 3
 
Capitulo3 jsf
Capitulo3 jsfCapitulo3 jsf
Capitulo3 jsf
 
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Taller desarrollo web
Taller  desarrollo webTaller  desarrollo web
Taller desarrollo web
 
Bases de datos con java
Bases de datos con javaBases de datos con java
Bases de datos con java
 
Curso Java Avanzado 3 4 Js Ps Con Java Beans
Curso Java Avanzado   3 4 Js Ps Con Java BeansCurso Java Avanzado   3 4 Js Ps Con Java Beans
Curso Java Avanzado 3 4 Js Ps Con Java Beans
 
Jyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datos
 
Etiquetas jsp
Etiquetas jspEtiquetas jsp
Etiquetas jsp
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
 

Plus de Boris Salleg

01. capitulo 2 6 validacion de datos
01. capitulo 2  6 validacion de datos01. capitulo 2  6 validacion de datos
01. capitulo 2 6 validacion de datosBoris Salleg
 
03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminadaBoris Salleg
 
01. contenido curso internet basico
01. contenido curso internet basico01. contenido curso internet basico
01. contenido curso internet basicoBoris Salleg
 
Contenido curso excel basico
Contenido curso excel basicoContenido curso excel basico
Contenido curso excel basicoBoris Salleg
 
Compromiso academico servicios de internet
Compromiso academico servicios de internetCompromiso academico servicios de internet
Compromiso academico servicios de internetBoris Salleg
 
Compromiso academico excel basico
Compromiso academico excel basicoCompromiso academico excel basico
Compromiso academico excel basicoBoris Salleg
 
Taller #1 institucion educativa las margaritas
Taller #1   institucion educativa las margaritasTaller #1   institucion educativa las margaritas
Taller #1 institucion educativa las margaritasBoris Salleg
 
Introduccion base de datos
Introduccion base de datosIntroduccion base de datos
Introduccion base de datosBoris Salleg
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspBoris Salleg
 
Conexion bd en java y api necesaria
Conexion bd en java y api necesariaConexion bd en java y api necesaria
Conexion bd en java y api necesariaBoris Salleg
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completoBoris Salleg
 
Introduccion base de datos con MYSQL
Introduccion base de datos con MYSQLIntroduccion base de datos con MYSQL
Introduccion base de datos con MYSQLBoris Salleg
 

Plus de Boris Salleg (20)

01. capitulo 2 6 validacion de datos
01. capitulo 2  6 validacion de datos01. capitulo 2  6 validacion de datos
01. capitulo 2 6 validacion de datos
 
03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada
 
01. contenido curso internet basico
01. contenido curso internet basico01. contenido curso internet basico
01. contenido curso internet basico
 
Contenido curso excel basico
Contenido curso excel basicoContenido curso excel basico
Contenido curso excel basico
 
Compromiso academico servicios de internet
Compromiso academico servicios de internetCompromiso academico servicios de internet
Compromiso academico servicios de internet
 
Compromiso academico excel basico
Compromiso academico excel basicoCompromiso academico excel basico
Compromiso academico excel basico
 
Taller #1 institucion educativa las margaritas
Taller #1   institucion educativa las margaritasTaller #1   institucion educativa las margaritas
Taller #1 institucion educativa las margaritas
 
Arboles
ArbolesArboles
Arboles
 
Introduccion base de datos
Introduccion base de datosIntroduccion base de datos
Introduccion base de datos
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
 
Conexion bd en java y api necesaria
Conexion bd en java y api necesariaConexion bd en java y api necesaria
Conexion bd en java y api necesaria
 
Condicionales
CondicionalesCondicionales
Condicionales
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
Introduccion base de datos con MYSQL
Introduccion base de datos con MYSQLIntroduccion base de datos con MYSQL
Introduccion base de datos con MYSQL
 
Practica eventos
Practica eventosPractica eventos
Practica eventos
 
Clase event
Clase eventClase event
Clase event
 
Manejoevento
ManejoeventoManejoevento
Manejoevento
 
Layout
LayoutLayout
Layout
 

Dernier

La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa
 
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdfceeabarcia
 
CARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacionCARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacionCarolVigo1
 
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...Unidad de Espiritualidad Eudista
 
Presentación: Actividad de Diálogos adolescentes.pptx
Presentación: Actividad de  Diálogos adolescentes.pptxPresentación: Actividad de  Diálogos adolescentes.pptx
Presentación: Actividad de Diálogos adolescentes.pptxNabel Paulino Guerra Huaranca
 
Adoración sin fin al Dios Creador por sus bendiciones
Adoración sin fin al Dios Creador por sus bendicionesAdoración sin fin al Dios Creador por sus bendiciones
Adoración sin fin al Dios Creador por sus bendicionesAlejandrino Halire Ccahuana
 
ficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariaficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariamichel carlos Capillo Dominguez
 
sociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercerosociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre terceroCEIP TIERRA DE PINARES
 
SECUENCIA DIDÁCTICA Matemática 1er grado
SECUENCIA  DIDÁCTICA Matemática 1er gradoSECUENCIA  DIDÁCTICA Matemática 1er grado
SECUENCIA DIDÁCTICA Matemática 1er gradoAnaMara883998
 
Revista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaRevista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaTatiTerlecky1
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCEROCIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCEROCEIP TIERRA DE PINARES
 
Presentación del tema: tecnología educativa
Presentación del tema: tecnología educativaPresentación del tema: tecnología educativa
Presentación del tema: tecnología educativaricardoruizaleman
 
Anuncio de Remitido Colegio SEK a la comunidad pública
Anuncio de Remitido Colegio SEK a la comunidad públicaAnuncio de Remitido Colegio SEK a la comunidad pública
Anuncio de Remitido Colegio SEK a la comunidad públicaIvannaMaciasAlvarez
 
Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Ivie
 
EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLA
EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLAEL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLA
EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
U2_EA1_descargable TIC 2 SEM VIR PRE.pdf
U2_EA1_descargable TIC 2 SEM VIR PRE.pdfU2_EA1_descargable TIC 2 SEM VIR PRE.pdf
U2_EA1_descargable TIC 2 SEM VIR PRE.pdfJavier Correa
 
la forma de los objetos expresión gráfica preescolar
la forma de los objetos expresión gráfica preescolarla forma de los objetos expresión gráfica preescolar
la forma de los objetos expresión gráfica preescolarCa Ut
 
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdf
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdfAnna Llenas Serra. El monstruo de colores. Doctor de emociones.pdf
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdfSaraGabrielaPrezPonc
 

Dernier (20)

La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
 
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
 
CARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacionCARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacion
 
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
La Congregación de Jesús y María, conocida también como los Eudistas, fue fun...
 
Presentación: Actividad de Diálogos adolescentes.pptx
Presentación: Actividad de  Diálogos adolescentes.pptxPresentación: Actividad de  Diálogos adolescentes.pptx
Presentación: Actividad de Diálogos adolescentes.pptx
 
Adoración sin fin al Dios Creador por sus bendiciones
Adoración sin fin al Dios Creador por sus bendicionesAdoración sin fin al Dios Creador por sus bendiciones
Adoración sin fin al Dios Creador por sus bendiciones
 
ficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariaficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primaria
 
sociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercerosociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercero
 
SECUENCIA DIDÁCTICA Matemática 1er grado
SECUENCIA  DIDÁCTICA Matemática 1er gradoSECUENCIA  DIDÁCTICA Matemática 1er grado
SECUENCIA DIDÁCTICA Matemática 1er grado
 
Revista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaRevista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección ediba
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCEROCIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE TERCERO
 
Presentación del tema: tecnología educativa
Presentación del tema: tecnología educativaPresentación del tema: tecnología educativa
Presentación del tema: tecnología educativa
 
Sesión de clase ES: Adoración sin fin...
Sesión de clase ES: Adoración sin fin...Sesión de clase ES: Adoración sin fin...
Sesión de clase ES: Adoración sin fin...
 
Anuncio de Remitido Colegio SEK a la comunidad pública
Anuncio de Remitido Colegio SEK a la comunidad públicaAnuncio de Remitido Colegio SEK a la comunidad pública
Anuncio de Remitido Colegio SEK a la comunidad pública
 
Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023Presentación contribuciones socioeconómicas del SUPV 2023
Presentación contribuciones socioeconómicas del SUPV 2023
 
EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLA
EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLAEL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLA
EL ECLIPSE DE LA PAZ (cuento literario). Autor y diseñador JAVIER SOLIS NOYOLA
 
U2_EA1_descargable TIC 2 SEM VIR PRE.pdf
U2_EA1_descargable TIC 2 SEM VIR PRE.pdfU2_EA1_descargable TIC 2 SEM VIR PRE.pdf
U2_EA1_descargable TIC 2 SEM VIR PRE.pdf
 
la forma de los objetos expresión gráfica preescolar
la forma de los objetos expresión gráfica preescolarla forma de los objetos expresión gráfica preescolar
la forma de los objetos expresión gráfica preescolar
 
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdf
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdfAnna Llenas Serra. El monstruo de colores. Doctor de emociones.pdf
Anna Llenas Serra. El monstruo de colores. Doctor de emociones.pdf
 
Tema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdf
Tema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdfTema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdf
Tema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdf
 

Java beans en jsp

  • 1. JavaBeans en JSP • La idea de JavaBeans surge de una vieja necesidad de la Ingeniería del Software: contar con componentes reutilizables e independientes de la plataforma. El programador que hace el JB no hace nada misterioso, simplemente define una clase, tratando de encapsular (ocultar) su implementación y mostrando al exterior (el programador que usa el bean) solamente los métodos y propiedades que son públicos. Sólo se muestra aquello que forma parte del servicio que el bean ofrece al exterior. • Este concepto es un elemento esencial del trabajo eficiente en equipo, colaborar sin que cada ingeniero tenga que repetir el trabajo que ha realizado otro, sin que tenga que enfrentarse a las mismas dificultades que ha resuelto otro. El programador que usa el bean sólo debe preocuparse de lo QUE hace el bean (el servicio que ofrece), no tiene que enfrentarse al trabajo realizado por el diseñador del bean, es decir, le queda oculta la implementación (el COMO el bean ofrece el servicio). • La idea va a a más: donde se ha dicho "equipo" se puede entender la comunidad global de desarrollo de software; de hecho existen numerosas empresas que ofrecen/venden beans a otros desarrolladores. En el caso de los JavaBeans la idea es que estos componentes reusables se puedan utilizar en diversos contextos: desde JavaBeans gráficos de capa cliente (controles de interfaz) hasta JavaBeans de capa web (normalmente representan entidades o reglas de negocio). JavaBean de ejemplo Aunque no ha sido necesario en este ejemplo, los JavaBean deben ser serializables (o heredar de una clase serializables), si es que queremos usar la serialización de objetos. package objeto; public class asignatura { public String Nombre; public double nota; public void asignatura() {
  • 2. } public String getNombre() { return Nombre; } public void setNombre(String Nombre) { this.Nombre = Nombre; } public double getNota() { return nota; } public void setNota(double nota) { this.nota = nota; } public String getresultado () { if (nota <3) return "Reprueba" ; else return "Aprueba"; } } Para instanciar las clases del API de Java no hay más que utilizar el viejo operador new. Pero las clases que representan entidades y reglas de negocio se llaman JavaBeans y exigen unas etiquetas específicas: <jsp:usebean id="id_del_objeto" scope="page | request | session | Application" class="paquete...subpaquete.clase.class" beanName="nombre_del_bean"/> El id es un nombre identificativo, seleccionado por el programador. Además debemos declarar su alcance o ámbito (scope). Un alcance "request" implica que el bean es accesible hasta otra JSP que haya sido invocada por medio de jsp:forwar o jsp:include. El beanName es opcional, sigue la lógica Java de paquete.subpaquete y se utiliza si se usa el método instantiate() de java.beans.Beans.
  • 3. En nuestro ejemplo: <jsp:useBean id="nota" scope="page" class="objeto.asignatura"> De esta sencilla línea se puede deducir que al menos debemos definir en el JavaBean el constructor vacío, que es el que utiliza el motor JSP en la creación del objeto. Existe una segunda sintaxis: <jsp:usebean id="id_del_objeto" scope="page | request | session | application" class="paquete...subpaquete.clase.class" beanName="nombre_del_bean"> Instanciacion del Bean </jsp:useBean> En este caso se ejecutan las instrucciones si el bean es instanciado. Dichas instrucciones pueden ser cualquier contenido JSP, aunque normalmente consiste en Scriptlets y acciones setProperty. Los métodos setXXX() y getXXX() son puramente convencionales, podríamos haberlos llamado defXXX() y obtXXX(), sin embargo es conveniente usar los métodos setXXX() y getXXX() para propiciar la interoperabilidad e integración con software de otros fabricante. Además esto facilita el uso de acciones setProperty y getProperty. Uso de setProperty y getProperty jsp:setProperty se usa en conjunción con jsp:useBean para definir valores de propiedades. Las etiquetas jsp:setProperty y jsp:getProperty nos evitan los scriptlets y se encargan de invocar a los métodos setXXX() y getXXX() del JavaBean. <jsp:setProperty name="id_del_objeto" property="nombre_propiedad"|"*" param="nombre_parametro_de_request"| value="valor" /> Esta acción puede aplicarse a una propiedad: <jsp:setProperty name="nota" property= "nota"></jsp:setProperty>
  • 4. O a todas aquellas propiedades cuyo nombre coincide con parámetros de la petición (request), es decir, selecciona los parámetros que coinciden en nombre con las propiedades y copia los valores en sus correspondientes propiedades: <jsp:setProperty name="nota" property="*" /> Si queremos solamente extraer el valor de un parámetro (en el siguiente ejemplo es 'identificacion') y copiarlo a un atributo ('nombre'): <jsp:setProperty name="nota" property="nombre" param="nombre" /> Con value podemos especificar un valor para la propiedad, pero esta etiqueta es incompatible con param. En el siguiente ejemplo se obtiene el nombre de un formulario mediante request.getParameter() y se almacena en el Bean: <%! String tuNombre; %> <% tuNombre = request.getParameter( "nombre" ); %> <jsp:setProperty name="nota" property="nombre" value="<%=tuNombre%>" /> Como ya hemos visto, esto se puede hacer de forma más breve: <jsp:setProperty name="nota" property="nombre" param="nombre" /> Incluso se puede hacer durante la instanciación: <jsp:useBean id="nota" scope="page" class="objeto.asignatura"> <jsp:setProperty name="nota" property="*" /> </jsp:useBean>
  • 5. El ejemplo completo <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Trabajando con los beans !</h1> <jsp:useBean id="nota" scope="page" class="objeto.asignatura"> <jsp:setProperty name="nota" property= "nota"></jsp:setProperty> <% nota.setNota(4); %> <jsp:getProperty name="nota" property= "nota"></jsp:getProperty> <p>Hemos creado una instancia del JavaBean. La clase se llama <%=nota.getClass().getName()%>.<p></p> El nombre de la instancia es <%=nota.getClass().getSuperclass()%> <p ></p> y la Nota es <%= nota.getNota()%> <br> <jsp:getProperty name="nota" property= "resultado"></jsp:getProperty> El resultado es <%nota.getresultado(); %><p></p> </jsp:useBean> </body> </html>