# 动态web程序设计2401
**Repository Path**: gufl-edu/dwp2401
## Basic Information
- **Project Name**: 动态web程序设计2401
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 0
- **Created**: 2026-02-28
- **Last Updated**: 2026-05-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 动态Web程序设计学习文档
#### 导语
欢迎来到软件工程系的《动态Web程序设计》课程!
与侧重于底层基础的传统Web技术不同,本课程直接对接**当前互联网企业的核心技术栈**。
我们将基于《Spring+Spring MVC+MyBatis+Spring Boot框架整合开发》全新教材,带你从零构建现代化的企业级Web应用。
无论你是为了应对未来的毕业实习,还是希望在简历上增添一个拿得出手的全栈项目,这门课都将是你进阶路上的重要基石。
为了让大家学得轻松、写得爽快,课程会结合生动有趣的案例(如电商购物车、名片管理系统等),并鼓励大家在理解原理的基础上,尝试使用AI辅助工具来提高编码效率。
---
## 课程简介
- 1-8周,每周两次课
- 总共32学时,理论:16,实践:16
- 学分:2.0
- 最终成绩组成:平时成绩(50%)+期末测验(50%)
- 平时成绩评定:课堂表现(20%)+作业(30%)+项目实战或测验(50%)
- 期末考试形式1:开卷机试,要求在限定时间内完成一个小型的Web应用开发任务。
- 期末考试形式2:小组形式完成一个基于Spring Boot的完整项目,包含前后端交互和数据库操作,并进行现场演示和答辩。
> 课程思维导图:
>
## 一、 开发环境配置与起航
> “工欲善其事,必先利其器。” 第一堂课我们将从搭建一套专业的开发环境开始。
* **环境搭建教程**:[README_ENV.md](ENV.md) (包含 JDK 17+, IntelliJ IDEA, Maven, MySQL 8.0 的安装与配置)
* **必备生产力工具箱**:
* [IntelliJ IDEA 官方下载](https://www.google.com/search?q=https://www.jetbrains.com/idea/download/)(推荐Ultimate旗舰版,对Spring Boot支持更完美)
* 数据库可视化管理工具:
* [Navicat](https://www.navicat.com.cn/download/navicat-premium-lite)
* [MySQL Workbench](https://dev.mysql.com/downloads/workbench/) 官方出品,免费且功能强大
* 接口测试工具:
* [Postman](https://web.postman.com/downloads/) 全球开发者的接口测试标配
* [API Fox](https://www.apifox.cn/download) 国内开发者的接口测试新宠
---
## 二、 课程知识脉络与学习计划
本课程共计 **16次课**(包含期中、期末2次测验),核心教学内容分为 **14讲**。
每次课都包含核心原理解析、企业级代码演示以及课后巩固闯关。
### 第一阶段:基石筑基 (核心框架原理)
这一阶段我们将掌握Spring的“灵魂”,理解现代JavaWeb是如何解耦和运转的。
#### **[第一讲:开宗明义——开发环境构建与Spring初探](lessons/lesson01/README.md)**
* *要点*:课程背景介绍、IDEA环境配置、Maven包管理入门、跑通第一个Spring/Spring Boot Demo。
* *练习*:完成本地环境搭建,并成功输出 "Hello, Spring!"。
#### **[第二讲:把控制权交出去——Spring IoC与依赖注入](lessons/lesson02/README.md)**
* *要点*:IoC容器概念、Bean的生命周期、基于注解(`@Component`, `@Autowired`)的依赖注入。
* *练习*:不使用 `new` 关键字,利用IoC容器组装一个“汽车制造”或“奶茶订单”的小程序。
#### **[第三讲:无痛增强代码——Spring AOP与动态代理](lessons/lesson03/README.md)**
* *要点*:面向切面编程思想、JDK与CGLIB动态代理、基于注解开发AspectJ。
* *练习*:为你的系统悄悄加上“操作日志记录”功能,而不修改原有业务代码。
### 第二阶段:Web通信与数据流转 (Spring MVC + MyBatis)
彻底告别繁琐的Servlet,学习如何优雅地接收前端请求并与数据库打交道。
#### **[第四讲:优雅的请求分发——Spring MVC初体验](lessons/lesson04/README.md)**
* *要点*:MVC设计模式、`DispatcherServlet`工作原理、`@Controller`与`@RequestMapping`。
* *练习*:编写一个简易的“天气查询”接口,接收城市参数并返回结果。
#### **[第五讲:前后端对话——数据绑定与JSON交互](lessons/lesson05/README.md)**
* *要点*:各种参数类型的接收(实体Bean、URL参数等)、Restful风格、`@ResponseBody`与JSON转换。
* *练习*:实现一个用户注册接口,接收前端提交的JSON表单数据并进行格式化打印。
#### **[第六讲:坚固的城墙——拦截器与全局异常处理](lessons/lesson06/README.md)**
* *要点*:拦截器的执行流程、用户登录权限验证案例、`@ControllerAdvice`统一异常处理。
* *练习*:为系统添加VIP鉴权拦截器,并友善地处理并返回所有的空指针/数学运算异常。
#### **[第七讲:告别硬编码——MyBatis持久层框架入门](lessons/lesson07/README.md)**
* *要点*:MyBatis工作原理、核心配置、Mapper接口开发模式、基础的CRUD操作。
* *练习*:建一张“图书表”,使用MyBatis完成对图书的增删改查。
#### **[第八讲:智能的SQL——MyBatis动态SQL与级联查询](lessons/lesson08/README.md)**
* *要点*:``、``等动态标签、一对多/多对多级联查询、缓存机制简介。
* *练习*:实现一个带有多个可选筛选条件(价格区间、分类、名称模糊匹配)的商品高级搜索功能。
#### **[前八章综合演练:炫酷的前端实战大屏](lessons/lesson08/WALL.md)**
* *要点*:前端页面与后端接口的联调、跨域问题解决、数据动态渲染。
* *练习*:使用之前写的接口,开发一个炫酷的“二手市场”前端页面,展示商品列表并实现搜索功能。
### 第三阶段:起飞!Spring Boot 极速开发
摒弃繁琐的XML配置,拥抱“约定大于配置”的现代开发模式。
#### **[第九讲:化繁为简——Spring Boot核心特性解析](lessons/lesson09/README.md)**
* *要点*:Starters机制、`application.yml`全局配置、自动配置原理(底层源码浅析)。
* *练习*:将之前的SSM工程重构为纯Spring Boot工程,体验“零XML”的快感。
#### **[第十讲:让页面动起来——Thymeleaf模板引擎](lessons/lesson10/README.md)**
* *要点*:Thymeleaf基础语法、数据渲染、结合BootStrap实现响应式页面。
* *练习*:开发一个动态的“教务新闻公告列表”页面。
#### **[第十一讲:言出法随——AI 结对编程与 Vibe Coding 全栈实战](lessons/lesson11/README.md)**
* *要点*:AI 辅助开发工具介绍(如 CC GUI 插件)、高效的 Prompt 设计技巧、代码审查与合并流程。
* *练习*:使用 AI 辅助工具,快速生成一个“校园寻物悬赏大厅”的完整功能(包含前后端代码),并进行人工审查和调试。
### 第四阶段:真刀真枪搞项目 (综合实践)
融合所学,团队协作或独立完成一个具备商业雏形的系统,为实习和毕业设计打下坚实基础。
#### **[期末综合实验_校园失物招领管理系统.md](Tests/%E5%8A%A8%E6%80%81Web%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1_%E6%9C%9F%E6%9C%AB%E7%BB%BC%E5%90%88%E5%AE%9E%E9%AA%8C_%E6%A0%A1%E5%9B%AD%E5%A4%B1%E7%89%A9%E6%8B%9B%E9%A2%86%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F.md)**
* *要点*:根据文档完成项目搭建和实验报告的编写
- 实验报告填写在教学辅助系统的 “《动态 Web 程序设计》期末综合实验验收:校园失物招领管理系统” 板块
---
## 三、 拓展武器库
在开发过程中,除了写代码,如何管理代码和提升效率同样重要。
### 1. 代码版本控制 (Git)
团队协作的核心技能,企业开发的必备素养。
* [Git 基础命令速查与 Gitee 推送指南](https://www.google.com/search?q=GIT.md)
* [推荐教程:廖雪峰的 Git 教程](https://www.liaoxuefeng.com/wiki/896043488029600)
### 2. 拥抱 AI 辅助开发
在当前的开发环境下,学会让大语言模型(如通义千问、文心一言或内置的代码助手)成为你的“结对编程”伙伴。
* **推荐尝试**:在编写复杂的 SQL、正则表达式,或者遇到了难以排查的报错提示时,尝试向 AI 提问并分析它的回答,这会极大加速你的Debug过程。
---
**老师的寄语:**
编程不仅是一门工程科学,更是一门手艺。看懂代码和写出代码之间,隔着无数次报错与重构。请务必多敲键盘,多看报错日志。祝大家在这门课中满载而归,学习愉快!如果需要老师随时帮忙解决BUG,准备好你的报错截图来找我吧!