This commit is contained in:
2025-09-09 10:33:01 +08:00
parent 376a806051
commit bd1e9832c8
7 changed files with 373 additions and 0 deletions

3
javaweb-2025/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
.idea/
build/
.gradle/

39
javaweb-2025/README.md Normal file
View File

@ -0,0 +1,39 @@
# javaweb-2025
#### 介绍
{**以下是 Gitee 平台说明,您可以替换此简介**
Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN。专为开发者提供稳定、高效、安全的云端软件开发协作平台
无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

View File

@ -0,0 +1,174 @@
## 1. 概述
### 1.1 Web开发的基本概念 (了解)
#### 1.1.1 什么是Web应用
> Web应用是基于 Web 技术开发的应用程序用户可以通过浏览器访问和使用而无需下载和安装应用。Web应用可以在不同的设备和平台上运行无需针对不同的操作系统进行开发和维护具有较好的跨平台性。
#### 1.1.2 Web应用的优点
- **跨平台兼容性好:** Web应用可以在不同的设备和平台上运行无需针对不同的操作系统进行开发和维护具有较好的跨平台兼容性。
- **开发成本低:** Web应用的开发成本相对较低因为无需针对不同的操作系统进行开发和维护可以使用 Web 技术进行开发。
- **维护成本低:** Web应用的维护成本相对较低因为可以在服务器端进行维护和更新无需对每个设备进行更新。
- **更新和发布灵活:** Web应用的更新和发布较为灵活可以通过 Web 服务器进行发布和更新,无需通过应用商店进行审核和等待。
- **无需下载和安装:** Web应用可以通过浏览器直接访问和使用无需下载和安装使用较为方便。
- **易于扩展和集成:** Web应用可以轻松地集成和扩展各种 Web 服务和 API例如社交网络、在线支付、地图服务等。
#### 1.1.3 Web应用的缺点
- **性能和用户体验相对较差:** Web应用受限于浏览器的性能和功能因此性能和用户体验相对较差特别是在移动设备上。
- **依赖网络连接:** Web应用需要依赖网络连接进行访问和使用如果网络连接不稳定或者断开用户无法继续使用应用程序。
- **难以实现离线体验:** Web应用难以实现离线体验因为需要依赖网络连接进行访问和使用。
- **安全性和隐私保护问题:** Web应用可能存在安全性和隐私保护问题因为需要使用网络进行数据传输和处理。
- **受限于浏览器:** Web应用受限于浏览器的功能和规范因此开发者需要考虑浏览器的兼容性和规范。
#### 1.1.4 web应用工作流
![](./resources/web-flow.png)
### 1.2 Web开发技术发展历史及趋势
#### 1.2.1 Web技术发展历程
- **参考资料:**
- [五分钟了解互联网Web技术发展史](https://cloud.tencent.com/developer/article/1808394)
- [Web开发技术发展历史](https://www.cnblogs.com/datapool/p/6218105.html)
#### 1.2.2 当前Web应用开发的主要技术栈
- **前端技术栈:**
- **HTML5** 提供了更丰富和语义化的标记,增强了多媒体支持。
- **CSS3** 支持更复杂的样式和动画效果,提高网页美观度。
- **JavaScript** 用于增加交互性和动态功能。
- **TypeScript** JavaScript的超集提供了静态类型检查和面向对象编程特性有助于构建大型应用程序。
- **前端构建工具:** 如Webpack、Gulp等用于自动化前端开发流程包括编译、压缩、测试等。
- **前端框架/库:** React、Vue 和 Angular 是最流行的框架,它们提供了一套完整的解决方案来构建用户界面。
- **后端技术栈:**
- **Java** 广泛应用于企业级应用开发Spring Boot 和 Spring Cloud 是流行的微服务架构框架。
- **Python** 常用于数据处理和科学计算领域Django 和 Flask 是常用的Web框架。
- **Node.js** 用于构建高性能的实时应用Express 是一个流行的服务器框架。
- **.Net** Microsoft的.NET Framework 和 .NET Core 提供了一个强大的平台来构建高性能Web应用和服务。
- **RESTful API设计** 提供了一种标准的方式来设计和实现API。
- **数据库技术:**
- **关系型数据库:** 如MySQL、PostgreSQL等适用于复杂查询和事务处理。
- **NoSQL数据库** 如MongoDB、Redis等适用于大数据量和高并发场景。
- **云数据库服务:** 如Amazon RDS、Google Cloud SQL等提供托管式的数据库服务。
- **工具及服务软件:**
- **服务器:** 例如 Apache、Nginx、Tomcat 等。
- **代码编辑器:** 例如 IntelliJ IDEA、Eclipse、VS Code 等。
- **调试工具:** 例如 Chrome DevTools、Firebug 等。
- **版本控制工具:** 例如 Git、SVN 等。
### 1.3 什么是Java Web开发(了解)
> Java Web开发是指使用Java语言来构建和维护可以在Web浏览器上运行的应用程序的过程。这些应用程序通常由服务器端组件和客户端组件组成服务器端负责处理业务逻辑并提供数据给客户端而客户端则负责显示数据并允许用户与之交互。
- **Java Web开发的主要技术**
- **服务器端技术:** 包括Servlets、JSP (Java Server Pages)、JavaBeans、EJB (Enterprise JavaBeans)、Spring框架等。
- **客户端技术:** 主要是HTML、CSS和JavaScript用于构建用户界面; 前端框架如Angular、React、Vue.js等。
- **中间件:** 如Servlet容器例如Tomcat、应用服务器例如WildFly、GlassFish等。
- **数据库技术:** 用于存储和检索数据包括关系型数据库如MySQL、PostgreSQL和NoSQL数据库如MongoDB、Redis等。
- **Java Web应用的特点和优势**
- **可移植性:** Java Web应用可以轻松地在不同的操作系统上运行无需修改源代码。
- **平台无关性:** Java Web应用可以通过Java虚拟机JVM在任何支持Java的平台上运行。
- **安全性:** Java提供了强大的安全模型包括沙箱机制、权限管理和加密支持。
- **强大的生态系统:** Java拥有庞大的开发者社区和丰富的开源库这使得开发高质量的Web应用更加容易。
### 1.4 开发环境搭建 (掌握)
#### 1.4.1 IntelliJ IDEA
- **IntelliJ IDEA的安装与配置(以下使IntelliJ IDEA 2025.1.4.1 (Community Edition))**
- 下载IntelliJ IDEA Community Edition
- 安装并设置JDK路径。
- 配置IDEA设置如字体、颜色主题等。
- **创建Java目**
- 使用New Project向导选择Java模板。
- 设置项目名称、位置和模块结构。
- 确认生成项目
#### 1.4.2 Git/Gitee/Github的使用(重点掌握)
> 参考 [git(ppt)](./resources/javaweb%20-week-01-git.pptx)
>
> 更多参考 [菜鸟教程](https://www.runoob.com/git/git-tutorial.html)
![git flow](./resources/git_flow.png)
- **版本控制的概念**
- 版本控制系统是一种记录文件和目录更改的软件,以便可以恢复旧版本。
- **Git的基本命令**
- `git init`: 初始化一个新的本地仓库。
- `git clone`: 克隆一个远程仓库。
- `git add`: 将文件添加到暂存区。
- `git commit`: 提交更改到仓库。
- `git push`: 将本地更改推送到远程仓库。
- `git pull`: 从远程仓库拉取更改。
- **Gitee/Github账号注册与仓库创建**
- 注册账号并创建一个新的仓库。
- 设置仓库的描述、许可证和README文件。
- **git基本操作练习**
#### 1.4.3 Markdown的使用掌握
> 参考
> [Markdown语法](https://www.markdownguide.org/basic-syntax/)
> [Markdown 基本语法(中文)](https://markdown.com.cn/basic-syntax/)
- **Markdown语法简介**
- Markdown是一种轻量级的标记语言用于编写易于阅读的纯文本格式文档。
- 基本语法包括标题、列表、链接、图像等。
- **使用Markdown编辑器**
- 推荐使用IntelliJ IDEA、VS Code、Typora等编辑器。
- 集成实时预览功能方便查看Markdown文档的效果。
- **文档编写与格式化**
- 撰写清晰、简洁的文档,使用合适的标题层次结构。
- 插入代码片段、表格和其他元素以增强文档的可读性。
### 1.4 项目开发流程简单介绍(了解)
- **需求分析与设计**
- **用户需求调研**
- 与客户沟通明确项目目标。
- 收集用户故事和用例。
- **功能需求分析**
- 分析用户故事,确定功能需求。
- 列出关键特性和功能。
- **架构设计与技术选型**
- 设计系统的整体架构。
- 选择合适的技术栈和技术方案。
- **编码与调试**
- **代码编写规范**
- 遵循一致的命名规则和代码风格。
- 使用适当的注释。
- **单元测试与集成测试**
- 编写单元测试以验证函数的正确性。
- 执行集成测试以确保不同组件之间协同工作。
- **调试技巧**
- 使用断点和日志输出进行调试。
- 利用IDE的调试工具。
- **测试与发布**
- **自动化测试工具**
- 使用JUnit、TestNG等框架进行单元测试。
- 使用Selenium进行UI自动化测试。
- **部署流程**
- 使用持续集成/持续部署CI/CD工具如Jenkins、GitLab CI/CD。
- 配置自动构建、测试和部署管道。
- **监控与性能优化**
- 使用工具如Prometheus、Grafana监控系统性能。
- 根据监控数据调整系统配置。
- **维护与升级**
- **软件维护周期**
- 定期检查和修复已知问题。
- 实施新功能和改进。
- **版本管理与发布策略**
- 使用语义版本控制。
- 制定明确的发布计划和时间表。
- **用户反馈与迭代改进**
- 收集用户反馈,评估用户体验。
- 根据反馈进行迭代改进。
参考:
[敏捷开发入门教程](https://www.ruanyifeng.com/blog/2019/03/agile-development.html)
[敏捷开发方法的6大模型从理论到实践的完美指南](https://segmentfault.com/a/1190000046016081)

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,157 @@
# 第一章. 概述 90分钟
## 任务1Git/Gitee/Github的使用 (45分钟)
- **目标**掌握基本的Git命令和Gitee/Github的使用。
- **步骤**
### **步骤 1在 Windows 中安装 Git**
1. 访问 Git 官网:[https://git-scm.com/download/win](https://git-scm.com/download/win)
2. 下载并运行安装程序。
3. 安装过程中保持默认选项即可
### **步骤 2注册 Gitee账号**
- 访问 [https://gitee.com](https://gitee.com) 注册账号。
### **步骤 3在 Gitee 创建一个新的仓库**
1. 登录账号后,“新建仓库”。
2. 设置如下:
- 仓库名称:`test`
- 设置为 **私有仓库**
- 单分支(`master`
- 项目语言:选择 **Java**
- 勾选 **添加 .gitignore 文件**
- 勾选 **添加 README.md 文件**
### **步骤 4克隆远程仓库到本地**
打开 Git Bash 或 powershell执行以下命令以 Gitee 为例):
假设在本机自己使用的目录为: d:\javaweb
```bash
cd javaweb
git clone https://gitee.com/你的用户名/test.git
```
克隆成功后,进入项目目录:
```bash
cd test
```
### **步骤 5在test目录下创建目录和文件**
在windows的文件管理器中建目录 tasks
进入到tasks目录新建文件 chapter01-tasks.md
将本文件的内容拷贝到新建文件chapter01-tasks.md
### **步骤 6添加文件并推送到远程仓库**
```bash
git add .
git commit -m "添加 chapter01.md 文件"
git push origin master
```
在gitee网站自己的远程仓库查看是否有新添加的文件和目录
### **步骤 7修改 README.md 文件**
使用记事本或其他编辑器打开 `README.md`,添加内容,例如:
```markdown
# 项目简介
这是一个用于练习 Git 的 Java 项目。
```
### **步骤 8提交并推送修改**
```bash
git add README.md
git commit -m "更新 README.md"
git push origin master
```
### **步骤 9查看提交记录**
```bash
git log
```
## 任务2IntelliJ IDEA的Git基本使用 20分钟)
> **目标**熟悉IntelliJ IDEA的安装过程和基本配置以及idea中git操作。
**步骤**
1. 下载IntelliJ IDEA Community Edition。
2. 安装IDEA。
3. 配置IDEA设置如字体、颜色主题等。
4. 打开任务1的项目
5. 编辑README.md文件添加一些内容。
6. 使用idea的git菜单将本地修改推送到远程仓库。
7. 在idea中close 项目。
8. 在文件浏览器中删除项目文件夹。
9. 在IDEA中 FILE-->NEW --> PROJECT --> Project from Version Control从远程仓库重新clone项目到本地
10. 在idea中使用git菜单完成git的基本操作。
## 任务3Markdown的使用 (20分钟)
- **目标**熟悉Markdown的基本语法。
- **步骤**
1. 在任务2基础上继续操作在idea中编辑chapter01.md。
2. 将本文件的内容全部拷贝到chapter01.md。
3. 编辑自己项目中的README.md文件使用markdown的基本语法添加一些内容。
4. 在idea中使用git提交自己的所有修改到自己的远程仓库。
## 增强任务4 设置ssh方式免密访问gitee仓库
在本机打开powershell 输入:
```bash
ssh-keygen
```
一直回车即可。
在c盘用户目录下打开对应用户名的目录找到 .ssh目录进入找到文件id_rsa.pub使用记事本打开此文件并复制文件内所有内容。
进入到gitee网站 登陆后,点击右上角用户头像,选择 账号设置->ssh公钥 在 添加公钥 公钥中,将复制的内容拷贝过去,点击确定。
设置好ssh公钥后在本机clone 远程库的时候复制ssh的地址 git@gitee.com:你的账号/test.git
```bash
git clone git@gitee.com:你的账号/test.git
```
后续在本地仓库进行git 操作时候,不再询问账号和密码
## 增强任务5 使用自建git服务器创建仓库
服务器地址:[http://118.25.95.99:8030/](http://118.25.95.99:8030/)
对于自建仓库的ssh地址网页上显示如 `git@118.25.95.99:whz/test-mi.git`
需要修改为如下形式: `ssh://git@118.25.95.99:8022/whz/test-mi.git`
再使用git clone命令:
```shell
git clone ssh://git@118.25.95.99:8022/whz/test-mi.git
```