SpringMVC的结构
SpringMVC的本质是个Servlet,此Servlet继承HttpServlet, SpringMVC中提供了三个层次的Servlet:(1)HttpServletBean, FrameworkServlet和DispatchServlet。它们之间的关系如下图所示:
SpringMVC请求处理过程解读:
(1)浏览器请求url所在的资源,前端控制器DispatcherServlet获取到请求URL,DispatcherServletd的上一层FrameworkServlet将它所有类型的请求都转发到process-Request方法。
(2)在DispatcherServlet的doDispatch方法中将webApplicationContext,FlashMaplocalResolver等设置到request属性中,然后将其请求交给doDispatch方法进行具体处理。
(3)doDispatch方法执行过程:
3-1.根据request找到Handler
3-2.根据Handler找到HandlerAdapter
3-3.用HandlerAdapter调用Handler处理请求
3-4.调用processDispathResult方法处理Handler之后的结果(处理异常和找到View并渲染给用户)
具体参照上图:
Handler , HandlerMapping 和HandlerAdapter之间的关系:
HandlerMapping:找到工具人
Handler:具体工作的工具人
HandlerAdapter:怎么具体使用工具人干活
得出结论:你们都懂的,嘿嘿嘿!具体组件东西多,还未总结提炼出来,后面在更新。