【JavaEE】Spring Web MVC

【JavaEE】Spring Web MVC

目录

一、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 WebMVC框架, 来实现web功能.

1.3 @RequestMapping注解

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

路由映射:

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

1.3.1 使用

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

@RestController@RequestMapping("/user")publicclassUserController{@RequestMapping("/hello")publicStringhello(){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")publicclassUserController{@RequestMapping(value ="/hello", method =RequestMethod.POST)publicStringhello(){return"hello Spring";}}

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

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

1.3.2.2 方法2

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

@RestControllerpublicclassUserController{@PostMapping(value ="/hello")publicStringhello(){return"hello Spring";}}

二、Postman介绍

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

2.1 创建请求

2.2 界面如下:

2.3 传参介绍

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

Postman通过这个板块传参:

Read more

AI实践(8)Skills技能

AI实践(8)Skills技能

AI实践(10)Skills技能 Author: Once Day Date: 2026年3月18日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: AI实践成长_Once-Day的博客-ZEEKLOG博客 参考文章:Prompt Engineering Guide提示词技巧 – Claude 中文 - Claude AI 开发技术社区Documentation - Claude API DocsOpenAI for developersSkills(技能) – Claude 中文 - Claude AI 开发技术社区模式库:把工程经验沉淀为 Skills – Claude 中文 - Claude AI 开发技术社区持续学习:把会话复盘沉淀成 Skills – Claude

GTC2026前瞻(二)Agentic AI 与开源模型篇+(三)Physical AI 与机器人篇

GTC2026前瞻(二)Agentic AI 与开源模型篇+(三)Physical AI 与机器人篇

(二)Agentic AI 与开源模型篇 Agentic AI与开源模型:英伟达想定义的,不只是“更聪明的模型”,而是“能持续工作的数字劳动力” 如果说过去两年的大模型竞赛,核心问题还是“谁能生成更像人的答案”,那么到了 GTC 2026,问题已经明显变了。英伟达把 Agentic AI 直接列为大会四大核心主题之一,官方对这一主题的定义也很明确:重点不再是单轮问答,而是让 AI agent 能够推理、规划、检索并执行动作,最终把企业数据转化为可投入生产的“数字劳动力”。这说明,Agentic AI 在英伟达的语境里,已经不是一个前沿概念,而是下一阶段 AI 商业化的主战场。(NVIDIA) 一、GTC 2026真正的变化,是 AI 开始从“会回答”走向“会做事”

DeepSeek-R1-Distill-Llama-8B部署教程:Docker Compose编排多模型推理服务

DeepSeek-R1-Distill-Llama-8B部署教程:Docker Compose编排多模型推理服务 你是不是也遇到过这样的问题:想快速试用一个新模型,却卡在环境配置上?装依赖、配CUDA、调参数……半天过去,连第一句“你好”都没跑出来。今天这篇教程,就带你绕过所有坑,用最轻量的方式——Docker Compose,把 DeepSeek-R1-Distill-Llama-8B 这个实力派小钢炮模型稳稳跑起来。它不是玩具模型,而是在AIME数学竞赛、MATH-500、CodeForces等硬核榜单上真实打榜的蒸馏成果,8B参数却跑出接近70B级的推理表现。更重要的是,整个过程不需要你装Python环境、不碰CUDA驱动、不改一行源码,一条命令启动,开箱即用。 我们不讲抽象概念,只聚焦三件事:怎么让模型跑起来、怎么让它听懂你的话、怎么把它变成你手边随时能调用的服务。无论你是刚接触大模型的开发者,还是想快速验证想法的产品同学,只要你会用终端,就能照着做,10分钟内看到结果。 1. 为什么选 DeepSeek-R1-Distill-Llama-8B? 1.1 它不是“又一

ComfyUI工作流适配Z-Image:可视化节点让AI绘画更高效

ComfyUI 工作流适配 Z-Image:可视化节点让 AI 绘画更高效 在内容创作节奏日益加快的今天,设计师和运营人员常常面临一个尴尬局面:创意有了,但出图太慢。一张高质量图像从构思到成稿动辄数分钟,若需反复调整提示词或风格,整个流程便变得低效且碎片化。与此同时,AI 绘画模型虽然层出不穷,却大多停留在“能用”而非“好用”的阶段——要么生成速度慢,要么中文支持弱,要么操作不灵活。 正是在这种背景下,Z-Image 系列大模型与 ComfyUI 可视化工作流系统 的结合显得尤为及时。它不是简单的模型替换或界面升级,而是一次从底层推理效率到上层交互逻辑的全面重构。这套组合拳真正实现了“写中文提示 → 几秒内出高清图 → 快速迭代优化”的闭环,为专业创作者提供了一套稳定、可控、可复用的工业化生产方案。 为什么是 Z-Image?不只是快,更是懂你 很多人第一次听说 Z-Image 是因为它“8 步出图”。这个数字确实震撼: