3.1 Spring MVC概述

简介: 用于接收用户请求、转发用户请求、响应结果, DispatcherServlet是整个流程控制的中心,由它调用其他组件处理用户请求,分发到具体的对应Controller,从而获取到需要的业务数据Model,Model再通过DispatcherServlet传递给View完成页面呈现。MVC是一种编程思想,它将应用分为模型(Model)、视图(View)、控制器(Controller)三个层次,这三部分以最低的耦合进行协同工作,从而提高应用的可扩展性及可维护性。进行视图的解析,负责将处理结果生成View视图。

 

1. MVC概念

MVC是一种编程思想,它将应用分为模型(Model)、视图(View)、控制器(Controller)三个层次,这三部分以最低的耦合进行协同工作,从而提高应用的可扩展性及可维护性。

    • 模型(Model)

    模型层主要包括实体类Bean(存储业务数据的类,如Student)和处理业务逻辑的Bean(如Service、Dao)。

      • 视图(View)

      用户与应用程序交互的、展示数据的界面,例如工程中的html页面。

        • 控制器(Controller)

        工程中的servlet,接收视图层发出的请求,将请求转给模型,响应用户请求渲染视图。

        2. Spring MVC概念

        Spring MVC全称Spring Web MVC,通常称为Spring MVC,是基于MVC思想的应用框架,它是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。

        3. Spring MVC核心组件

        Spring MVC框架主要有前端控制器、处理器映射器、处理器适配器、处理器、视图解析器等组成。

          • 前端控制器DispatcherServlet

          用于接收用户请求、转发用户请求、响应结果, DispatcherServlet是整个流程控制的中心,由它调用其他组件处理用户请求,分发到具体的对应Controller,从而获取到需要的业务数据Model,Model再通过DispatcherServlet传递给View完成页面呈现。

            • 处理器映射器HandlerMapping

            映射URL到处理器,根据请求的URL找到对应的Handler。

              • 处理器适配器HandlerAdapter

              将各种Controller适配成DispatcherServlet可以执行的Handler。

                • 处理器Handler

                开发者编写的业务逻辑,Controller-Service业务。

                  • 视图解析器ViewResolver

                  进行视图的解析,负责将处理结果生成View视图。

                  4. Spring MVC工作原理


                    • 客户端发送请求到前端控制器DispatcherServlet;
                    • 由DispatcherServlet控制器寻找一个或多个HandlerMapping,找到处理请求的Controller;
                    • DispatcherServlet将请求提交到Controller;
                    • Controller调用业务逻辑处理后,返回ModelAndView;
                    • DispatcherServlet请求视图解析器ViewResoler,找到ModelAndView指定的视图;
                    • 视图负责将结果显示到客户端。
                    目录
                    相关文章
                    |
                    2天前
                    |
                    设计模式 开发框架 Java
                    Spring及工厂模式概述
                    Spring及工厂模式概述
                    29 8
                    |
                    2天前
                    |
                    JSON 前端开发 Java
                    【JavaEE】让“单车变摩托”的神级框架—Spring MVC的深入讲解(下)
                    【JavaEE】让“单车变摩托”的神级框架—Spring MVC的深入讲解
                    6 0
                    |
                    2天前
                    |
                    JSON 前端开发 Java
                    【JavaEE】让“单车变摩托”的神级框架—Spring MVC的深入讲解(上)
                    【JavaEE】让“单车变摩托”的神级框架—Spring MVC的深入讲解
                    5 0
                    |
                    2天前
                    |
                    前端开发 Java 测试技术
                    Java一分钟之Spring MVC:构建Web应用
                    【5月更文挑战第15天】Spring MVC是Spring框架的Web应用模块,基于MVC模式实现业务、数据和UI解耦。常见问题包括:配置DispatcherServlet、Controller映射错误、视图解析未设置、Model数据传递遗漏、异常处理未配置、依赖注入缺失和忽视单元测试。解决这些问题可提升代码质量和应用性能。注意配置`web.xml`、`@RequestMapping`、`ViewResolver`、`Model`、`@ExceptionHandler`、`@Autowired`,并编写测试用例。
                    51 3
                    |
                    2天前
                    |
                    设计模式 前端开发 Java
                    初识Spring MVC
                    初识Spring MVC
                    14 0
                    |
                    2天前
                    |
                    前端开发 Java 应用服务中间件
                    Spring MVC框架概述
                    Spring MVC 是一个基于Java的轻量级Web框架,采用MVC设计模型实现请求驱动的松耦合应用开发。框架包括DispatcherServlet、HandlerMapping、Handler、HandlerAdapter、ViewResolver核心组件。DispatcherServlet协调这些组件处理HTTP请求和响应,Controller处理业务逻辑,Model封装数据,View负责渲染。通过注解@Controller、@RequestMapping等简化开发,支持RESTful请求。Spring MVC具有清晰的角色分配、Spring框架集成、多种视图技术支持以及异常处理等优点。
                    19 1
                    |
                    2天前
                    |
                    监控 前端开发 Java
                    SpringBoot与SpringMVC有哪些区别?
                    SpringBoot和SpringMVC是Java开发中常用的两个框架,它们都是由Spring框架所提供的,但在功能和使用方式上有着一些区别。
                    23 2
                    |
                    2天前
                    |
                    安全 Java API
                    第1章 Spring Security 概述(2024 最新版)(下)
                    第1章 Spring Security 概述(2024 最新版)
                    25 0
                    |
                    2天前
                    |
                    安全 Java 数据安全/隐私保护
                    第1章 Spring Security 概述(2024 最新版)(上)
                    第1章 Spring Security 概述(2024 最新版)
                    35 0
                    |
                    2天前
                    |
                    数据采集 前端开发 Java
                    数据塑造:Spring MVC中@ModelAttribute的高级数据预处理技巧
                    数据塑造:Spring MVC中@ModelAttribute的高级数据预处理技巧
                    23 3