-
2021-03-14 22:40:21
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的网盘, 该项目可用各类java课程设计大作业中, 网盘的系统架构分为前后台两部分, 最终实现在线上进行网盘各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类网盘相关的实体进行管理。
该网盘为一个采用mvc设计模式进行开发B/S架构项目,并采用分层架构对项目进行架构, 分为pojo+action+service, 其中pojo表明该系统的各类数据库表对应的实体, 在对网盘进行详细的需求分析后与数据库设计后, 设计实现了如下模块, 即登录模块,权限管理模块, 用户管理模块,网盘信息管理模块等。并通过java抽象类对其实现
开发环境
java环境: Jdk1.8
Ide: Eclipse EE或者jetbrains Idea
数据库: mysql5.6以上
依赖框架:javascript, css, jsp, servlet, filter
系统需求分析与流程图
一般而言, 此类的javaweb课程设计大作业都比较简单, 主要目的在于掌握基础的web开发知识, 所以在实现该网盘的课程设计的时候, 需要首先收集其他的网盘产品分析, 主要精力用于完成数据库表的设计, 以及基于mvc模式进行代码编写, 页面可以简单的利用bootstrap进行搭建, 进而完成网盘各个模块的开发
数据库课程设计
数据库设计是整个网盘系统能否正常运转的核心, 合理的数据库设计直接影响到网盘是否能够正常运行, 本系统采用mysql数据库作为数据存储, 引擎采用innoddb
系统演示视频
运行截图
基于jsp的网盘-登陆功能界面
基于jsp的网盘-前台首页
基于jsp的网盘-后台信息管理页面
网盘系统架构图
注意事项
该基于jsp的网盘项目自带源码, 论文, sql数据库, 答辩ppt, 中期检查报告
项目首页登陆地址 https://localhost:8080/login.jsp
项目后台陆地址 https://localhost:8080/admin/login.jsp
测试用户 cswork 密码 123456
测试管理员 admin 密码 admin
功能列表
网盘系统登陆模块, 实现网盘系统的登陆注册权限角色用户的增删改查
网盘用户管理模块, 实现网盘系统的信息管理与增删改查
前台信息管理模块, 面向普通用户, 实现普通用户对网盘的录入 修改 删除 自定义查询
超级管理员管理, 实现后台管理员对网盘系统的各个模块管理功能, 各个子模块高内聚低耦合
更多相关内容 -
java 网盘项目实例
2018-11-15 13:10:07课上作业 分享给大家 -
Java项目:网盘系统设计和实现(java+ssm+jpa)
2022-02-08 11:07:19很多同学都有自己的网盘,方便存储一些java学习教程。该毕业设计实现了一个简易的网盘,包含文件上传和文件分享等功能。 后端技术采用了spring,spring mvc,JPA,前端采用了thymeleaf模板语言。整体业务功能相对... -
java网盘项目源代码
2020-09-12 23:31:48java网盘项目的源代码 部署即可运行。 java网盘项目的源代码 部署即可运行。 java网盘项目的源代码 部署即可运行。 java网盘项目的源代码 部署即可运行。 -
java网盘项目源代码全套资料
2022-06-08 17:45:37java网盘项目源代码全套资料 -
Java swing 网盘管理系统
2019-05-09 09:40:48界面是用Java swing编写的,项目开发环境是Windows10,JDK1.8,开发软件eclipse,sqlite数据库,visio,该系统采用C/S结构设计,分为客户端、管理员端、业务服务器端、文件服务器端。用户可以通过客户端进行用户的... -
基于Java的在线网盘项目源码
2022-04-22 10:33:46基于 Java 的在线网盘,支持对接 S3、OneDrive、SharePoint、又拍云、本地存储、FTP 等存储源,支持在线浏览图片、播放音视频,文本文件等文件类型。 项目预览地址:https://zfile.vip 系统特色: 1. 文件夹密码 ... -
基于Java开发的网盘项目.zip
2021-03-05 12:03:45Java网盘项目 -
java经典项目源码百度云.zip
2021-08-27 07:54:22包含JAVA各类资源工具,源码等。 -
Java_Swing:Swing项目
2021-03-17 16:00:30Java_Swing Swing是Java Foundation类(JFC)的一部分,JFC的其他部分是java2D和Abstract window toolkit(AWT)。 AWT,Swing和Java 2D用于在Java中构建图形用户界面(GUI).Swing API用于在AWT顶部构建GUI,并且... -
基于SSM框架的Java电商项目.zip
2021-06-16 15:42:17注意 代码 clone 下来之后有几个 jar 包需要使用 maven 自行导入: ueditor json fastdfs 技术选型 Spring Spring MVC Mybatis redis solr EasyUI UEditor JQuery Freemark activMQ httpClient ...... -
Java web课程设计项目个人网盘系统源代码.zip
2022-06-08 10:39:19Java web课程设计项目个人网盘系统源代码。Java web课程设计项目、Spring MVC、SSM、Vue、Element UI MyFiles个人网盘系统 已完成文件登录、注册、自动登录、邮件验证码、文件上传、文件下载、文件预览、移动、删除... -
和付费网盘说再见,跟着本文自己起个网盘(Java 开源项目)
2020-06-03 08:15:00本文适合有 Java 基础知识的人群,跟着本文可学习和运行 Java 网盘项目。本文作者:HelloGitHub-秦人HelloGitHub 推出的《讲解开源项目》[1]系列。今天给大家...本文适合有 Java 基础知识的人群,跟着本文可学习和运行
Java
网盘项目。本文作者:HelloGitHub-秦人
HelloGitHub 推出的《讲解开源项目》[1]系列。
今天给大家带来一款开源 Java 版网盘项目—— kiftd-source[2],本文将用 3 分钟带大家搭建一个个人网盘,技术便利生活,你值得拥有~
项目地址:https://github.com/KOHGYLW/kiftd-source
一、项目介绍
kiftd 是一款开源、使用简单、功能完整的 Java 网盘/云盘系统。支持在线视频播放、文档在线预览、音乐播放、图片查看等功能的文件云存储平台。
技术栈
JDK 版本:1.8.0_131
项目管理框架:Maven(m2e 1.8.0 for Eclipse)
Archetype:mavem-archetype-quickstart 1.1
Spring Boot:SpringBoot 基于 Spring 开发,旨在提高微服务的开发效率。
MyBatis:一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。
H2 DB:一款开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制。
二、网盘搭建
2.1 Windows 环境运行
2.1.1 下载安装包
直接从官网下载最新的安装包,安装地址:https://kohgylw.gitee.io/
项目比较温馨,支持三种下载方式:Github、阿里云、Gitee 下载。如下图:
2.1.2 检查配置
这里主要检查一下本地
JDK
是否已安装,在命令行窗口执行java -version
查看Java
版本。如下所示表示已安装,就可以进行下一步操作。java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
2.1.3 运行 jar
双击
kiftd-1.0.29-RELEASE.jar
,或者在命令行执行java -jar kiftd-1.0.29-RELEASE.jar
命令都运行可以jar
文件,会弹出安装的界面,如下图:这个界面的这几个按钮说明一下:
开启(Start):运行网盘服务,初次启动的端口默认是
8080
。文件(Files):这个按钮菜单中主要有网盘文件导入,导出,删除,刷新功能。
设置(Setting):设置功能主要可以设置网盘的服务端口,网盘的物理存储路径等信息。
退出(Exit):关闭网盘系统。
点击
开启(Start)
按钮即可运行网盘,这里我设置的端口是8090
,在浏览器访问:localhost:8090
,运行效果如下图:项目是运行了,发现一个问题无法上传文件?因为我们忘了登录这个操作。点击系统
登录按钮
,填入账号和密码即可登录。那么登录密码在哪里呢?这里我直接告诉大家,用户信息在conf/account.properties
,文件内容如下:#<This is the default kiftd account setting file. > #Sun May 10 21:56:28 CST 2020 admin.pwd=000000 #用户名.密码=000000 authOverall=l admin.auth=cudrm
用户名:admin
密码:000000
这样登录之后就可以使用网盘的所有功能了。
2.2 Linux 环境运行
2.2.1 安装 Screen 工具
Screen 工具能够虚拟出一个终端并执行相应的操作。因为本篇所讲的网盘需要一个终端。执行如下命令安装
Screen
:yum install screen
2.2.2
Screen
常用命令screen -S myScreen #创建虚拟终端 java -jar kiftd-1.0.29-RELEASE.jar -console #在虚拟终端中以命令模式启动 kiftd screen -r myScreen #返回之前的虚拟终端并继续操作 kiftd。
2.2.3 命令行操作
在
Linux
环境上使用console
模式启动的效果是这样的:命令行输入
-start
即可运行项目。例如输入-files
控制台显示是这样的:其实和
Windows
上一样,包括文件导入,导出,删除功能,多了几个命令是查看文件,切换目录等功能。三、开发环境运行
3.1 下载项目
两种方式下载项目,使用
GitBash
下载项目:git clone https://github.com/KOHGYLW/kiftd-source.git
另外一种方式直接下载
zip
压缩包,如下图:3.2 运行
打开
kohgylw.kiftd.mc.MC
类,进行测试运行。注意:本文使用Eclipse
工具打开。3.3 阅读代码
3.3.1 前台请求
就以创建目录这个功能为例。我们先看前端功能。点击“操作”->“新建文件夹”,填写文件夹名称,点击保存如下图:
我们知道前台
新建文件夹
功能调用的后台接口是newFolder.ajax
3.3.2 后端接口通过前台请求可知调用的后台接口为
homeController/newFolder.ajax
。打开代码实现,我们会看到下面这个方法。public String newFolder(final HttpServletRequest request) { ... //参数校验的部分代码已省略 Folder f = new Folder(); f.setFolderId(UUID.randomUUID().toString()); f.setFolderName(folderName); f.setFolderCreationDate(ServerTimeUtil.accurateToDay()); if (account != null) { f.setFolderCreator(account); } else { f.setFolderCreator("匿名用户"); } f.setFolderParent(parentId); int i = 0; while (true) { try { // 数据库插入新建文件夹的数据 final int r = this.fm.insertNewFolder(f); if (r > 0) { if (fu.isValidFolder(f)) { this.lu.writeCreateFolderEvent(request, f); return "createFolderSuccess"; } else { return "cannotCreateFolder"; } } break; } catch (Exception e) { f.setFolderId(UUID.randomUUID().toString()); i++; } if (i >= 10) { break; } } return "cannotCreateFolder"; }
四、功能说明
4.1 上传
点击
操作
,可以上传文件和上传文件夹,如下图:将本地需要上传的文件,拖拽网盘页面也可以上传此文件。
4.2 视频/音频播放
上传视频到网盘,网盘也支持在线视频播放,效果如下图:
上传音频,例如我最喜欢
周杰伦
的歌曲,可以在线播放了。
4.3 快捷键使用
网盘还对一些常用功能添加了快捷键。功能和快捷键参照如下:
功能 快捷键 上传文件夹 Shift +U 上传文件 Shift +F 新建文件 Shift +N 复制 Shift +C 剪切 Shift +X 删除 Shift +D 4.4 配置文件修改
配置文件在项目
conf
目录,包括两个配置文件:account.properties
:配置账号信息,权限信息server.properties
:服务器的配置文件,可配置服务器端口,缓冲文件大小等
4.5 在线预览
网盘支持文档
txt
、pdf
、docx
、ppt
在线预览功能,支持图片的在线预览。图片预览效果如下:pdf
文件预览效果如下:4.6 分享下载链接
网盘也考虑文件的分享,它可以生成下载链接,浏览器访问下载链接就可以直接下载文件。选择需要下载的文件,点击
下载
按钮,选择下载链接+
,既可以生成文件下载链接。如下图:五、最后
教程至此已经结束,你自己的网盘跑起来了吗?网盘是不是还不错?而且搭建也特别简单。一些重要的东西就可以存放到自己的网盘啦!说到底,编程语言只是工具,我们只要很好的使用工具,再加上自己天马行空的思想,我想会创造出更多不可思议的项目。
Java
语言为什么经久不衰,因为它能做的事情太多了,而且生态也特别丰富。如果你也有兴趣那就加入Javaer
开发者的大家庭吧!开源分享让我们彼此认识,有了开源项目让我们看到编程语言的绚丽多彩。教程至此,你应该也能快速运行个人网盘了。编程是不是也特别有意思呢?先下载安装包给自己部署一套网盘系统吧。对源码感兴趣的朋友可以开始学习项目源码了~
参考资料
[1]
《讲解开源项目》: https://github.com/HelloGitHub-Team/Article[2]
kiftd-source: https://github.com/KOHGYLW/kiftd-source/关注公众号加入交流群
『讲解开源项目系列』——让对开源项目感兴趣的人不再畏惧、让开源项目的发起者不再孤单。跟着我们的文章,你会发现编程的乐趣、使用和发现参与开源项目如此简单。欢迎联系我(微信:xueweihan,备注:讲解)加入我们,让更多人爱上开源、贡献开源~
“阅读原文”获取更多信息、“在看”让本文被更多人看到、“赞赏”支持我们。
-
Java-web旅游项目实战案例(四个)IDEA项目源码
2020-08-15 19:11:37Java-web旅游项目实战案例(四个)IDEA项目源码; 4 技术选型 4.1 Web层 a) Servlet:前端控制器 b) html:视图 c) Filter:过滤器 d) BeanUtils:数据封装 e) Jackson:json序列化工具 4.2 Service层 f) Javamail:... -
java的类似百度网盘项目
2017-09-17 22:15:49javaweb的类似百度云的小项目,使用servlet+jsp 有注册登录注销功能,注册数据就保存在db.class中,欢迎大家浏览 -
JAVA项目开发案例全程实录(超级高清).PDF
2019-02-28 20:23:54JAVA项目开发案例全程实录 -
极速上手JAVA架构师级项目实战-微服务JAVA商城秒杀系统高级项目实战课程 JAVA项目实战
2022-02-12 09:49:19├─2-1微服务项目的搭建-SpringBoot搭建多模块项目一.mp4 ├─2-2微服务项目的搭建-SpringBoot搭建多模块项目二.mp4 ├─2-3微服务项目的搭建-体验MVC的开发流程.mp4 ├─2-4微服务项目的搭建-秒杀系统整体业务流程... -
JAVA并发编程与高并发解决方案 JAVA高并发项目实战课程
2019-04-01 09:48:53JAVA并发编程与高并发解决方案 JAVA高并发项目实战课程 -
java仿百度网盘项目ssm
2022-01-14 13:48:19ssm -
JAVA医疗建设项目高端项目实战-网盘链接提取码下载 .txt
2022-02-10 15:30:56非常有参考价值的一套JAVA医疗类项目实战课程,之前在医疗医院方面的JAVA开发项目课程不多,同学们可以通过课程的学习提升相关的开发经验并迅速提升自己的项目集成能力,实现医院建设管理全面实战。 视频大小:7G -
java品优购项目实战视频教程
2021-09-18 11:00:24手把手视频详细讲解项目开发全过程,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程介绍: 品优购网上商城是一个综合性的 B2B2C 平台,类似京东商城、天猫商城。网站采用商家入驻的模式,商家入驻平台... -
Java毕业设计项目:丢丢网盘.zip
2022-05-03 20:12:50一款与百度网盘有类似功能类似界面的高效率Java网盘,后端代码精简美观,且有较多的注释,非常适合新手学习。文档采用的是swagger3文档,非常详细的介绍了每个接口的功能,请求参数,返回参数,对前端学习者也非常... -
美和易思Java卓越项目案例库功能说明及需求描述.xlsx
2020-07-09 17:00:14美和易思Java卓越项目案例库功能说明及需求描述,包括图书管理系统,人力资源管理系统 ,物资管理系统 ,管家婆收支管理系统,高校请假系统,医院收费系统,销售管理系统,高校学籍管理系统,公交车调度系统,影院... -
java好客租房项目实战视频教程
2021-09-18 10:49:29手把手视频详细讲解项目开发全过程,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程介绍: 本课程采用SOA架构思想进行设计,基于目前主流后端技术框架SpringBoot、SpringMVC、Mybaits、Dubbo等来实现一... -
SmileDisk项目是使用Java语言进行开发的一个在线网盘系统
2019-08-08 09:41:13Smile Disk项目是使用Java语言进行开发的一个在线网盘系统。在架构时,采用前后端分离的模式,并且将项目的功能模块进行分割,单独切分成后台子工程,能够实现分布式部署 -
Java小型图书管理系统项目(含完整源代码及工具)
2021-06-29 18:19:47Java小型图书管理系统项目(含完整源代码及工具)-附件资源 -
java源码包JSP实例源码JAVA开发源码65个合集.zip
2021-04-24 13:01:51YOYOPlayer 基于Java的网络播放器源代码.rar 一个支持servlet的web服务器.rar 一个较初级的EJB商业应用的例子.rar 一款Java网络格斗游戏源码.rar 业务流程管理(BPM)和工作流系统 Activiti.zip 中国移动业务管理系统...