SpringMVC执行流程

   SpringMVC以条理清晰、易维护、效率高的特点成为当下热门框架之一,应用也非常广泛。但很多同学都仅限于会用,并不真正了解SpringMVC框架,面试问起来也只是会用,显然这是远远不够的,笔者今天就以SpringMVC注解开发为例,为大家讲解一下SpringMVC的执行流程。不当之处,欢迎补充。

一、组件介绍

   1.前端控制器(DispatcherServlet)

        作用就是接受请求,响应结果。相当于转发器。

 

   2.处理器映射器(HandleMapping)

        作用就是解析请求的url,得到请求的uri,查找Handler。

 

   3.处理器适配器(HandlerAdapter)

        作用就是按照特定的规则去执行Handler,这也是为什么开发Handler的时候需要满足HandlerAdapter的规则,这样HandlerAdapter才能Handler。这里的Handler指的就是我们在Controller的逻辑处理。找到Handler就是找到对应的Controller。

 

   4.视图解析器(View  resolver)

      作用就是根据逻辑视图解析成真正的视图。

 

    5.视图(View)

      View是一个接口,其实现类能支持不同的View类型,如jsp、freemarker、Excel等。

 

二、执行流程图

SpringMVC执行流程_第1张图片

原图片地址:https://www.2cto.com/uploadfile/Collfiles/20161230/20161230093354709.png

 

三、流程图解读

第一步

用户发起请求到前端控制器DispatchServlet

第二步

DispatchServlet请求处理器映射器HandlerMapping查找Handler,可以根据xml查找,也可以根据注解查找。

第三步

HandlerMapping解析请求的URL,得到uri,查找到处理器执行链HandlerExcutionChain返回给前端控制器DispatchServlet。

第四步

HandlerMapping调用处理器适配器HandlerAdapter去执行Handler

第五步

处理器适配器执行Handler

第六步

Handler执行完给处理器适配器返回一个ModelAndView对象,该对象是SpringMVC框架的一个底层对象,包括了Model和View。

第七步

处理器适配器给前端控制器返回ModelAndView对象。

第八步

前端控制器请求视图解析器View  resolver进行视图解析,根据逻辑视图解析成真正的物理视图(jsp、FreeMark等)。

第九步

视图解析器给前端控制器返回View对象

第十步

前端控制器进行视图渲染

第十一步

前端控制器向用户响应结果

 

以上就是SpringMVC的执行流程,如有不当之处,欢迎指出。

 

你可能感兴趣的:(java常用框架,SpringMVC,执行流程)