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

作者阿里云代理 文章分类 分类:linux图文教程 阅读次数 已被围观 984

开发形式的介绍


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

首要咱们来理清一些概念吧:

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


形式一


形式一指的便是在开发中将显现层、操控层、数据层的操作一致交给JSP或者JavaBean来进行处理

形式一有两种状况:

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


应用例子:


咱们运用JavaBean+JSP开发一个简易的核算器吧,效果如图下

50.jpg

  • 首要开发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>


  • 效果:

51.jpg

本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>

我有话说: