一、定义
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代码的混编。