当前位置: 首页 > news >正文

【JavaEE】Spring Web MVC

目录
  • 一、Spring Web MVC简介
    • 1.1 MVC简介
    • 1.2 Spring MVC
    • 1.3 @RequestMapping注解
    • 1.3.1 使用
    • 1.3.2 @RequestMapping的请求设置
      • 1.3.2.1 方法1
      • 1.3.2.2 方法2
  • 二、Postman介绍
    • 2.1 创建请求
    • 2.2 界面如下:
    • 2.3 传参介绍

一、Spring Web MVC简介

官方文档介绍:

Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, “Spring Web MVC,” comes from the name of its source module (spring-webmvc), but it is more commonly known as “Spring MVC”.

Parallel to Spring Web MVC, Spring Framework 5.0 introduced a reactive-stack web framework whose name, “Spring WebFlux,” is also based on its source module (spring-webflux). This chapter covers Spring Web MVC. For reactive-stack web applications, see Web on Reactive Stack.

For baseline information and compatibility with Servlet container and Jakarta EE version ranges, see the Spring Framework Wiki.

翻译:

Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从一开始就包含在 Spring 框架中。正式名称“Spring Web MVC”来自其源模块的名称 (spring-webmvc),但更常见的名称是“Spring MVC”。

与 Spring Web MVC 并行,Spring Framework 5.0 引入了一个反应式堆栈 Web 框架,其名称“Spring WebFlux”也基于其源模块 (spring-webflux)。本章介绍 Spring Web MVC。对于反应式堆栈 Web 应用程序,请参阅反应式堆栈上的 Web。

有关 Servlet 容器和 Jakarta EE 版本范围的基线信息和兼容性,请参阅 Spring Framework Wiki。

servlet:

Servlet 是种实现动态的技术. 准确来讲Servlet是套 Java Web 开发的规范,或者说是套 Java Web 开发的技术标准. 只有规范并不能做任何事情,必须要有去实现它. 所谓实现 Servlet 规范,就是真正编写代码去实现 Servlet 规范提到的各种功能,包括类、法、属性等.
Servlet 规范是开放的,除了 Sun 公司,其它公司也可以实现 Servlet 规范,前常的实现了
Servlet 规范的产品包括 Tomcat、Weblogic、Jetty、Jboss、WebSphere等,它们都被称
为"Servlet 容器". Servlet 容器来管理程序员编写的Servlet 类.

1.1 MVC简介

MVC:

MVC 是 Model View Controller 的缩写,它是软件程中的种软件架构设计模式,它把软件系统分为模型、视图和控制器三个基本部分.

  • View(视图) 指在应程序中专来与浏览器进交互,展数据的资源.
  • Model(模型) 是应程序的主体部分,来处理程序中数据逻辑的部分.
  • Controller(控制器)可以理解为个分发器,来决定对于视图发来的请求,需要哪个模型来处理,以及处理完后需要跳回到哪个视图。即来连接视图和模型

1.2 Spring MVC

MVC 是种架构设计模式, 也是种思想, Spring MVC 是对 MVC 思想的具体实现.
除此之外, Spring MVC还是个Web框架.
总结来说,Spring MVC 是个实现了MVC 模式的 Web 框架.

  • Spring Boot 只是实现Spring MVC的其中种式已.
  • Spring Boot 可以添加很多依赖, 借助这些依赖实现不同的功能. Spring Boot通过添加Spring Web
  • MVC框架, 来实现web功能.

1.3 @RequestMapping注解

@RequestMapping 是Spring Web MVC 应程序中最常被到的注解之,它是来注册接的
路由映射的.
表服务收到请求时, 路径为 /sayHi 的请求就会调 sayHi 这个法的代码.

路由映射:

当访问个 URL 时, 将的请求对应到程序中某个类的某个法的过程就叫路由映射.

1.3.1 使用

@RequestMapping 既可修饰类,也可以修饰法 ,当修饰类和法时,访问的地址是类路径 + 法路径.

@RestController @RequestMapping("/user") public class UserController { @RequestMapping("/hello") public String hello() { return "hello Spring"; } }

此时访问的就是:http://127.0.0.1:8080/user/hello

路径命名:

@RequestMapping 的URL 路径最前加不加 / (斜杠)都可以, Spring程序启动时, 会进判断,如果前没有加 / , Spring会拼接上个 / ,但是习惯加上。

1.3.2 @RequestMapping的请求设置

@RequestMapping支持所有请求
指定请求法类型:
我们可以显的指定@RequestMapping 来接收POST的情况,如下所:

1.3.2.1 方法1

形式:在注解中value设置为路径,method设置为需要的请求,可以是数组。

@RequestMapping(value = 路径, method = {RequestMethod.POST, 请求2}) @RestController @RequestMapping("/user") public class UserController { @RequestMapping(value = "/hello", method = RequestMethod.POST) public String hello() { return "hello Spring"; } }

再次使用浏览器访问就会报错:报客户端的错误,因为我们发的请求方式错误

当我们使用Postman发送POST请求就可以成功。

1.3.2.2 方法2

直接使用对应的请求的注解即请求+Mapping。

@RestController public class UserController { @PostMapping (value = "/hello") public String hello() { return "hello Spring"; } }

二、Postman介绍

Postman就是专门测试后端代码的,可以发送不同的请求。
下载链接:https://www.postman.com/downloads/

2.1 创建请求

2.2 界面如下:

2.3 传参介绍

普通传参, 就是通过查询字符串来传参。
URL结构:

Postman通过这个板块传参:

http://www.cnnetsun.cn/news/1393520.html

相关文章:

  • 水墨江南模型重装系统后的快速恢复部署
  • Qwen3-32B-Chat快速部署:无需conda/pip,纯镜像内环境启动零报错实录
  • 【AI产品经理进阶】Dify+Python实战:构建智能竞品监控Agent的5大核心模块(含源码解析)
  • Figma-to-JSON:打破设计工具数据孤岛的开源解决方案
  • Botty完全指南:暗黑破坏神2自动化刷宝的智能识别技术与实战优化策略
  • Qwen3-0.6B-FP8快速部署:Win10系统配置指南
  • ChromePass:3分钟找回Chrome浏览器所有密码的完整指南
  • Qwen3-32B部署保姆级教程:CUDA12.4+550.90.07驱动下RTX4090D免配置镜像详解
  • 智慧工地设备选型与落地实践:从技术参数到项目实效的全维度解析
  • Pixel Dimension Fissioner步骤详解:裂变炉输入格式规范与错误处理机制
  • Flowframes视频插帧实战指南:从技术原理到商业应用
  • 游戏货币系统:三套环境避坑指南
  • Mos:重新定义macOS鼠标滚动体验的效率工具
  • 【轨物方案】“装备数字化医生”——基于“机械指纹”的设备全生命周期管理
  • 使用StructBERT分析GitHub项目评论情感倾向
  • 区块链入门(四):从金融到游戏——区块链生态的三大应用场景
  • Simulink仿真模糊PID控制无刷直流电动机调速,包含BLDCM模糊控制和简单报告
  • MusePublic Art Studio在嵌入式系统的轻量化部署方案
  • FireRed-OCR Studio保姆级教程:显存不足OOM问题的5种量化解决方案
  • UiAutomator源码探秘:从UiDevice.click()到屏幕响应的完整链路拆解(Android测试进阶)
  • 当你的团队全是Agent:产品经理如何在智能体时代重新定义自己的价值
  • 别等9月当“小白鼠”!2026年6月PMP末班车冲刺攻略(80天超详细自救指南)
  • 多源车辆数据打通实战指南:从12123接口、爬虫获取电动自行车车辆信息到备案数据推送六合一平台
  • CRUISE纯电动车仿真模型与Simulink DLL联合仿真:电制动优先能量回收策略实现指南...
  • 西门子S7-1200 PID温度控制程序,PID参数经过预调节和精确调节之后得出,程序采用博图...
  • 虚拟海洋实验室:ASV波浪模拟器从入门到精通
  • ChatTTS WebUI界面深度解析:输入区+控制区全参数详解(Speed/Seed/Mode)
  • 基于宏观因子模型的贵金属暴跌解析:利率预期反转与流动性收缩驱动下的价格重估机制
  • OpenClaw多模型切换实战:ollama-QwQ-32B与Qwen混合调用
  • 完整企业级电商聊天系统MallChat:5分钟构建即时通讯与电商一体化平台