一、定义

JavaBean 是一种JAVA语言写成的可重用组件。本质上来讲,Java Bean是一个遵循特定写法的Java类。这个类创建的一个对象成为一个JavaBean,简称bean。分配给bean的成员变量,也称bean的属性。

二、特点

1、这个Java类必须具有一个公共的、无参数的构造方法。

2、属性必须私有化。

3、私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。

三、编写Java Bean的规则

1、如果类的成员变量(也成bean的属性)的名字是xxx,那么为了获取或更改bean的属性的值,类中必须提供两个方法。

getXxx(),用来获取属性xxx

setXxx(),用来修改属性xxx

方法的名字用get或set为前缀,后缀是将属性名字的首字母大写的字符序列。

2、类中定义的方法的访问权限都必须是public的。

3、类中必须有一个构造方法是public,无参数的。

4、创建bean的类带有包名,即Java源文件须使用package语句给出包名。

四、使用bean

1、为了使JSP页面使用bean,Tomcat服务器必须用相应的字节码文件创建一个对象。为了让Tomcat服务器能找到字节码文件,字节码文件必须保存在特定的目录中。

2、使用JSP动作标记useBean加载使用bean,语法格式是

<jsp:usebean id = "bean的名字" class = "创建bean的类" scope = "bean有效范围"/>

<jsp:usebean id = "bean的名字" class = "创建bean的类" scope = "bean有效范围">
</jsp:useBean>

例如:

<jsp:useBean id = "circle" class = "tom.jiafei.Circle" scope = "page"/>

3、获取和修改bean的属性

在使用动作标记前,须使用useBean标记得到一个相应的bean。

获得bean的属性值getProperty动作标记的语法格式是

<jsp:getProperty name = "bean的id" property = "bean的属性"/>

设置bean的属性值setProperty动作标记的语法格式是

<jsp:setProperty name = "bean的id" property = "*"/>

4、bean的辅助类,即在创建bean的类时,除了需要使用mport语句引入JDK提供的类,可能还需要自己编写的一些其他的类,只要将这样类的包名和bean类的包名一致即可。

五、bean的有效范围和生命周期

在上文中scope取值决定了Tomcat服务器分配给用户的bean的有效范围和生命周期。其取值如下:

1、page bean。有效范围是用户访问的当前页面,存活时间直到当前页面执行完毕。

2、session bean。有效范围是用户访问的Web服务目录下的各个页面,存活时间是用户的会话期间,直到用户的会话消失。PS:session 对象达到了最大生存时间或用户关闭自己的浏览器以及服务器关闭。

3、request bean。有效范围是用户请求的当前页面,存活时间是从用户的请求产生到请求结束。

4、application bean。有效范围是当前Web服务目录下的各个页面,存活时间直到Tomcat服务器关闭。

六、Java Bean的优点

1、提高代码的可复用性。

对于通用的事务处理逻辑,数据库操作等都可以封装在Java bean中,通过调用Java Bean的属性和方法可快速进行程序设计。

2、程序易于开发维护。

实现逻辑的封装,使事务处理和显示互不干扰。

3、支持分布式运用。

多用Java Bean,尽量减少java代码和HTML代码的混编。