SpringMVC框架简介、工程结构及常用组件介绍

SpringMVC框架简介、工程结构及常用组件介绍

简介

Spring MVC 是 Spring 提供的一个基于 MVC 设计模式(的实现之一)、 基于Servlet API构建的轻量级Web 开发框架,是原始Web框架,也是Spring框架的一部分。其提供了灵活可扩展的MVC架构,方便开发者构建高性能的Web应用程序,并与 Spring 生态系统无缝集成,本质上相当于 Servlet。使用 MVC 的目的是将 M 和 V 的实现代码分离,使同一个程序可以有不同的表现形式。Spring MVC遵循MVC设计模式,将应用程序的不同方面分离开来,通过模型、视图和控制器的协作来处理Web请求。综上所述,Spring MVC是Spring框架提供的基于MVC架构并继承了Servlet API的Web开发框架。它遵循MVC模式的原则,提供了一套完整的开发流程和特性。通过Spring框架的支持,它能够实现灵活性、可配置性和可扩展性,帮助开发者构建高性能的Web应用程序。

Spring MVC用于提供web层解决方案,其设计理念是基于组件方式来执行流程,即每个组件分工明确,程序员需要将【一个任务】转换为【SpringMVC多个组件可以执行的各个流程——SpringMVC框架提供的多个组件之间的交互】进而求解。包含以下核心组件:

在 Web 项目的开发中,能够及时、正确地响应用户的请求是非常重要的。用户在网页上单击一个 URL 路径,这对 Web 服务器来说,相当于用户发送了一个请求。而获取请求后如何解析用户的输入,并执行相关处理逻辑,最终跳转至正确的页面显示反馈结果,这些工作往往是控制层(Controller)来完成的。补入此网站中的所有可读内容。

在请求的过程中,用户的信息被封装在 User 实体类中,该实体类在 Web 项目中属于数据模型层,对应 Model。

在请求显示阶段,跳转的结果网页就属于视图层,对应View。

像这样,控制层负责前台与后台的交互,数据模型层封装用户的输入/输出数据,视图层选择恰当的视图来显示最终的执行结果,这样的层次分明的软件开发和处理流程被称为 MVC 模式。

SpringMVC工程结构

细读、补入此篇博客

SpringMVC框架中常用的组件

  • DispatcherServlet:前端控制器,由SpringMVC提供,是一个Servlet。

Servlet:Java Servlet 的简称,是运行在服务器上的程序,是用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容,其作为【来自 Web 浏览器或其他 HTTP 客户端的】请求和 【HTTP 服务器上的】数据库/应用程序 之间的中间层,如下所示。
在这里插入图片描述
Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。
关于servlet的作用,可以看这篇博客的动画,便于对其有一个初步的认识。目前看完动画,自己感觉servlet负责执行【由用户请求通过浏览器转换而来的】request,并将执行结果response返回给浏览器,最后通过浏览器转为HTTP响应返回给用户。
关于servlet的内容,可以看这篇文章

  • HandlerMapping:处理器映射器,由SpringMVC提供。用于解析url,将url(网址)转换(映射)到某一个Controller乃至Controller中的某一个方法上,例如注解@RequestMapping(" ")的实现。SpringMVC三大组件之一

  • HandlerAdapter:处理器适配器,由SpringMVC提供,不管前面的处理器映射器(HandlerMapping)返回/找到了什么方法,都可以予以执行,故名“适配器”。适配器即不管传入什么,都以相同的格式输出,在本处意为不管传入什么类、什么方法,都可以转换为可执行的 类和方法 予以执行,如下图所示。SpringMVC三大组件之一
    在这里插入图片描述

  • ViewResolver:视图解析器,由SpringMVC提供。用于将 返回值 转化为 可以跳转的页面地址,即将逻辑视图名解析成 物理视图名(具体的页面地址)。SpringMVC三大组件之一

  • Handler:处理器,需要程序员开发。

  • view:真正的视图页面,需要程序员开发。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值