
上QQ阅读APP看书,第一时间看更新
2.3 业务逻辑(模型)层技术
业务逻辑层由JavaBean实现。JavaBean是Java Web程序的重要组件,它是一些封装了数据和操作的功能类,供JSP或Servlet调用,完成数据封装和数据处理等功能。
1.JavaBean的设计
设计JavaBean就是编写Java类,但与普通类不同,有其特殊的设计规则和要求。设计JavaBean通常遵守以下规则。
● JavaBean是一个公共类。
● JavaBean类具有一个公共的无参的构造方法。
● JavaBean所有的属性均定义为私有。
● 在JavaBean中,需要对每个属性提供两个公共方法:getter和setter。
● 定义JavaBean时,通常放在一个命名的包下。
【例2-10】设计Web程序,计算任意两个整数的和值,并在网页上显示结果。要求,在JavaBean中实现数据的求和功能。
【分析】该问题需要网页input.jsp、show.jsp,以及实现数据计算的JavaBean类(Add.java)。其处理流程是:网页input.jsp提交任意两个整数,而网页show.jsp获取两个数值后创建JavaBean对象,并调用求和方法获得和值,然后显示计算结果。
【设计关键】在两个页面间利用request对象实现数据共享(利用请求参数shuju1和shuju2)。它们之间的关系如图2-7所示。

图2-7 【例2-10】的处理流程
【实现】
1)首先设计实现数据求和的JavaBean类Add.java,其代码如下。
package beans; public class Add{ private int shuju1, shuju2, sum; public Add(){} public int getShuju1(){ return shuju1; } public void setShuju1(int shuju1){this.shuju1 = shuju1; } public int getShuju2(){return shuju2; } public void setShuju2(int shuju2){this.shuju2 =shuju2; } public int getSum(){ retrun shuju1+shuju2; } public void setSum(int sum){this.sum =sum; } }
2)设计提交任意两个整数的JSP页面(input.jsp),其主要代码如下。
<body> <h3>按下列格式要求,输入两个整数:</h3><br> <form action="show.jsp" method="post"> 加数:<input name="shuju1"><br><br> 被加数:<input name="shuju2"><br><br> <input type=submit value="提交"> </form> </body>
3)计算并显示计算结果的show.jsp,其主要代码如下。
<body> <jsp:useBean id="c" class="beans.Add" scope= "request"/> <jsp:setProperty name="c" property="*"/> <p>调用jsp:getProperty作标签显示结果值:<br> <jsp:getProperty name="c" property="shuju1"/>+ <jsp:getProperty name="c" property="shuju2"/>= <jsp:getProperty name="c" property="sum"/> </p> </body>
【运行测试】启动页面input.jsp,按提示输入数据并提交,然后显示结果。