第05章 JavaBean组件技术
习题答案
1.一个标准的JavaBean具有哪些特征?
答案:拼音字母学习
(1)JavaBean类必须有一个没有参数的构造函数;此构造函数在使用《jsp:uBean》实例化JavaBean类时调用,若JavaBean类内没有任何构造函数,则系统会自动生成一个没有任何参数的构造函数。
(2)JavaBean内的属性都应该定义为私有的。这样可以保证数据的完整性和封装性。
(3)属性值可以通过tXxx和getXxxx来操作。需要注意的是,变量的第一个字母是小写的,但方法名内的第一个字母必须大写,此为必须遵守的约定。
2.在JSP中哪个动作可以通过设定property属性为“*”,使请求参数与JavaBean中的同名属性相匹配?
答案:
在JSP中<jsp:tProperty>动作可以通过设定property属性为“*”,使请求参数与JavaBean中的同名属性相匹配。
3.什么是JavaBean组件?使用JavaBean组件有什么优点?
答案:
现在软件开发都已经转向了基于组件的开发,目前具备代表性的组件技术有微软的COM、COM+,有Sun的JavaBean和EJB(Enterpri Java Bean),另外还有CORBA(Common Object Request Broker Architecture,公共对象请求代理结构)
JavaBean规范将“软件组件”的概念引入到Java编程的领域。组件是自包含的、可重用的软件单元;而JavaBean组件,则可以使用可视的应用程序开发工具,可视地将它们编写到Java程序中。JavaBean规范为Java开发人员提供了一种“组件化”其Java类的方法。
4.实例
实例内容:编写一个JSP页面,该页面提供一个表单,用户通过表单输入正方形的边长后提交给本页面,JSP页面将计算正方形面积和周长的任务交给一个JavaBean去完成,并将计算结果在另外一个JSP页面中显示出来。
答案:
(1)创建名称为Square.java 的JavaBean文件,代码如下:
package square;
白血病的病因
public class Square {
private int side = 1; // 定义私有变量side表示正方形的边长
public Square() { // 无参的构造函数
}
public int getSide() {
再别康桥朗诵配乐
出塞马戴 return side; // 返回变量side的值
}
public void tRadius(int newSide) {
side = newSide; // 给变量side赋值
}
public double squareLength() {
盗号工具 return side * 4.0; // 计算正方形的周长
}
public double squareArea() {
return side * side; // 计算正方形的面积
}
}
(2)创建名称为sideInput.jsp的页面文件,该页面文件的代码如下:
<%@ page contentType="text/html; chart=gb2312" language="java"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; chart=gb2312" />
<title>计算正方形的周长与面积</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="square.jsp">
请输入圆的半径:
<input name="radius" type="text" id="radius" />
<input type="submit" name="submit" value="开始计算" />
</form>
</body>
</html>
(3)创建名称为square.jsp的页面文件,该页面文件的代码如下:
<%@ page contentType="text/html; chart=gb2312" language="java"%>
<html>
<head>
如何制作圆锥 <meta http-equiv="Content-Type" content="text/html; chart=gb2312" />
<title>计算正方形的周长与面积</title>
</head>
<body>
<jsp:uBean id="squareBean" scope="ssion" class="square.Square" />
<%
int side = Integer.Parameter("side"));
squareBean.tSide(side);
out.println("正方形的边长为:" + Side());
out.println("<br><br>");
思念远方 out.println("正方形的周长为:" + squareBean.squareLength());
out.println("<br><br>");
out.println("正方形的面积为:" + squareBean.squareArea());
%>
</body>
</html>磬石
(4)程序执行过程如图所示: