Spring MVC 使用介绍(一)—— 概述

时间:2024-10-01 19:04:44

一、Web MVC简介

1、经典的MVC架构

    Spring MVC 使用介绍(一)—— 概述

存在的问题:1、控制器负责流程控制、请求数据整理与校验、模型与视图选择等功能,过于复杂。2、模型层没有进行分层设计

2、改进的MVC设计

1)控制器功能拆分:Front Controller + Application Controller + Page Controller + Context

    Spring MVC 使用介绍(一)—— 概述

  • 前端控制器:表现层提供统一访问点,主要负责流程控制
  • 应用控制器:负责选择具体的页面控制器(处理器)和具体的视图
  • 页面控制器:功能处理代码,收集参数、封装参数到模型、转调业务对象处理模型、返回逻辑视图名交给前端控制器

2)模型(JavaBean)采用三层架构

    Spring MVC 使用介绍(一)—— 概述

二、Spring MVC 简介

Spring MVC 框架图:

     Spring MVC 使用介绍(一)—— 概述

作为Web MVC的实现,职责对应关系为:DispatcherServlet -> 前端控件器, HandlerMapping与ViewResolver -> 应用控制器, Handler -> 页面控制器

具体流程:

  1. 用户请求 -> DispatcherServlet
  2. DispatcherServlet -> HandlerMapping,HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器)对象
  3. DispatcherServlet  -> HandlerAdapter,HandlerAdapter将会把处理器包装为适配器,从而支持多种类型的处理器
  4. DispatcherServlet  -> 处理器功能处理方法的调用,HandlerAdapter会根据适配的结果调用真正的处理器的功能处理方法,完成功能处理,并返回一个ModelAndView对象(包含模型数据、逻辑视图名)
  5. DispatcherServlet  -> ViewResolver,ViewResolver将把ModelAndView对象的逻辑视图名解析为具体的View
  6. DispatcherServlet  -> View渲染,View会根据传进来的Model模型数据进行渲染
  7. DispatcherServlet  -> 用户

参考:

第一章 Web MVC简介 —— 跟开涛学SpringMVC

第二章 Spring MVC入门 —— 跟开涛学SpringMVC

javaweb学习总结(二十一)——JavaWeb的两种开发模式

Spring MVC学习笔记