一、JavaBean是什么?
JavaBean是指一种特殊的Java类,它通常用来实现一些比较常用的简单功能 ,并可以很容易的被重用。实际上总的来说,JavaBean 便是一种JAVA语言写成的可重用组件。
二、javabean编写规范
1.属性私有,建议采用包装类型
2.访问器公有,标准的setter/getter驼峰命名形式,故属性名应大于2个字母,不应出现首2字母为大写的情况
3.有无参构造方法
4.实现Serializable接口
5.可以有多参或全参构造方法
6.可以有toString等对象信息展示方法
//
public class Product implements Serializable {
private static final long serialVersionUID = 1L;
private String id; //商品标识
private String name; //商品名称
private String description; //商品描述
private double price; //商品价格
private int num; //商品数量-即库存
public Product(){ }
public Product(
String id,
String name,
String description,
double price,
int num){
this.id=id;
this.name=name;
this.description=description;
this.price=price;
this.num=num;
}
public String getId() {
return (this.id);
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return (this.name);
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return (this.description);
}
public void setDescription(String description) {
this.description = description;
}
public double getPrice() {
return (this.price);
}
public void setPrice(double price) {
this.price = price;
}
public int getNum() {
return (this.num);
}
public void setNum(int num) {
this.num = num;
}
@Override
public String toString() {
return "Product [id=" + id + ", name=" + name + ", description=" + description + ", price=" + price + ", num="
+ num + "]";
}
}
三、Java Bean在JSP中的应用
在前面我们学习了Java Bean的编写,由于JavaBean是为了重复使用的程序段落具有“Writeonce, run anywhere, reuse everywhere”,即“一次性编写,任何地方执行,所有地方可重用”的特点,所以可以为JSP平台提供一个简单的、紧凑的和优秀的问题解决方案,能大幅度提高系统的功能上限、加快执行速度,而且不需要牺牲系统的性能。同时,采用JavaBean技术可以使系统更易于维护,因此极大地提高了JSP的应用范围。
对Java程序进行打包编译:javac -d . TestBean,JavaBean 开发之后,在jsp中的调用过程:
1.使用〈%@page import=“whc.java.test.*”%〉
2.使用jsp标签指令:
3.jsp设置属性:参数名称必须与Bean中的属性名称一致
4.jsp取得属性
page范围:属性只有在当前页有效,如果跳转到其他页面,则需要重新实例化,适用于:jsp页面操作资源时使用
request范围:属性只保存在一次服务器跳转中
前提:使用跳转才行
session范围:属于保存在一次会话之中,可以使用任意方式连接其他页面,则此对象只实例化一次,适用于:使用jsp直接开发购物车
application范围:属性公有,此对象在整个服务器上只实例化一次;尽量少用,因为application会占用资源
<jsp:useBean id="beanId" scope="page|request|session|application" class="package.class"/>
## 2.读入数据
上面我们在index.jsp中使用<jsp:useBean id=“person” class=“gacl.javabean.study.Person” scope=“page”/>实例化了一个gacl.javabean.study.Person类的对象,那么这个peson对象是怎么实例化出来的呢?index.jsp在执行的过程中首先会翻译成一个servlet,因此我们可以通过查看index.jsp页面生成的servlet的java代码来查看peson对象的实例化过程。
我们通过标记中的id属性标记Bean,以使JSP页面的其余部分可以正确的识别该Bean。使用scope属性来确定该Bean的使用范围。scope属性所决定的使用范围。class属性通知JSP页面从何处查找Bean,即找到Bean的.class文件。在此我们必须同时指定JavaBean的包(package)名和类(class)名,即class=“package.class”,否则JSP引擎将无法找到相应的Bean。
四、JavaBean特点
1.能提高代码的可复用性:对于通用的事务处理逻辑,数据库操作等都可以封装在JavaBean中,通过调用JavaBean的属性和方法可快速进行程序设计。
2.程序易于开发维护:实现逻辑的封装,使事务处理和显示互不干扰。
3.支持分布式运用:多用JavaBean,尽量减少java代码和html的混编。JavaBean的任务就是: “Write once, run anywhere, reuse everywhere”,即“一次性编写,任何地方执行,任何地方重用”。这个任何实际上就是要解决困扰软件工业的日益增加的复杂性,提供一个简单的、紧凑的和优秀的问题解决方案。
4. JavaBean组件在任意地方运行是指组件可以在任何环境和平台上使用,这可以满足各种交互式平台的需求。由于JavaBean是基于Java的,所以它可以很容易地得到交互式平台的支持。JavaBean组件在任意地方执行不仅是指组件可以在不同的操作平台上运行,还包括在分布式网络环境中运行。
5.JavaBean组件在任意地方的重用说的是它能够在包括应用程序、其他组件、文档、Web站点和应用程序构造器工具的多种方案中再利用。这也许是JavaBean组件的最为重要的任务了,因为它正是JavaBean组件区别于Java程序的特点之一。Java程序的任务就是JavaBean组件所具有的前两个任务,而这第3个任务却是JavaBean组件独有的。