Spring boot MVC 二 MVC与Spring简介

一、MVC简介

MVC即Model、View、Controller,是一种将数据模型,界面(对外接口)以及业务逻辑分离的模式。尽管现在对MVC褒贬不一,但是不可否认的是,MVC仍是现在相当流行的一中模式。(这里遵循网上大多数的说法,将MVC称为一种“模式”,实际上,它与设计模式的“模式”略有不同。)

下面我们通过一个例子来简单的介绍MVC: 
这是一个很常见也很简单的例子,在这个例子中,用户提交用户名密码,一个验证工具(可以是一组Java类)在数据表中进行查询(我们假设用户名密码等认证数据存在一张数据表中),并产生认证结果,进而根据验证结果,向用户展示对应的界面(如验证成功则展示欢迎登录的界面,验证失败则展示验证失败,需要重新验证的界面)。 
图一、一个简单的用户认证的例子

我们结合上图来简单的介绍下MVC中的三个重要的组建:

M(Model):数据模型,即这个例子中的“数据表”; 
V(View):视图,界面,或对外接口,即这个例子中的认证成功的界面或认证失败的界面; 
C(Controller):控制器,即这个例子中的“认证工具”。

可以发现,MVC分离了数据模型,视图(对外接口)以及业务逻辑,从而减少了代码的耦合度,使得其中一个组件的改动不会影响到(或影响很少)其他的组件,这就增加了代码的可阅读性并降低了代码的维护成本。

二、Spring MVC简介

Spring MVC是现在相当流行的一套开发Web应用的框架。


“Front Controller”和“Controller”都是MVC中的“C”(Controller),我们可以这样理解:对于一个Web应用,它会接受到很多不同的请求(用户认证,用户注册,用户将某一产品加入购物车,用户分享了某一产品给好友等),所以单独将“Front Controller”列出来,它主要负责将不同的Request分发给对应的Controller进行处理,并根据处理结果指定不同的View以展示。实际上,一般情况下,Spring MVC中的“Front Controller”就是DispatcherServlet,顾名思义,它的主要任务是“分发(Dispatcher)”。

猜你喜欢

转载自blog.csdn.net/hmq995201/article/details/78084050