Spring MVC设计模式(1)

Spring MVC设计模式

基于 Servlet 的 MVC 模式的具体实现如下。

  • 模型:一个或多个 JavaBean 对象,用于存储数据(实体模型,由 JavaBean 类创建)和处理业务逻辑(业务模型,由一般的 Java 类创建)。
  • 视图:一个或多个 JSP 页面,向控制器提交数据和为模型提供数据显示,JSP 页面主要使用 HTML 标记和 JavaBean 标记来显示数据。
  • 控制器:一个或多个 Servlet 对象,根据视图提交的请求进行控制,即将请求转发给处理业务逻辑的
    JavaBean,并将处理结果存放到实体模型 JavaBean 中
    在这里插入图片描述

Spring MVC 工作流程

Spring MVC 框架主要由 DispatcherServlet(分发器)、处理器映射、控制器、视图解析器、视图组成
在这里插入图片描述

  • 客户端请求提交到 DispatcherServlet。
  • 由 DispatcherServlet 控制器寻找一个或多个 HandlerMapping,找到处理请求的 Controller。
  • DispatcherServlet 将请求提交到Controller。
  • Controller 调用业务逻辑处理后返回 ModelAndView。
  • DispatcherServlet寻找一个或多个 ViewResolver 视图解析器,找到 ModelAndView 指定的视图。
  • 视图负责将结果显示到客户端。

Spring MVC接口

Spring MVC 四个接口,即 DispatcherServlet、HandlerMapping、Controller 和 ViewResolver

  • Spring MVC 所有的请求都经过 DispatcherServlet 来统一分发,在 DispatcherServlet
    将请求分发给 Controller 之前需要借助 Spring MVC 提供的 HandlerMapping 定位到具体的
    Controller。

  • HandlerMapping 接口负责完成客户请求到 Controller 映射。

  • Controller 接口将处理用户请求,这和 Java Servlet 扮演的角色是一致的。一旦 Controller 处理完用户请求,将返回 ModelAndView 对象给 DispatcherServlet 前端控制器,ModelAndView 中包含了模型(Model)和视图(View)。

  • 从宏观角度考虑,DispatcherServlet 是整个 Web 应用的控制器;从微观考虑,Controller 是单个 Http 请求处理过程中的控制器,而 ModelAndView 是 Http 请求过程中返回的模型(Model)和视图(View)。

  • ViewResolver 接口(视图解析器)在 Web 应用中负责查找 View 对象,从而将相应结果渲染给客户。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章