解析SpringMVC执行流程
SpringMVC的执行图大概如下所示
1.首先它是由客户端发起请求,到DispatcherServlet,被拦截后到HandlerMapping这里充当一个路由器,通过他去确定使用哪一个控制器,相应请求,这样我们就会返回一个执行器链HandlerExecutionChain,
这个执行链包含拦截器,和处理器这两个,处理器会将我们的控制器进行包装,增强我们的功能,然后找到处理器之后就要去执行SpringMVC执行了HandleAdapter组件,因为处理器会对控制器进行包装,
所以会连控制器的逻辑一并运行,在运行过程中,我们的核心内容就是获取数据,并且将数据,封装到数据模型中,目的是为了将View渲染出来,封装的是ModelAndCView,有了ModelAndView之后要将数据渲染给用户看,所以ModelAndView会放回一个逻辑视图名称(包含实际视图的定位),也可以在ModelAndView上面设置JSON视图,这样就不必须进行视图解析定位了