Spring MVC 的介绍以及与Struts2的对比
1、Spring MVC的概念
Spring MVC是属于Spring模块中的web模块的一种设计模式。,其包含了模型(Model)、视图(View)、控制器(Controller),着也是MVC的缩写,是一种分离显示业务逻辑、数据和界面的设计模式。
2、MVC的三种组件的功能
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
3、MVC的实现流程
我们从简单来说就是:当用户发送了一个请求后,该请求会先进入控制器,然后将其送入模型中,交由模型与数据库进行数据交互,得到想要的数据,之后将其递交给控制器,控制器将其送入视图中进行一定的页面渲染,完成之后就可以将其重新输入控制器,由控制器将其展示给用户。
具体流程可以参考下图:
4、MVC与strut2的对比
两种都是依赖在Spring的,功能其实相差不大,其较大的区别在于,MVC是由Spring衍生过来的,而strut2是依附在spring上的,可以将其看为亲生和领养的区别,当然这是一句玩笑话,请不要当真。
5、MVC的优点
低耦合性:MVC的视图层和业务层是分离的,如果项目的业务流程或业务规则有所更改,只需要更改MVC的Model层,不需要重新更改编译View和Controller的代码内容。
高可重用性:MVC模式允许不同类型的View访问相同的服务器端代码,多个View可以共享一个Model,它包括任何WEB浏览器(HTTP)或无线浏览器(WAP),因为这些表示所需要改变的只有View层的实现方式,Model层和Controller层不需要做任何改变。
低生命周期成本:MVC降低了用户界面开发和维护的技术需求,从而降低了生命周期成本
快速部署:使用MVC模式可以大大缩短开发时间,允许后端开发人员只关注业务逻辑,而前端开发人员只需要关注页面的表现形式。
高可维护性:前后端分离使得WEB应用程序更易于维护和修改。
补充Servlet
Servlet是基于Java语言的动态WEB开发技术,但相对于MVC来说其多条数据访问门路的设计其,从而导致其安全性,数据之间交互的简便性都较差,与MVC之间的区别主要就是数据在Servlet有很多的门户,而MVC只有一个相对应的门户。