JavaBean 开发入门

1  JavaBean非可视化组件用于封装业务逻辑,数据库操作等,最大的优点是是现代码的可重用性

2  程序设计的过程中,JavaBean不是独立的,为了能够更好的封装事务逻辑,数据库操作,以便于实现业务逻辑和前台程序的分离,操作的过程往往是先开发需要的JavaBean,再在适当的时候进行调用,但一个完整的                JavaBean必然会包含一个属性,伴随若干

    get/set函数的变量来设计和运行的。

3  JavaBean规范:遵循 SunMicrosystems的JavaBean规范

  a)  JavaBean类必须有一个无参构造函数

  b)  JavaBean类所有的属性都应该定义为私有的

  c)  JavaBean类定义函数setXxx()和getXxx()来对属性进行操作

4  调用JavaBean:有四个生命期,Page,Request,Session,Application,通过scope指定,在生命期中可以共享JavaBean对象中的数据。

  a)Application代表一个Web程序,当一个用户连接服务器,就会创建Application对象,直到所有的用户都离开这个服务器或网站时,才会终止

  b)Session代表一个联机客户端,当有拥护连接到服务器,会创建Session,当此用户离开会终止Session

  c)Request代表请求对象,当涉及页面间互相请求时就创建这个对象,就可以在多个相互请求的页面间共享数据

  d)Page代表页面对象,当刷新或离开界面,对象终止。

5  设置JavaBean的属性

  a)Simple:表示一个伴随有get/set函数的变量,这依赖于标准命名约定来定义get/set函数

  b)Indexed:表示一个数组值,同简单属性一样,可以使用get/set函数去的数组中的值

  c)Bound:提供机制,即通知监听器,一个JavaBean组件发生了改变

  d)Contrained:和Bound类似,但属性的变化值首先要被所有监听器验证之后,值的变化擦能对JavaBean的组件发生作用

示例:Indexed

 1 public class BeanIndexed {
 2     private String[] type = new String[]
 3             {
 4                     "Java","Java EE","Jdbc"
 5             };
 6 
 7     public String[] getType() {
 8         return type;
 9     }
10 
11     public void setType(String[] type) {
12         this.type = type;
13     }
14     
15     public void setType(int index,String value){
16         type[index] = value;
17     }
18     
19     public String getType(int index){
20         return type[index];
21     }
22 }

这段代码实现了indexed属性的应用,在含有JavaBean的程序里,Indexed和Simple属性将会大量使用,刺猬如果属性是boolean类型,那么除了可以使用getXxx()函数外,还可以使用isXxx()函数赖获得这个属性

6  共享JavaBean:指在一个web应用中多个用户共享一个Bean,主要通过设置Bean的生命期来实现

  如果生命期设置为Application,那么将在整个Web应用中共享这个Bean即多个用户共享Bean

  如果生命期设置为Session,那么只有一个用户可以使用这个Bean

  如果生命期设置为Page,那么只有单个页面能使用这个Bean

  如果生命期设置为Request,那么只要使用<jsp:forward>和<jsp:include>等指令的页面才会共享Bean

  所以共享一个Bean,一般要把生命期设置为Application

  即 <jsp:useBean ...scope=“application” />

 

原文地址:https://www.cnblogs.com/blog4matto/p/5587801.html