天天看点

[SpringMVC] DispatcherServlet执行过程[SpringMVC] DispatcherServlet执行过程

[SpringMVC] DispatcherServlet执行过程

  • [SpringMVC] DispatcherServlet执行过程

[SpringMVC] DispatcherServlet执行过程

SpringMVC的核心是DispatcherServlet,DispatcherServlet,即分发器、前端控制器,其功能是针对用户给定的url请求进行接收、拦截、分发和调度。

[SpringMVC] DispatcherServlet执行过程[SpringMVC] DispatcherServlet执行过程

根据上图,做一个简要的介绍:

  1. 用户发来一个url请求,如

    http://localhost:8080/SpringMVC/hello

  2. DispatcherServlet接收并拦截下url地址,并将其拆分为三部分:
    • 服务器域名:

      http://localhost:8080

      /SpringMVC/hello
    • 部署在服务器上的web站点:http://localhost:8080/

      SpringMVC

      /hello
    • 控制器Controller:http://localhost:8080/SpringMVC/

      hello

    然后DispatcherServlet调用HandlerMapping处理器映射,通过url信息查找Handler
  3. HandlerExecution表示查找到的具体的Handler,其作用是根据url信息查找控制器Controller,如上式url中的

    hello

  4. HandlerExecution将查找到的Controller信息返回给DispatcherServlet
  5. HandlerAdapter表示处理器适配器,其按照特定的规则去执行Handler
  6. Handler让具体的Controller执行(业务层代码)
  7. Controller将执行后的信息,如ModelAndView对象返回给HandlerAdapter
  8. HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet
  9. DispatcherServlet调用ViewResolver视图解析器来解析逻辑视图名
  10. DispatcherServlet根据解析好的逻辑视图名来调用具体的视图
  11. View将信息渲染到页面上
  12. 传递给用户