深入理解MVC设计模式和三层架构_20170925_V1.0
以下是本人的一些观点,可能理解有误,仅供自己笔记
问题1.三层架构和MVC之间的关系
三层架构(展示层,应用层,数据访问层)包含MVC(模型,视图,控制),MVC只存在三层架构中的展示层。
问题2.MVC(模型,视图,控制)之间的关系?
就以平常我们页面发起请求,然后到返回响应给用户为例来说明。
1.页面发起请求,根据请求url,请求参数,请求参数头等,唯一的找到一个处理的方法(也就是请求映射到了某个具体的处理器的处理方法上,我们常用的controller中的某个方法)
2.contoller进行一系列处理之后,返回一些数据(放入uiModel中,或者Map等,也就是ModelAndView)和指定返回的方式(可能是一个页面,经过视图解析之后,找到对的页面;也可能是直接返回数据,也就是@responseBody,将处理方法的返回值以客户端所期待的方式返回给客户端。)
3.如果返回的是一个视图,则查找对应的属兔解析器,并将ModelAndView放入视图中,最后将视图和数据组装起来(也就是视图渲染)
spring mvc 支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。