javabean
1、什么是Javabean ??
JavaBean是使用Java语言开发的一个可重用的组件,在JSP开发中可以的大量减少代码重复。把html文件和java文件分离开,减少日后维护的困难。当在JSP要使用时,只要调用JavaBean组件来执行用户所要的功能,不用再重复写相同的程序,这样以来也可以节省开发所需的时间。
2、javabean技术概述
Java Bean是基于Java的组件模型,由属性、方法和事件3部分组成。在该模型中,JavaBean可以被修改或与其他组件结合以生成新组件或完整的程序。它是一种Java类,通过封装成为具有某种功能或者处理某个业务的对象。因此,也可以通过嵌在JSP页面内的Java代码访问Bean及其属性。
Bean的含义是可重复使用的Java组件。所谓组件就是一个由可以自行进行内部管理的一个或几个类所组成、外界不了解其内部信息和运行方式的群体。使用它的对象只能通过接口来操作。
3、javabean编写规范
Java Bean实际上是根据JavaBean技术标准所指定Bean的命名和设计规范编写的Java类。这些类遵循一个接口格式,以便于使函数命名、底层行为以及继承或实现的行为,其最大的优点在于可以实现代码的可重用性。
(1)所有的JavaBean必须放在一个包(Package)中。
(2)JavaBean必须生成public class类,文件名称应该与类名称一致。
(3)所有属性必须封装,一个JavaBean类不应有公共实例变量,类变量都为private。
(4)属性值应该通过一组存取方法(getXxx 和 setXxx)来访问:对于每个属性,应该有一个带匹配公用getter 和 setter方法的专用实例变量。
(5)Java Bean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器,此构造器也应该通过调用各个属性的设置方法来设置属性的默认值。
javabean范例
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
package com.java.bean; public class Roll { /* --- 数据定义 ---- */ private Integer roll_r = new Integer(10); private Float roll_area = new Float(0.0); /* ---- 方法定义 ----*/ /* ----- 无参构造函数 ------*/ public Roll() { this.roll_r = 0 ; this.roll_area = (float) 0.0 ; } /*------- setter , getter ----- */ public void setR(Integer integer) { this.roll_r = integer; this.roll_area = (float) (integer*integer*3.14); } public Integer getR() { return this.roll_r; } public Float getArea() { return this.roll_area ; } }
4、javabean的结构
(1)属性:即Java Bean类的成员变量,用于描述JavaBean对象的状态,对象属性值的改变触发事件,属性本身就是事件源。
(2)方法:在Java Bean中,函数和过程统称为方法,通过方法来改变和获取属性的值。方法可以分为构造方法、访问方法和普通方法等。
(3)事件:事件实际上是一种特殊的Java Bean,属性值的改变触发事件,事件激发相关对象作出反应,通过Java Bean注册对象事件监听者机制来接收、处理事件,它实现了Java Bean之间的通信。
5、Javabean事件
事件处理是JavaBeans体系结构的核心之一。通过事件处理机制,可让一些组件作为事件源,发出可被描述环境或其他组件接收的事件。这样,不同的组件就可在构造工具内组合在一起,组件之间通过事件的传递进行通信,构成一个应用。从概念上讲,事件是一种在“源对象”和“监听者对象”之间某种状态发生变化的传递机制。事件有许多不同的用途,例如在Windows系统中常要处理的鼠标事件、窗口边界改变事件、键盘事件等。
6、Javabean在jsp中的应用
首先,我们通过标记中的id属性标记Bean,以使JSP页面的其余部分可以正确的识别该Bean。
其次,使用scope属性来确定该Bean的使用范围。scope属性所决定的使用范围。
最后,class属性通知JSP页面从何处查找Bean,即找到Bean的.class文件。在此我们必须同时指定JavaBean的包(package)名和类(class)名,即class=package.class,否则JSP引擎将无法找到相应的Bean。