# 基于 Hadoop 的前后端分离网络云盘项目 **Repository Path**: suwenhua/project ## Basic Information - **Project Name**: 基于 Hadoop 的前后端分离网络云盘项目 - **Description**: 这是一个用于个人学习的开源项目,没有什么高尚的言语,只有眼前的知识。愿每位浏览者都能从中有所收获。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-01-15 - **Last Updated**: 2025-03-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于 Hadoop 的前后端分离网络云盘项目 #### 项目介绍 本网络云盘项目基于 Hadoop、Vue、Spring Boot 和 MySQL 构建。前端使用 Vue 框架提供友好的用户界面,方便用户进行文件的上传、下载、删除等操作;后端采用 Spring Boot 搭建 RESTful API 服务,处理业务逻辑;MySQL 用于存储用户信息、文件元数据等;Hadoop 的 HDFS 则作为分布式文件系统,用于存储大量的文件数据。 这是一个用于个人学习的开源项目,没有什么高尚激情的言语,只有默默掉头发的技术人。愿每位浏览者都能从中有所收获。 #### 技术选型 前端 - Vue.js:轻量级的 JavaScript 框架,具有响应式数据绑定和组件化开发的特性,能够快速构建用户界面。 - Vue Router:实现单页面应用的路由管理,提供流畅的页面切换体验。 - Axios:基于 Promise 的 HTTP 客户端,用于与后端进行数据交互。 后端 - Spring Boot:简化 Spring 应用的开发过程,提供嵌入式服务器,快速搭建 RESTful API 服务。 - MyBatis:优秀的持久层框架,支持自定义 SQL 查询,提高数据库操作的灵活性。 数据库 - MySQL:开源的关系型数据库,具有高性能、稳定性和易用性,用于存储用户信息和文件元数据。 分布式存储 - Hadoop HDFS:分布式文件系统,能够存储大规模数据,提供高可靠性和高扩展性。 #### 开发工具 1. IDEA IDEA:IntelliJ IDEA是一款由JetBrains公司开发的Java开发工具,支持Java、Scala、Kotlin等编程语言,具有智能化、快速跳转、集成开发环境、代码增量重构、代码完成等多种功能。它还支持许多版本控制系统,如Git、SVN和Mercurial。 2. Visual Studio Code VS Code:Visual Studio Code,简称VS Code,是一个轻量级的代码编辑器,由微软开发并开源。它支持多种编程语言,例如C、C++、JavaScript、TypeScript、Python等,拥有丰富的扩展库,可以定制化编辑器界面和功能,提升开发效率。 3. Navicat 15 for MySQL Navicat 15 for MySQL:Navicat是一款可视化的数据库管理工具,它支持多种数据库,如MySQL、Oracle、SQL Server等。Navicat 15 for MySQL是专门用于MySQL数据库的版本,它提供了简单易用的GUI界面,使用户能够通过可视化方式管理MySQL数据库,支持数据同步、备份、导入、导出等操作。 #### 部分功能介绍 前端功能 - 用户登录和注册:提供用户登录和注册页面,使用 axios 将用户输入的信息发送到后端进行验证和保存。 - 文件列表展示:从后端获取用户的文件列表,并在页面上展示。 - 文件上传和下载:使用 HTML5 的input元素实现文件上传功能,通过 axios 将文件发送到后端;提供文件下载链接,点击链接时调用后端的下载接口。 - 文件删除:点击文件的删除按钮,向后端发送删除请求,删除文件的元数据和实际文件。 后端功能 - 用户认证和授权:使用 Spring Security 实现用户的认证和授权,确保只有登录用户才能访问云盘功能。 - 文件上传:接收前端上传的文件,将文件保存到 HDFS 中,并将文件的元数据保存到 MySQL 数据库中。 - 文件下载:根据前端传递的文件 ID,从 HDFS 中读取文件,并将文件流返回给前端。 - 文件删除:根据前端传递的文件 ID,从 MySQL 数据库中删除文件的元数据,并从 HDFS 中删除实际文件。 #### 项目展示 ![输入图片说明](vue_disk/2.jpg) ![输入图片说明](vue_disk/Picture1.jpg) ![输入图片说明](vue_disk/3.jpg) ### 总结 通过本次项目,不仅在技术栈上实现全面提升,更在项目管理、团队协作、问题解决等综合能力方面取得长足进步。深刻理解了软件开发全生命周期流程,培养了严谨的编程习惯与良好的代码质量意识。同时,在面对复杂项目挑战时,学会了主动学习、积极探索,不断拓宽技术视野与解决问题的思路。​ 在未来的工作与学习中,我将继续巩固在本项目中积累的经验,不断提升自身技术能力与综合素质,为参与更具挑战性的项目做好充分准备。同时也希望看到这个项目的朋友们不忘初心,砥砺前行,有所进步。 代码仅用于个人学习,盗取发表盈利必究!!! #### 特技 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/)