Spring MVC整理

MVC概述

MVC(Model View Controller)是一种软件设计模式,分为模型,视图,控制器三个部分。

MVC的原理

Spring MVC概述

SpringMVC 框架是以请求为驱动,围绕 Servlet 设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是 DispatcherServlet,它是一个 Servlet,顶层是实现的Servlet接口。

Spring MVC使用

在 web.xml 中配置 DispatcherServlet (Spring子容器),并且需要配置 ContextLoaderListener(Spring父容器)

工作原理:

Spring MVC的工作流程:

  1. 用户发起一个请求
  2. DispatcherServlet 接受用户发出的 request
  3. 请求查找 HandlerMapping 解析返回 Handler
  4. 请求 HandlerAdapter 执行 Handler 返回 ModelAndView
  5. 视图解析器将逻辑 View 解析为实际 View
  6. 将 Model 数据填充入实际 View 中,完成渲染
  7. 返回给客户端用户

重要组件

  1. 前端控制器 DispatcherServlet(重要)
    由框架提供,不需要开发
    Spring MVC的入口函数。它负责接收请求,响应结果,相当于转发器,中央处理器。MVC模式中的C,即整个流程控制的中心,由它调用其它组件处理用户的请求,降低了组件之间的耦合。

  2. 处理器映射器 HandlerMapping
    根据请求的 URL 查找 Handler

  3. 处理器适配器 HandlerAdapter
    按照特定规则去执行Handler,是适配器模式的应用

  4. 处理器 Handler
    需要开发

  5. 视图解析器 View Resolver
    视图解析,根据逻辑视图名解析成物理视图(即具体的页面地址),再生成View实际视图。

  6. 视图 View
    需要开发。View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf 等)

0%