springMVC从接受请求到完成响应的过程

sprinmvc大致的工作原理如下:
springMVC从接受请求到完成响应的过程_第1张图片

**简要说明:**
1.用户发起请求到前端控制器。
2.前端控制器通过处理器映射器查找hander。
3.处理器映射器返回执行链。
a)hander对象
b)拦截器(集合)
4.前端控制器通处理器适配器包装,执行hander对象。思考:为什么要通过适配器来执行?
5.通过模型hander处理业务逻辑。
6.处理业务完成后,返回ModeAndView对象,其中有视图名称,模型数据。
7.将视图名称和模型数据返回到前端控制器。
8.前端控制器通过视图解释器查找视图对象。
9.视图解释器返回真正的视图。
10.前端控制器通过返回的视图和数据进行渲染。
11.返回渲染完成的视图。
12.将最终的视图返回给用户,产生响应。

下面详细分析:
1)当请求到达springmvc前段控制器的时候,会到达DispatcherServlet的doService()方法,如下:
springMVC从接受请求到完成响应的过程_第2张图片
2)接着会调用doDispatcher()方法,如下:
springMVC从接受请求到完成响应的过程_第3张图片
3)接着会调用getHandler(processedRequest)获取当前的处理器
springMVC从接受请求到完成响应的过程_第4张图片
4)看getHandler(processedRequest)方法,会返回当前请求的处理器链。当前处理器联封装了负责请求的处理器及其方法;
springMVC从接受请求到完成响应的过程_第5张图片
springMVC从接受请求到完成响应的过程_第6张图片
5)根据当年请求的处理器获取处理器适配器,通过调用getHandlerAdapter()获取;
springMVC从接受请求到完成响应的过程_第7张图片
6)接下来调用handler()方法处理请求
springMVC从接受请求到完成响应的过程_第8张图片
7)接着进入handler()方法瞧一瞧,来到了类的AbstractHandlerMethodAdapter的handleInternal()方法
springMVC从接受请求到完成响应的过程_第9张图片
8)
springMVC从接受请求到完成响应的过程_第10张图片
9)最后执行调用
springMVC从接受请求到完成响应的过程_第11张图片

10)调用结束会返回modelAndView对象
springMVC从接受请求到完成响应的过程_第12张图片
整个过程大概就是这样子。

你可能感兴趣的:(springMVC从接受请求到完成响应的过程)