最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何搭建一個(gè)個(gè)人網(wǎng)盤

 更新時(shí)間:2021年04月23日 15:34:42   作者:削微寒  
這篇文章主要介紹了Java如何搭建一個(gè)個(gè)人網(wǎng)盤,對(duì)網(wǎng)盤感興趣的讀者,可以參考一下

前言

本文適合有 Java 基礎(chǔ)知識(shí)的人群,跟著本文可學(xué)習(xí)和運(yùn)行 Java 網(wǎng)盤項(xiàng)目。

今天給大家?guī)硪豢铋_源 Java 版網(wǎng)盤項(xiàng)目—— kiftd-source,本文將用 3 分鐘帶大家搭建一個(gè)個(gè)人網(wǎng)盤,技術(shù)便利生活,你值得擁有~

項(xiàng)目地址:https://github.com/KOHGYLW/kiftd-source

一、項(xiàng)目介紹

kiftd 是一款開源、使用簡(jiǎn)單、功能完整的 Java 網(wǎng)盤/云盤系統(tǒng)。支持在線視頻播放、文檔在線預(yù)覽、音樂播放、圖片查看等功能的文件云存儲(chǔ)平臺(tái)。

技術(shù)棧

  • JDK 版本:1.8.0_131
  • 項(xiàng)目管理框架:Maven(m2e 1.8.0 for Eclipse)
  • Archetype:mavem-archetype-quickstart 1.1
  • Spring Boot:SpringBoot 基于 Spring 開發(fā),旨在提高微服務(wù)的開發(fā)效率。
  • MyBatis:一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過程以及高級(jí)映射。
  • H2 DB:一款開源的嵌入式數(shù)據(jù)庫引擎,采用 Java 語言編寫,不受平臺(tái)的限制。

二、網(wǎng)盤搭建

2.1 Windows 環(huán)境運(yùn)行

2.1.1 下載安裝包

直接從官網(wǎng)下載最新的安裝包,安裝地址:https://kohgylw.gitee.io/

項(xiàng)目比較溫馨,支持三種下載方式:Github、阿里云、Gitee 下載。如下圖:

2.1.2 檢查配置

這里主要檢查一下本地 JDK 是否已安裝,在命令行窗口執(zhí)行 java -version 查看 Java 版本。如下所示表示已安裝,就可以進(jìn)行下一步操作。

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 運(yùn)行 jar

雙擊 kiftd-1.0.29-RELEASE.jar,或者在命令行執(zhí)行 java -jar kiftd-1.0.29-RELEASE.jar 命令都運(yùn)行可以jar 文件,會(huì)彈出安裝的界面,如下圖:

這個(gè)界面的這幾個(gè)按鈕說明一下:

  • 開啟(Start):運(yùn)行網(wǎng)盤服務(wù),初次啟動(dòng)的端口默認(rèn)是 8080。
  • 文件(Files):這個(gè)按鈕菜單中主要有網(wǎng)盤文件導(dǎo)入,導(dǎo)出,刪除,刷新功能。
  • 設(shè)置(Setting):設(shè)置功能主要可以設(shè)置網(wǎng)盤的服務(wù)端口,網(wǎng)盤的物理存儲(chǔ)路徑等信息。
  • 退出(Exit):關(guān)閉網(wǎng)盤系統(tǒng)。

點(diǎn)擊 開啟(Start) 按鈕即可運(yùn)行網(wǎng)盤,這里我設(shè)置的端口是 8090,在瀏覽器訪問: localhost:8090,運(yùn)行效果如下圖:

項(xiàng)目是運(yùn)行了,發(fā)現(xiàn)一個(gè)問題無法上傳文件?因?yàn)槲覀兺说卿涍@個(gè)操作。點(diǎn)擊系統(tǒng) 登錄按鈕,填入賬號(hào)和密碼即可登錄。那么登錄密碼在哪里呢?這里我直接告訴大家,用戶信息在 conf/account.properties,文件內(nèi)容如下:

#<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

這樣登錄之后就可以使用網(wǎng)盤的所有功能了。

2.2 Linux 環(huán)境運(yùn)行

2.2.1 安裝 Screen 工具

Screen 工具能夠虛擬出一個(gè)終端并執(zhí)行相應(yīng)的操作。因?yàn)楸酒v的網(wǎng)盤需要一個(gè)終端。執(zhí)行如下命令安裝 Screen:

yum install screen

2.2.2 Screen 常用命令

screen -S myScreen #創(chuàng)建虛擬終端

java -jar kiftd-1.0.29-RELEASE.jar -console #在虛擬終端中以命令模式啟動(dòng) kiftd

screen -r myScreen #返回之前的虛擬終端并繼續(xù)操作 kiftd。

2.2.3 命令行操作

在 Linux 環(huán)境上使用 console 模式啟動(dòng)的效果是這樣的:

命令行輸入 -start 即可運(yùn)行項(xiàng)目。例如輸入 -files 控制臺(tái)顯示是這樣的:

其實(shí)和 Windows 上一樣,包括文件導(dǎo)入,導(dǎo)出,刪除功能,多了幾個(gè)命令是查看文件,切換目錄等功能。

三、開發(fā)環(huán)境運(yùn)行

3.1 下載項(xiàng)目

兩種方式下載項(xiàng)目,使用 GitBash 下載項(xiàng)目:

git clone https://github.com/KOHGYLW/kiftd-source.git

另外一種方式直接下載 zip 壓縮包,如下圖:

3.2 運(yùn)行

打開 kohgylw.kiftd.mc.MC 類,進(jìn)行測(cè)試運(yùn)行。注意:本文使用 Eclipse 工具打開。

3.3 閱讀代碼

3.3.1 前臺(tái)請(qǐng)求

就以創(chuàng)建目錄這個(gè)功能為例。我們先看前端功能。點(diǎn)擊“操作”->“新建文件夾”,填寫文件夾名稱,點(diǎn)擊保存如下圖:

我們知道前臺(tái) 新建文件夾 功能調(diào)用的后臺(tái)接口是 newFolder.ajax

3.3.2 后端接口

通過前臺(tái)請(qǐng)求可知調(diào)用的后臺(tái)接口為 homeController/newFolder.ajax。打開代碼實(shí)現(xiàn),我們會(huì)看到下面這個(gè)方法。

public String newFolder(final HttpServletRequest request) {
    ...
    //參數(shù)校驗(yàn)的部分代碼已省略
	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 {
            // 數(shù)據(jù)庫插入新建文件夾的數(shù)據(jù)
			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 上傳

點(diǎn)擊 操作,可以上傳文件和上傳文件夾,如下圖:

將本地需要上傳的文件,拖拽網(wǎng)盤頁面也可以上傳此文件。

4.2 視頻/音頻播放

上傳視頻到網(wǎng)盤,網(wǎng)盤也支持在線視頻播放,效果如下圖:

上傳音頻,例如我最喜歡 周杰倫 的歌曲,可以在線播放了。

4.3 快捷鍵使用

網(wǎng)盤還對(duì)一些常用功能添加了快捷鍵。功能和快捷鍵參照如下:

功能 快捷鍵
上傳文件夾 Shift +U
上傳文件 Shift +F
新建文件 Shift +N
復(fù)制 Shift +C
剪切 Shift +X
刪除 Shift +D

4.4 配置文件修改

配置文件在項(xiàng)目 conf 目錄,包括兩個(gè)配置文件:

  • account.properties:配置賬號(hào)信息,權(quán)限信息
  • server.properties:服務(wù)器的配置文件,可配置服務(wù)器端口,緩沖文件大小等

4.5 在線預(yù)覽

網(wǎng)盤支持文檔 txt、pdf、docx、ppt 在線預(yù)覽功能,支持圖片的在線預(yù)覽。圖片預(yù)覽效果如下:

pdf 文件預(yù)覽效果如下:

4.6 分享下載鏈接

網(wǎng)盤也考慮文件的分享,它可以生成下載鏈接,瀏覽器訪問下載鏈接就可以直接下載文件。選擇需要下載的文件,點(diǎn)擊 下載 按鈕,選擇 下載鏈接+,既可以生成文件下載鏈接。如下圖:

五、最后

教程至此已經(jīng)結(jié)束,你自己的網(wǎng)盤跑起來了嗎?網(wǎng)盤是不是還不錯(cuò)?而且搭建也特別簡(jiǎn)單。一些重要的東西就可以存放到自己的網(wǎng)盤啦!說到底,編程語言只是工具,我們只要很好的使用工具,再加上自己天馬行空的思想,我想會(huì)創(chuàng)造出更多不可思議的項(xiàng)目。

Java 語言為什么經(jīng)久不衰,因?yàn)樗茏龅氖虑樘嗔?,而且生態(tài)也特別豐富。如果你也有興趣那就加入 Javaer 開發(fā)者的大家庭吧!開源分享讓我們彼此認(rèn)識(shí),有了開源項(xiàng)目讓我們看到編程語言的絢麗多彩。

教程至此,你應(yīng)該也能快速運(yùn)行個(gè)人網(wǎng)盤了。編程是不是也特別有意思呢?先下載安裝包給自己部署一套網(wǎng)盤系統(tǒng)吧。對(duì)源碼感興趣的朋友可以開始學(xué)習(xí)項(xiàng)目源碼了~

以上就是Java如何搭建一個(gè)個(gè)人網(wǎng)盤的詳細(xì)內(nèi)容,更多關(guān)于Java搭建網(wǎng)盤的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring常用注解及http數(shù)據(jù)轉(zhuǎn)換教程

    Spring常用注解及http數(shù)據(jù)轉(zhuǎn)換教程

    這篇文章主要為大家介紹了Spring常用注解及http數(shù)據(jù)轉(zhuǎn)換原理以及接收復(fù)雜嵌套對(duì)象參數(shù)與Http數(shù)據(jù)轉(zhuǎn)換的原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Spring AOP的概念與實(shí)現(xiàn)過程詳解

    Spring AOP的概念與實(shí)現(xiàn)過程詳解

    AOP為Aspect Oriented Programming的縮寫,意為:面向切面編程,可通過運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù)。AOP是 Spring框架中的一個(gè)重要內(nèi)容
    2023-02-02
  • Java 認(rèn)識(shí)異常并掌握使用

    Java 認(rèn)識(shí)異常并掌握使用

    所謂異常是指程序在運(yùn)行時(shí)出現(xiàn)錯(cuò)誤時(shí)提示調(diào)用者的機(jī)制,異常的種類有很多,不同種類的異常有不同的含義,也有不同的處理方式,通讀本篇對(duì)大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下
    2021-09-09
  • idea顯示properties文件中文亂碼的解決方法

    idea顯示properties文件中文亂碼的解決方法

    在項(xiàng)目中通常會(huì)遇到如下問題,突然properties文件中文亂碼,本文主要介紹了idea顯示properties文件中文亂碼的解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • springboot+dubbo+zookeeper的簡(jiǎn)單實(shí)例詳解

    springboot+dubbo+zookeeper的簡(jiǎn)單實(shí)例詳解

    本文主要介紹了springboot+dubbo+zookeeper的簡(jiǎn)單實(shí)例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • MyBatis 中  type-aliases-package的作用(簡(jiǎn)化類型映射)

    MyBatis 中  type-aliases-package的作用(簡(jiǎn)化類型映射)

    MyBatis中type-aliases-package的作用是簡(jiǎn)化類型映射,通過指定包路徑,MyBatis會(huì)自動(dòng)掃描該包下的所有類并為這些類生成類型別名,減少XML配置文件中的冗長(zhǎng)代碼,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 詳解Java如何優(yōu)雅地書寫if-else

    詳解Java如何優(yōu)雅地書寫if-else

    在日常開發(fā)中我們常常遇到有多個(gè)if?else的情況,之間書寫顯得代碼冗余難看,對(duì)于追求更高質(zhì)量代碼的同學(xué),就會(huì)思考如何優(yōu)雅地處理這種代碼。本文我們就來探討下幾種優(yōu)化if?else的方法
    2022-08-08
  • java實(shí)現(xiàn)簡(jiǎn)單的客戶信息管理系統(tǒng)

    java實(shí)現(xiàn)簡(jiǎn)單的客戶信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單的客戶信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java中常見的5種WEB服務(wù)器介紹

    Java中常見的5種WEB服務(wù)器介紹

    這篇文章主要介紹了Java中常見的5種WEB服務(wù)器介紹,它們分別是Tomcat、Resin、JBoss、WebSphere、WebLogic,需要的朋友可以參考下
    2014-07-07
  • java字符串的大寫字母右移實(shí)現(xiàn)方法

    java字符串的大寫字母右移實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄猨ava字符串的大寫字母右移實(shí)現(xiàn)方法。小編覺得聽不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04

最新評(píng)論

南康市| 贵溪市| 习水县| 鄂尔多斯市| 尖扎县| 嘉峪关市| 中牟县| 静宁县| 老河口市| 博乐市| 无锡市| 潮州市| 吕梁市| 塘沽区| 嘉兴市| 虞城县| 东明县| 嘉鱼县| 冕宁县| 两当县| 盐津县| 望谟县| 仁布县| 定边县| 香格里拉县| 定襄县| 北京市| 广河县| 山阳县| 济源市| 长丰县| 清河县| 大关县| 嘉定区| 庄浪县| 内黄县| 时尚| 衡东县| 浠水县| 台北县| 南丹县|