前言
个人理解Springmvc的请求过程,希望能帮助到大家。
提示:以下是本篇文章正文内容,下面案例可供参考
一、SpringMVC请求过程?
一:请求的流程图
从servlet升级封装而来,应用于web
总结:(1)用户通过浏览器发送请求到前端控制器DispatcherServlet。
(2)前端控制器直接将请求转给处理器映射器HandleMapping。
(3)处理器映射器HandleMapping会根据请求,找到负责处理该请求的处理器,并将其封装为处理器
执行链HandlerExecutionChina后返回给前端控制器DispatcherServlet。
(4)前端控制器DispatcherServlet根据处理器执行链中的处理器,找到能够执行该处理器的处理器适
配器HandlerAdaptor。
(5)处理器适配器HandlerAdaptor调用执行处理器Controller。
(6)处理器Controller将处理结果及要跳转的视图封装到一个对象 ModelAndView 中,并将其返回给
处理器适配器HandlerAdaptor。
(7)处理器适配器直接将结果返回给前端控制器DispatcherServlet。
(8)前端控制器调用视图解析器,将 ModelAndView 中的视图名称封装为视图对象。
(9)视图解析器ViewResolver将封装了的视图View对象返回给前端控制器DispatcherServlet.
(10)前端控制器DispatcherServlet调用视图对象,让其自己进行渲染,即进行数据填充,形成响应对
象。
(11)前端控制器响应浏览器
详解:
1浏览器发送请求(post,get…) 给DispatcherServlet前端控制器,*.do特定后缀的请求,/所有的请求包含静态内容。
2把请求移交给内部的handleMapping处理(init–>set–get),得到链接集合
3处理适配器handleAdaptor执行controll中的内容,modleAndview对象处理器Controller将处理结果及要跳转的视图封装到一个对象 ModelAndView 中,并将其返回给
处理器适配器HandlerAdaptor。
4处理器适配器直接将结果返回给前端控制器DispatcherServlet前端控制器调用视图解析器,将 ModelAndView 中的视图名称封装为视图对象。
5视图解析器ViewResolver将封装了的视图View对象返回给前端控制器DispatcherServlet.前端控制器DispatcherServlet调用视图对象,让其自己进行渲染,即进行数据填充,形成响应对象。
6前端控制器响应浏览器。
二、SpringMVC与webServlet?
传统webServlet
Spring的mvc
还是那句话交给容器去处理。