Java EE框架开发技术与案例教程
上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,按提示输入数据并提交,然后显示结果。