Spring MVC 使用总结(一)

来源:互联网 发布:mac怎么升级至os10.11 编辑:程序博客网 时间:2024/06/05 22:50

spring-Overview

Spring MVC 是什么

从 Spring-Overview 图中可以看出 Spring 支持 Web 应用。 Spring Web 层包括 spring-web, spring-webmvc,spring-websocket 和 spring-webmvc-portlet 模块。

spring-webmvc:也被称为 Web-Servlet module,包含 MVC 模式的实现和 REST Web Service 的实现。

Spring MVC 详细流程

spring mvc 详细流程

  1. 用户发送请求到 DispatcherServlet。
  2. DispatcherServlet 对 URL 进行解析,通过 URL 调用 HandlerMapping,获得 Handler 以及该对象对应的拦截器,返回 HandlerExecutionChain 对象。
  3. 选择合适 Handler 对象的适配器 HandlerAdapter,执行拦截器中的postHandle方法。
  4. 开始执行 Handler (Controller),向 DispatcherServlet 返回一个ModelAndView 对象。
  5. 根据返回的ModelAndView,选择一个适合的ViewResolver,ViewResolve 创建一个 View 对象返回给 DispatcherServlet.
  6. DispatcherServlet 得到 View 对象,调用 View 对象中的 render 方法进行视图渲染。
  7. DispatcherServlet 将渲染结果返回给客户端。

Spring MVC 组件说明

DispatcherServlet:

  • 作用:
    DispatcherServlet 是整个流程控制的核心。

  • 优点:
    1)与其他 Web MVC 框架相似,Spring MVC 也是一个请求驱动的,围绕一个核心 Servlet 设计的 MVC 框架。这些核心 Servlet 一般用来调度合适的处理器来处理请求,也提供 Web 应用开发中一些使用的功能。相比于其他的Servlet,DispatcherServlet 更好的集成了 Spring IOC 容器,这使得我们在平常开发中,可以使用 Spring 拥有的每一个特性。
    2)DispatcherServlet的存在降低了组件之间的耦合性。

HandleMapping:

  • 作用:
    DispatcherServlet 通过 HandleMapping 为每个请求找到正确的 Handler对象。

  • 返回值:
    HandlerExecutionChain对象。由目标 Handler 和 一组HandlerInterceptor组成。

HandlerAdapter:

  • 作用:
    1)调用HandlerAdapter.support 方法,选择合适 Handler 的适配器。
    2)调用HandlerAdapter.handle 方法进行目标 Handler 的调用,得到 ModelAndView 返回值。

ViewResolver

  • 作用:
    根据 ModelAndView 中给定的 viewName 信息, 再结合相关配置,创建 View 对象。
0 0
原创粉丝点击