之前我们写的代码可能发现了,

    我们所写的页面,

    业务逻辑代码页面代码高度耦合在一起

    而我们写代码追求的就是,高内聚,低耦合

    所以本随笔也会重新打一次代码来进行阐述


 

页面代码的编写

  首先我们先建一个java web 项目

  java-web——第五课 页面代码和逻辑代码的分离

 

   接着我们先写一个页面代码

    需求的话,就显示学生信息

   java-web——第五课 页面代码和逻辑代码的分离

  页面结果如下

  java-web——第五课 页面代码和逻辑代码的分离

    可能结果并没有什么错误,

    结果也是我们想要的结果

    不过大家看源代码就发现了

    我们页面代码和业务逻辑代码高度耦合在一起

    这就会让我们的代码显得非常的恶心,

    也不利于我们多人开发

  不过接下来,我们就来看看如何将其分开


 

代码的分离

  首先,我们要分清楚,我们有哪些实体

  所谓实体,就是为了编写实体类,java中面向对象的分装

    本次代码就只有一个学生实体类,

    所以我们第一步就是封装学生实体类

  java-web——第五课 页面代码和逻辑代码的分离

  接着就建包和建类

  java-web——第五课 页面代码和逻辑代码的分离

   然后就是将对应的属性封装

  java-web——第五课 页面代码和逻辑代码的分离

  这里有一点需要注意

  编写的实体类的属性要和页面代码中的一样

  例如

  java-web——第五课 页面代码和逻辑代码的分离

  接着就是编写方法接口,

    为什么是编写接口

      而不是直接编写实现类和方法, 

      因为,在需要写需求之前,

      先把需求的大概用接口表达出来

      这样有利于我们整个项目的思路梳理

      再用实现类去实现,

        我们的需求就是显示学生的信息

        所以只需要一个返回List集合的方法

  java-web——第五课 页面代码和逻辑代码的分离

  下一步是什么呢?

    是实现类的编写吗?

    不是的,实现类不着急编写,

  先将类调用到页面代码中试试效果。

  java-web——第五课 页面代码和逻辑代码的分离

  然后去页面看看效果

  java-web——第五课 页面代码和逻辑代码的分离

  报500错误,因为我们没有实例化接口类,

  所以我们就去写一个实现类

  java-web——第五课 页面代码和逻辑代码的分离

  提示,在编写jsp代码的时候,记得导入需要的包,和实例化接口对象

  java-web——第五课 页面代码和逻辑代码的分离

  java-web——第五课 页面代码和逻辑代码的分离

  这个实现类返回的并没有内容,

  这次我再去看看有没有500错误

  java-web——第五课 页面代码和逻辑代码的分离

  这次没有报错,只是没有内容

    到这一步就差不多成功了,

    接下来的工作也只是添加数据

  java-web——第五课 页面代码和逻辑代码的分离

  紧接着我们去看一下网页,

  这里需要注意一点,每次修改java文件的时候

  都需要重写部署以下Tomcat

  java-web——第五课 页面代码和逻辑代码的分离

  内容就全部出来了


 

对比

最后我们来对比一下我们前后者之间的不同

  首先是业务逻辑和页面代码耦合在一起

  java-web——第五课 页面代码和逻辑代码的分离

  在项目分工合作的时候,这样子的代码,

    使得后台程序员和前端开发人员效率大大降低

    也使代码变得非常的恶心

  后者如下

  java-web——第五课 页面代码和逻辑代码的分离

  项目结构如下:

  java-web——第五课 页面代码和逻辑代码的分离

   这完全符合java面向对象的思想,

  将实体封装,提供方法实现功能,

  在以后的学习,

   java-web——第五课 页面代码和逻辑代码的分离

  这些代码会更加的简洁

 

好啦,今天就说到这

谢谢欣赏

(`・ω・´)ゞ敬礼っ

相关文章: