springmvc在处理模型数据有两种方式:方式一.返回值是ModelAndView、方式二.在参数中传入Map,Model或者ModelMap;最后都会转换为一个 ModelAndView对象(所以是以request作用域来响应用户)
流程如下图:
总结
请求过来后,先到DispatcherServlet前端控制器,之后它会调用处理器映射器找到HandlerMapping处理器映射器里的方法,返回HandlerExecultionChain对象,这个对象包含了所有的拦截器和处理器。
之后拿到HandlerAdapter处理器适配器,由它找到对应的处理器去调用请求,相当于调用controller之后,会返回ModelAndView对象,这个对象返回到前端控制器。
前端控制器通过我们在springmvc配置文件中配的InternalResourceViewResolver视图解析器,得到视图InternalResourceView。
得到视图之后,调用里边的方法进行渲染视图,将我们的模型数据,在页面给用户呈现出来,响应给用户。
链接:https://www.jianshu.com/p/a21940b87bed