SpringMVC 是 Java Web 开发里绕不开的一层:它把 HTTP 请求和你的业务方法对接起来,同时负责参数绑定、数据传递、视图渲染。很多人写 Servlet 时手动处理 request 和 response,代码又长又容易漏,SpringMVC 就是把这套流程标准化。这门课基于 Spring 5,讲的是从零开始搭一个 SpringMVC 应用,并把注解、模型数据、视图解析这些核心机制讲清楚。
这门课解决什么问题
它的主线是:一个请求从进入 DispatcherServlet 开始,到返回 JSP 页面,中间经历了哪些环节。你会看到 @RequestMapping 如何把 URL 映射到方法,@RequestParam、@RequestHeader、@CookieValue 这些注解怎么帮你从请求里拿数据,以及 Controller 方法返回后,模型数据是怎样放进 request 域、再被 JSP 取出来渲染的。课程还专门讲了视图解析过程——为什么返回 "success" 字符串就能找到对应的 JSP,这个解析规则又是怎么配置和覆盖的。
这些内容直指一个常见缺口:很多人会用注解写接口,但说不清参数绑定的优先级、模型数据到底放在哪个作用域、视图解析器在什么时机介入。学完这门课,你能把“请求—处理—模型—视图”这条链路完整描述出来,而不是只记住几个注解。
适合什么基础,建议先看哪几块
适合已经会 Java 基础语法、懂 Servlet 和 JSP 基本用法、知道什么是 Web 容器的人。如果你还没写过 Servlet,建议先补一下请求对象、响应对象、转发和重定向的区别,否则看到“模型数据放 request 域”会有些模糊。Spring 核心容器不需要提前精通,但至少要知道 IoC 和依赖注入是什么,因为 SpringMVC 的 Controller 本身就是一个 Bean,注解驱动依赖容器扫描。
建议优先看课程开头部分:概述和第一个 Demo 案例,以及 @RequestMapping 在类上的用法。这两块能帮你建立整体框架。之后重点看模型数据处理三讲,因为这是最容易混淆的地方——Model、ModelMap、ModelAndView 到底有什么区别,什么时候用哪个。视图解析过程也建议完整看一遍,它解释了为什么你的 JSP 路径经常报错。
学完能独立做什么,资料怎么配合练习
学完这门课,你能独立搭建一个基于注解的 SpringMVC 项目,实现注册、登录、列表展示之类的典型功能。你能处理表单提交,把用户输入绑定到 JavaBean 上,也能从请求头或 Cookie 里取数据。你还能通过模型对象把查询结果传给 JSP,并控制页面跳转的路径规则。更进一步,你能排查常见的 404 和视图解析错误,知道是配置问题还是路径写错。
配套资料里应该有视频和源码或笔记。建议不要只跟着敲,而是每看完一个知识点就自己改代码。比如学完 @RequestParam,就写一个接口,分别用必填、非必填、默认值三种方式测试。学完模型数据处理,就手动把数据放到 request、session 和 application 三个作用域,观察 JSP 里的取值差异。最后,把课程里的 Demo 案例重写一遍,不参考视频,看自己能不能从空项目搭到页面显示。遇到卡住的地方,再回头翻对应章节,这种“先做后补”的方式比连续看视频有效。
课程目录
1 SpringMVC的概述和第一个Demo案例 (33:12) 2 @RequestMapping注解在类上使用 (07:44) 3 @RequestMapping注解的参数详解上 (10:57) 4 @RequestMapping注解的参数详解中 (13:13) 5 @RequestMapping注解的参数详解下 (26:34) 6 @RequestParam注解的使用方法 (16:39) 7 注解@RequestHeader和@CookieValue (08:53) 8 Controller中的处理方法获取Jsp页面的传值总结 (17:44) 9 SpringMVC模型数据的处理 (34:27) 10 SpringMVC模型数据的处理中 (43:46) 11 SpringMVC模型数据的处理下 (14:03) 12 SpringMVC的视图解析过程详解上 (24:12) 13 SpringMVC的视图解析过程详解下 (23:18) 14 JstlView视图使用fmt标签 (17:51) 15 通过配置实现直接转发和重定向 (10:24) 16 mvc-annotation-driven这个配置标签的意义 (10:02) 17 SpringMVC自定义视图 (43:23) 18 在Controller类的方法里实现重定向 (06:36) 19 REST的肤浅了解 (12:23) 20 SpringMVC实现REST风格的四种请求的方法 (19:35) 21 Spring和SprngMVC和Hibernate的整合 (32:19) 22 案例实现RESTful风格获取所有用户上 (33:22) 23 案例实现RESTful风格获取所有用户中 (12:20) 24 案例实现RESTful风格获取所有用户下 (32:11) 25 案例实现RESTful风格修改一条用户记录上 (41:02) 26 案例实现RESTful风格修改一条用户记录下 (11:12) 27 案例实现RESTful风格新增一条用户记录 (13:41) 28 案例实现RESTful风格删除一条用户记录 (23:05) 29 SpingMVC的数据绑定流程 (14:52) 30 自定义数据类型转换器案例 (24:16) 31 InitBinder注解在绑定数据中的使用 (44:49) 32 JSR303数据有效性验证上 (34:50) 33 JSR303数据有效性验证下 (23:30) 34 SpringMVC实现返回Json格式是数据 (45:05) 35 HttpMessageConverter的选择原理 (29:18) 36 SpringMVC实现文件的上传 (28:55) 37 SpringMVC下载文件 (20:43) 38 SpringMVC的拦截器的用法 (28:00) 39 SpringMVC异常处理技术 (32:21) 40 梳理SpringMVC的请求处理的全过程 (07:52)





