MVC是指Model(模型层,数据),View(视图层),Controller(控制层)
核心是DispathcherServlet(一个Servlet)
(1) 客户端的请求提交给DispathcherServlet
(2)DispathcherServlet查询HandlerMapping,找到处理这个请求应该调用哪个Controller
(3)(4)(5)于是DispathcherServlet将请求发送给某个Controller,Controller调用Service层得到一个处理结果,这个处理结果就是ModelAndView,把这个处理结果返回给DispathcherServlet
(6)DispathcherServlet寻找视图解析器ViewResolver,找到ModelAndView指定的视图(指定视图表示选择使用哪一个模板引擎来渲染数据)
(7)(8)(9)然后DispathcherServlet就将处理结果封装到Model层模型层,然后Model层再传给View层,最后View拿到封装成的Model层对象然后和视图层的模板引擎相结合,生成Http响应传给浏览器
总结:
Controller控制层是用来处理浏览器请求的,负责调度的
而view层负责渲染,负责展现的
它们之间联系的纽带是Model层
MVC与三层架构之间的关系
三层架构指的是:
服务器端分为三层:表现层,业务层,数据层
浏览器访问服务器,首先访问的是表现层(期待表现层给它返回一些数据)
表现层会调用业务层去处理业务
业务层在处理业务的过程中会调用数据层(数据库)
表现层得到业务层的处理结果后,将它返回给浏览器
MVC解决的是表现层的问题
总结:表现层有三部分Controller,Model,View(合称 MVC),表现层去调用业务层,然后业务层调用数据层,最后将得到的数据返回给controller,controller再将数据封装成model,然后将model送入到view层进行渲染,最后渲染好的页面再传给前端
Controller层将获得的数据封装成Model层的对象
然后model层对象输入到view层的模板引擎里面,就可以得到一个html文件作为http请求返回给浏览器