MVC框架详解(模型结构及工作原理)

MVC框架详解(模型结构及工作原理)-mikechen

MVC是什么?

MVC是把软件系统分为三个基本的部分,分别为:模型Model、视图View、和控制器Controller。

 

MVC框架模型

MVC框架模型,如下图所示:

MVC框架详解(模型结构及工作原理)-mikechen

1、Model模型(简称M)

表示业务规则,主要作用为数据的接受和发送设定规则,一般都是以 JavaBean 的形式进行定义的。

比如:代码中我们会写DAO和DTO类型的代码,那这个DAO和DTO我们可以理解为是属于Model层的代码。

2、View视图(简称V)

是指用户看到并与之交互的界面,视图层,就是UI界面,用于跟用户进行交互,一般所有的JSP、Html等页面就是View层。

3、Controller控制器(简称C)

控制层,Controller层的功能就是将Model和View层进行关联。

控制器本身不输出任何东西和做任何处理,它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

 

常见的MVC框架

比如大家使用较多的SpringMVC,其实就是MVC设计模式的一种体现。

这里我就以SpringMVC为例,工作流程如下图所示:

MVC框架详解(模型结构及工作原理)-mikechen

第一步:用户发送请求

用户发起请求到:前端控制器DispatcherServlet。

 

第二步:请求查询

前端控制器收到请求调用处理器映射器:请求处理器映射器HandlerMappering去查找处理器Handle,通过xml配置或者注解进行查找。

 

第三步:返回处理器执行链

找到以后处理器映射器:HandlerMappering,像前端控制器返回执行链:HandlerExecutionChain。

 

第四步:前端控制器调用处理器适配器

前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)。

 

第五步:处理器适配器去执行Handler

 

第六步:处理器执行完成并返回结果给前端控制器

Handler执行完给处理器适配器返回ModelAndView。

 

第七步:前端控制器接受到结果,并讲结果传给视图解析器

处理器适配器向前端控制器返回ModelAndView。

 

第八步:进行视图解析

前端控制器请求视图解析器(ViewResolver)去进行视图解析。

 

第九步:返回View

视图解析器像前端控制器返回View。

 

第十步:渲染

前端控制器对视图进行渲染。

 

第十一步:返回用户结果

前端控制器向用户响应结果。

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法