- JavaBean是什么?特点?有什么用?
- 保存bean的字节码位置?
- 创建JavaBean?
- 获取和修改beans的属性?
- JSP和Bean的调用关系?
JavaBean是什么?
Javabean是一种Java类,通过封装属性和方法,提供具有相应功能的对象。这个类创建的一个对象称为一个Javabean,简称bean。
有什么用?
JSP页面调用bean,并由bean来完成数据的(逻辑业务)处理,并将有关处理结果存放bean中。
特点?
1、可以实现代码的重复利用。
2、易编写、易维护、易使用。
3、可移植性强/平台无关性。
保存bean的字节码位置?
将类的.class文件复制到jiafei这个文件的目录下:
WebContent / WEB-INF / classes / tom / jiafei
创建JavaBean?
- 如果类的成员变量的名字是xxx,类中提供两个方法:
getXxx(),用来获取属性xxx。
setXxx(),用来修改属性xxx。
后缀是将成员变量名字的首字母大写的字符序列。 - 对于boolean类型的成员变量,即布尔逻辑类型的属性,允许使用==“is”==代替上面的“get”和“set”。
- 类中声明的方法其访问属性都必须是public的。
- 类中需提供public、无参数的构造方法。
package tom.jiafei;
public class Circle {
double radius;
public Circle() {
radius=1;
}
public double getRadius() { //重点!!get方法!!
return radius;
}
public void setRadius(double newRadius) { //重点!!set方法!!
radius=newRadius;
}
public double circleArea() {
return Math.PI*radius*radius;
}
public double circlLength() {
return 2.0*Math.PI*radius;
}
}
获取和修改beans的属性?
- 法1:对象.getXxx() 和 对象.setXxx() 方法【在bean中方法的命名有特殊要求】
- 法2:getProperty 和 setProperty标记【这种命名不用严格按照上面的要求】
- 前提:都要先加载bean!!!!
//加载方式1:
<jsp:useBean id="bean的名字" class="创建beans的字节码" scope="bean有效范围"/>
//加载方式2:
<jsp:useBean id= "bean的名字" class="创建beans的类" scope= "bean有效范围">
</jsp:useBean>
<jsp:useBean id="circle" class="tom.jiafei.Circle" scope="page" />
circle.setRadius(newRadius);
circle.getRadius();
<jsp:useBean id="iPhone" class="tom.jiafei.Goods" scope="request"/>
<jsp:setProperty name="iPhone" property="name" param ="name" />
<jsp:setProperty name="iPhone" property="price" param ="price"/>
<jsp:getProperty name="iPhone" property="name"/>
<jsp:getProperty name="iPhone" property="price"/>
- name:上面命名的id
- property:属性名
- value:值
JSP和Bean的调用关系?
一个JSP页面可以将数据的处理过程指派给一个或几个bean来完成,在JSP页面中调用bean可以将数据的处理代码从页面中分离出来,实现代码服用,更有效维护一个Web应用。
bean的生命周期分为page、request、session和application。