SprinMVC 学习小记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34560242/article/details/80989649

一、学习SpringMVC运行原理之前先学习一下四大组件

  • DispatcherServlet:前端控制器。接收请求,响应结果,相当于转发器,中央处理器。有了dispatcherServlet减少了其它组件之间的耦合度。用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。
  • HandlerMapping:处理器映射器。根据请求的url查找Handler,HandlerMapping负责根据用户请求找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。
  • HandlerAdapter:处理器适配器。按照特定规则(HandlerAdapter要求的规则)去执行Handler,通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。
  • ViewResolver:视图解析器。进行视图解析,根据逻辑视图名解析成真正的视图(view),ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。springmvc框架提供了很多的View视图类型,包括:jstlView、freemarkerView、pdfView等。

二、SpringMVC的运行流程

  • 1、流程图
    流程图

  • 2、时序图
    时序图

三、流程说明

  • 1、用户发起请求到前端控制器(DispatcherServlet)。
  • 2、DispatcherServlet收到请求以后会调用处理器映射器(HandlerMapping),HandlerMapping根据XML、注解等查找具体的处理器(Handler),包装成HandlerExecutionChain对象,其中包含handler、HandlerInterceptor对象等。
  • 3、DispatcherServlet再去调用处理器适配器(HandlerAdapter),HandlerAdapter会根据适配的结果调用真正的处理器的方法。完成处理之后会返回一个ModelAndView(数据模型、逻辑视图名)给DispatcherServlet。
  • 4、DispatcherServlet再去调用视图解析器(ViewResolve)根据ModelAndView的逻辑视图名解析成具体的View。
  • 5、DispatcherServlet根据View进行视图渲染,就是将Model数据填充到View中。并将其转为response响应。
  • 6、DispatcherServlet将请求结果响应给用户。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章