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

来源:互联网 发布:js和python区别和联系 编辑:程序博客网 时间:2024/04/30 08:42

sprinmvc大致的工作原理如下:
这里写图片描述

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

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

10)调用结束会返回modelAndView对象
这里写图片描述
整个过程大概就是这样子。

0 0
原创粉丝点击