**JavaBean的设计规则**
设计一个标准的JavaBean通常遵循以下规则:
(1)JavaBean是一个公共类。
(2)JavaBean类具有一个公共的无参的构造方法。
(3)JavaBean所有的属性定义为私有的。
(4)在JavaBean中,需要对每个属性提供两个公共方法。假设属性名字是xxx,要提供的两个方法:
- setXxx():用来设置属性xxx的值。
- getXxx():用来获取属性xxx的值(若属性类型是boolean,则方法名为isXxx())。
(5)定义JavaBean时,通常放在一个命名的包下。
JavaBean的设计案例描述
【问题】设计一个表示圆的 JavaBean 类Circle.java, 并且该JavaBean 中具有计算圆的周长和面积的方法。
【分析】描述一个圆, 需要圆心、半径、绘制圆的颜色以及是否填充圆,另外,需要知道这是绘制的第几个圆, 所以该圆需要6个属性:圆的编号(整型)、圆心的x坐标、圆心的y坐标、半径、绘制颜色(字符串类型)、是否填充(布尔型)。
另外,该类必须具有其业务处理功能:计算圆的面积和圆的周长。
【设计】根据 JavaBean 的设计原则,定义有关的属性,并给出其对应的 get/set 方法,并且一定要包含一个不带参数的构造方法。
【实现】 编写圆的JavaBean类Circle.java。
开始
一、建立工程及其包
在MyEclipse新建一个Web Project项目工程,并在其子目录src下创建一个beans包(package),设计的 JavaBean 类经过编译后,必须将单个JavaBean 类部署到"WebRoot\WEB-INF\classes"目录中,JavaBean 的打包类Jar 部署到“/WEB-INF/lib”下。
在 MyEclipse 开发环境中,部署Web工程时, JaveBean 会自动部署到正确的位置。
注意:若设计的JaveBean被修改,需要重新部署工程才能生效!
Circle.java源代码:
package beans; //JavaBean必须放在同一个用户命名的包下
public class Circle {
private int number; //圆的编号
private double x; //圆心x值
private double y; //圆心y值
private double radius; //半径
private String color; //绘制颜色
private boolean fill; //是否填充
public int getNumber() {
return number;
}//成员 number 的get方法
public void setNumber(int number) {
this.number = number;
}//成员 number 的set方法
public double getX() {
return x;
}//成员 x 的get方法
public void setX(double x) {
this.x = x;
}//成员 x 的set方法
public double getY() {
return y;
}//成员 y 的get方法
public void setY(double y) {
this.y = y;
}//成员 y 的set方法
public double getRadius() {
return radius;
}//成员 radius 的get方法
public void setRadious(double radious) {
this.radius = radious;
}//成员 radius 的set方法
public String getColor() {
return color;
}//成员 color 的get方法
public void setColor(String color) {
this.color = color;
}//成员 color 的set方法
public boolean isFill() {
return fill;
}//成员 fill 的get方法
public void setFill(boolean fill) {
this.fill = fill;
}//成员 fill 的set方法
public Circle(){} //公共无参构造方法,这里使用的是默认构造方法
public double circleArea(){return Math.PI*radius*radius;} //计算圆面积的方法
public double circleLength(){return 2*Math.PI*radius;} //计算圆周长的方法
}
二、建立测试用的Jsp文件
在Web Project工程创建一个jsp文件,命名为javaBean测试页面.jsp,输入以下代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%-- 导入JavaBean对应类,形式为:包名.类名 --%>
<%@ page import="beans.Circle" %>
<!DOCTYPE>
<html>
<head>
<title>JavaBean测试</title>
</head>
<body>
<%-- 使用JSP指令标签useBean,在JSP文件中应用JavaBean --%>
<jsp:useBean id="Circle" class="beans.Circle" scope="page">
</jsp:useBean>
<%
Circle.setNumber(1);
Circle.setX(2);
Circle.setY(2);
Circle.setRadious(3);
Circle.setColor("bule");
Circle.setFill(true);
out.println("JSP测试Circle.java<br>");
out.println("圆的编号为:"+Circle.getNumber()+"<br>");
out.println("圆心的x坐标为:"+Circle.getX()+"<br>");
out.println("圆心的y坐标为:"+Circle.getY()+"<br>");
out.println("圆的面积为:"+Circle.circleArea()+"<br>");
out.println("圆的周长为:"+Circle.circleLength()+"<br>");
%>
</body>
</html>
三、测试结果
运行javaBean测试页面.jsp后,没问题的话,就显示为:
对了,那个classes文件夹是不会显示在MyCclipse页面的!