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层的对象
然后model层对象输入到view层的模板引擎里面,就可以得到一个html文件作为http请求返回给浏览器