Web开发模式【Mode I 和Mode II的介绍、应用案例】

开发模式的介绍在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II)首先我们来理清一些概念吧:DAO(Data Access Object):主要对数据的操作,增加、修改、删除等原子性操作。Web层:界面+控制器,也就是说JSP【界面】+Servlet【控制器】Service业务层:将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑控制层:主要
摘要由CSDN通过智能技术生成

开发模式的介绍

在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II)

首先我们来理清一些概念吧:

  • DAO(Data Access Object):主要对数据的操作,增加、修改、删除等原子性操作。
  • Web层:界面+控制器,也就是说JSP【界面】+Servlet【控制器】
  • Service业务层:将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑
  • 控制层:主要使用Servlet进行控制
  • 数据访问层:使用DAO、Hibernate、JDBC技术实现对数据的增删改查
  • JavaBean用于封装数据,处理部分核心逻辑,每一层中都用到!

模式一

模式一指的就是在开发中将显示层、控制层、数据层的操作统一交给JSP或者JavaBean来进行处理

模式一有两种情况:

  • 完全使用JSP做开发
    • 优点:
      1. 开发速度贼快,只要写JSP就行了,JavaBean和Servlet都不用设计!
      2. 小幅度修改代码方便,直接修改JSP页面交给WEB容器就行了,不像Servlet还要编译成.class文件再交给服务器!【当然了,在ide下开发这个也不算是事】
    • 缺点:
      1. 程序的可读性差、复用性低、代码复杂!什么jsp代码、html代码都往上面写,这肯定很难阅读,很难重用!
  • 使用JSP+JavaBean做开发
    • 优点:
      1. 程序的可读性较高,大部分的代码都写在JavaBean上,不会和HTML代码混合在一起,可读性还行的
      2. 可重复利用高,核心的代码都由JavaBean开发了,JavaBean的设计就是用来重用、封装,大大减少编写重复代码的工作!
    • 缺点:
      1. 没有流程控制,程序中的JSP页面都需要检查请求的参数是否正确,异常发生时的处理。显示操作和业务逻辑代码工作会紧密耦合在一起的!日后维护会困难

应用例子:

我们使用JavaBean+JSP开发一个简易的计算器吧,效果如图下

  • 首先开发JavaBean对象

    public class Calculator {

        private double firstNum;
        private double secondNum;
        private char Operator = '+';
        private double result;


        //JavaBean提供了计算的功能
        public void calculate() {

            switch (this.Operator) {
                case '+':
                    this.result = this.firstNum + this.secondNum;
                    break;

                case '-':
                    this.result = this.firstNum - this.secondNum;
                    break;

                case '*':
                    this.result = this.firstNum * this.secondNum;
                    break;

                case '/':
                    if (this.secondNum == 0) {
                        throw new RuntimeException("除数不能为0");
                    }
                    this.result = this.firstNum / this.secondNum;
                    break;

                default:
                    throw new RuntimeException("传入的字符非法!");
            }
        }


        public double getFirstNum() {
            return firstNum;
        }

        public void setFirstNum(double firstNum) {
            this.firstNum = firstNum;
        }

        public double getSecondNum() {
            return secondNum;
        }

        public void setSecondNum(double secondNum) {
            this.secondNum = secondNum;
        }

        public char getOperator() {
            return Operator;
        }

        public void setOperator(char operator) {
            Operator = operator;
        }

        public double getResult() {
            return result;
        }

        public void setResult(double result) {
            this.result = result;
        }
    }

  • 再开发显示页面

    <%--开发用户界面--%>
    <form action="/zhongfucheng/1.jsp" method="post">
        <table border="1">
            <tr>
                <td colspan="2">简单计数器</td>
                <td></td>
            </tr>
            <tr>
                <td>第一个参数:</td>
                <td><input type="text" name="firstNum"></td>
            </tr>
            <tr>
                <td>运算符</td>
                <td>
                    <select name="operator">
                        <option value="+">+</option>
                        <option value="-">-</option>
                        <option value="*">*</option>
                        <option value="/">/</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td>第二个参数:</td>
                <td><input type="text " name="secondNum"></td>
            </tr>
            <tr>
                <td colspan="2"><input type="submit" value="提交"></td>
                <td></td>
            </tr>
        </table>
    </form>
  • 效果:

  • 获取得到显示页面提交的参数,调用JavaBean的方法,最后输出结果!

    <%--获取得到Bean对象--%>
    <jsp:useBean id="calculator" class="domain.Calculator" scope="page"/>

    <%--设置Bean对象的数据--%>
    <jsp:setProperty name="calculator" property="*"/>

    <%--调用Caculator的方法计算出值--%>
    <jsp:scriptlet>
        calculator.calculate();
    </jsp:scriptlet>


    <%--得出的结果:--%>

    <c:out value="计算得出的结果是:"/>
    <jsp:getProperty n
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值