全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

SpringMVC之MVC概述

发布时间:2019-08-12 09:58:00
发布人:小锋

  前言

  目前Web开发的主流模式是MVC,Spring提供了SpringMVC模块,支持MVC模式开发,本章我们将对MVC模式进行一个整体认识。

  Web开发模式的演变

  在早期的java web开发中,我们将页面显示、业务逻辑、数据操作全部放到JSP或JavaBean中实现,也就是Model1。

图片1

  这种模式的缺点是:

  1、耦合性高,所有代码都在JSP中,Java和HTML混合在一起,编写困难。

  2、不利于分工,Java开发人员必须全部完成前端页面和Java程序开发。

  3、难以测试,前端页面和Java相互依赖,无法单独运行,单独测试代码难以重用。

  随着时代的发展,后来出现了Servlet+JSP+JavaBean的开发模式,也就是Model2。

图片2

  Model2也就是早期的MVC,它把页面展示、请求处理、数据操作代码分开,解决了Model1耦合性高的问题。

  用户请求先交给Servlet,Servlet再调用JavaBean对数据库操作,然后将数据绑定到JSP上,将JSP返回给用户。

  MVC术语

  M就是Model代表模型层,负责业务逻辑和数据处理,如:数据库的CRUD。

  V 就是View代表视图层,负责数据的展示和用户的交互,如:JSP页面。

  C 就是Controller代表控制器层,控制器负责视图和模型之间的交互,把用户的请求分发到相应的模型,并且把模型的改变及时地反映到视图上。

  MVC的发展

  为了解决数据库的事务处理问题,JavaBean分为了三个部分:

  bean:实体层,封装表的数据。

  dao:数据访问层,负责每个表的增删改查。

  service:业务逻辑层,负责实现事务。

图片3

  MVC的优点

  1.耦合性低

  视图层和业务逻辑层分离,这样我们可以单独修改页面样式和java逻辑代码,而不需要考虑会对其它部分代码造成影响。

  2.重用性高

  当业务逻辑和视图分离后,不同的JSP页面可以重用相同的业务逻辑代码,如手机订购页面和电脑订购页面,虽然页面内容不同,但是订购的业务逻辑相同。相同的JSP页面也可以使用不同的业务逻辑,如订购的流程修改了,但是页面样式没有修改,我们只需要修改后面的业务逻辑,而不需要修改页面。

  3.部署快,生命周期成本低

  MVC使开发和维护用户接口的技术含量降低。使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。

  4.可维护性高

  分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。

  当然MVC也有缺点:

  1、结构比较复杂,不适合中小型的应用程序。

  2、每个层互相调用,关系复杂,给调试带来困难。

  3、效率低。

  总结

  MVC主要的作用是解耦,降低耦合性后,项目的维护、测试、代码复用都变得容易了,理解了MVC模式后,我们将学习SpringMVC框架。

相关文章

SQL Server 、Oracle 、MySQL有哪些区别?

SQL Server 、Oracle 、MySQL有哪些区别?

2023-10-14
显卡gtx和rtx有什么区别?

显卡gtx和rtx有什么区别?

2023-10-14
GET 和POST 到底有什么区别?

GET 和POST 到底有什么区别?

2023-10-14
DDR3和DDR4内存的区别是什么?

DDR3和DDR4内存的区别是什么?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取