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

# 开发模式的介绍 # **在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开发一个简易的计算器吧,效果如图下**: ![](http://i.imgur.com/SOZP41q.png)![](http://i.imgur.com/g6W79VD.png) - 首先开发JavaBean对象 ```java 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; } } ``` - 再开发显示页面 ```html <%--开发用户界面--%>
简单计数器
第一个参数:
运算符
第二个参数:
``` - 效果: ![](http://i.imgur.com/n0wf531.png) - **获取得到显示页面提交的参数,调用JavaBean的方法,最后输出结果!** ```jsp <%--获取得到Bean对象--%>
更多专业前端知识,请上 【猿2048】www.mk2048.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值