2011-12-25 38 views
16

Soy nuevo en el JSP y la programación del lado del servidor. Hasta ahora estoy trabajando con Servlets y clases de Java. Estoy segregando mi aplicación (según el modelo MVC) con la ayuda de las clases de Java. Me gustaría saber la diferencia entre los beans de Java y las clases de Java. Y en ese escenario puedo usar un Java Bean en lugar de una clase Java. ¿Alguna explicación útil o enlaces útiles?diferencia entre java bean y java class?

frijol

Respuesta

27

de Java es sólo una clase que se ajusta a algunas convenciones:

  • propiedades que pueden acceder los captadores (y definidores si esas propiedades no son de sólo lectura)
  • sin argumentos constructor público
  • serializable

El JSP EL y etiquetas están diseñadas en torno a esas convenciones. La mayoría de ellos no necesita que se respeten todas estas convenciones. las propiedades disponibles por getters son las más importantes de estas convenciones. Por ejemplo, la expresión

${foo.bar.name} 

muestra el nombre de la barra de foo bean. foo es un bean que debe estar en la página, solicitud, sesión o contexto de la aplicación. Y esta expresión llamará al getBar() en este bean, y luego a getName() en el objeto devuelto por getBar().

+0

Es necesario implementar serializable para ser considerado un frijol? – Wronski

+2

@Wronski en la definición más estricta, sí: https://docs.oracle.com/javase/tutorial/javabeans/advanced/persistence.html. Pero como dije, muchos marcos confían en las convenciones de JavaBean para ser respetados, pero eso no significa que deben respetarlos todos. Por ejemplo, acceder a una propiedad del objeto usando el JSP EL no fallará si el objeto no es serializable. –

2

La especificación JavaBeans define los componentes de tipo JavaBeans como "componentes de software reutilizables". Un componente es una Java Bean Class Java simple respeta ciertas convenciones sobre el nombre, la construcción y el comportamiento del método. La adherencia a estas convenciones hace posible usar, reutilizar, reemplazar y conectar Java Beans para herramientas de desarrollo. Los beans deben ser "Serializable" Para guardar y restaurar instancias de esta clase.