Spring Web MVC 入门:从概念到实践
核心概念与 MVC 模式
Spring Web MVC 是基于 Servlet API 构建的 Web 框架模块,采用模型 - 视图 - 控制器(MVC)架构。Servlet 是 Java Web 的核心技术,负责处理客户端请求并生成动态响应,但必须部署在支持 Servlet 规范的容器中运行。
MVC 将应用逻辑分为三部分:
- 模型(Model):管理数据和业务逻辑,是'数据中心'。
- 视图(View):负责展示数据,即用户交互界面。同一模型可对应多个视图。
- 控制器(Controller):协调模型与视图,处理用户请求和业务逻辑。
流程简述:用户操作视图 -> 控制器接收请求 -> 调用模型处理数据 -> 模型返回结果给控制器 -> 控制器选择视图渲染 -> 用户看到结果。
环境准备与第一个接口
要连接浏览器与 Java 程序,需创建一个 Spring Boot 项目。推荐使用 Spring Initializr 快速初始化。配置项目名称时注意仅包含小写字母、数字、连字符或下划线,避免大写。
添加依赖后启动项目,即可编写首个控制器。创建一个类并添加 @RestController 注解,告诉 Spring 该类的返回值直接作为响应内容发送给前端,无需跳转页面。
@RestController
public class HelloController {
@RequestMapping("/sayhello")
public String say() {
return "hello";
}
}
访问 http://127.0.0.1:8080/sayhello 即可看到返回结果。其中 127.0.0.1 代表本地主机,8080 是默认端口,/sayhello 为请求路径。
关键注解详解
@RestController
该注解相当于 @Controller + @ResponseBody。若不加此注解而仅用 @Controller,方法返回的通常是视图名称;若不加任何注解,该类不会被识别为控制器,接口无法访问。
@RequestMapping
用于将 HTTP 请求映射到处理方法。它既可用在类上,也可用在方法上。
- 仅类上:定义公共前缀,类似文件夹命名。
- 仅方法上:定义具体路径,类似文件名。若类上有相同路径的方法,会报错。
- 类与方法结合:最常用,形成完整路径。
例如:
@RestController
@RequestMapping("/api")
public class UserController {
@RequestMapping("/user")
public String {
;
}
}


