張文龍 吳林輝 楊晨耀 蔣衛(wèi)祥
摘要:針對(duì)當(dāng)前Web網(wǎng)盤系統(tǒng)存在的問(wèn)題,提出了利用SSM+vue的技術(shù)架構(gòu),進(jìn)行技術(shù)方案設(shè)計(jì)。該文首先通過(guò)UML的用例圖分析了Web網(wǎng)盤系統(tǒng)的需求;其次應(yīng)用SSM框架設(shè)計(jì)了系統(tǒng)的架構(gòu);前端使用vue實(shí)現(xiàn)前后端分離,最后介紹了系統(tǒng)的實(shí)現(xiàn)。SSM +vue框架能簡(jiǎn)化Web網(wǎng)盤系統(tǒng)的開(kāi)發(fā),可以有效地降低各層之間的耦合度,提高系統(tǒng)的可維護(hù)性。
關(guān)鍵詞:文件上傳;SSM;vue,Web網(wǎng)盤系統(tǒng);系統(tǒng)設(shè)計(jì)
中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)34-0062-02
1 概述
網(wǎng)盤系統(tǒng)的主要功能是上傳和下載用戶指定的文件或者文件夾,他的基本結(jié)構(gòu)是上傳一分享一下載,使用者通過(guò)注冊(cè)獲取用戶賬號(hào),即可使用該功能,并且,可以分享文件給其他用戶下載使用。
目前,網(wǎng)盤系統(tǒng)大多都是商業(yè)運(yùn)營(yíng),能夠自由搭建并且使用的系統(tǒng)少之又少,并且商用網(wǎng)盤系統(tǒng)大多需要收費(fèi),還存在限速問(wèn)題,另外,大部分網(wǎng)盤系統(tǒng)技術(shù)都基于C/S(Client Server)架構(gòu),這種架構(gòu)的軟件的最大缺點(diǎn)是升級(jí)麻煩,用戶使用不方便,隨著Internet網(wǎng)絡(luò)技術(shù)的發(fā)展,這種弊端越來(lái)越明顯,我們使用SSM技術(shù)開(kāi)發(fā)的網(wǎng)盤項(xiàng)目基于Web技術(shù),可以直接通過(guò)瀏覽器使用,非常方便,下載速度很快,適合公司學(xué)校團(tuán)隊(duì)使用。
SSM (SpringMVC-Spring-Mybatis)是典型的J2EE三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和持久層。SSM靈活的配置方法,敏捷的開(kāi)發(fā)模式,典型的MVC框架,非常適合完成基于B/S的信息系統(tǒng)開(kāi)發(fā),并且采用vue前端技術(shù)實(shí)現(xiàn)前后端分離,有利于后期維護(hù)和升級(jí)。
2 Web網(wǎng)盤系統(tǒng)分析
通過(guò)對(duì)網(wǎng)盤系統(tǒng)的需求調(diào)研,得到所需要的功能需求,系統(tǒng)用例如圖1所示。
Web網(wǎng)盤系統(tǒng)主要的功能模塊為:注冊(cè)登錄功能、上傳文件或者文件夾、下載文件、分享文件鏈接、文件管理、搜索文件功能。
注冊(cè)登錄功能:提供用戶的登錄和注冊(cè)功能。注冊(cè)功能是為了使用戶得到屬于自己的賬號(hào),方便以后的功能使用,登錄功能可以進(jìn)入系統(tǒng)主頁(yè)面;上傳文件或者文件夾:通過(guò)瀏覽器使用Web技術(shù)對(duì)用戶選中的文件或者文件夾進(jìn)行上傳;下載文件:主要提供文件的下載;分享文件鏈接:用戶將上傳的文件或者文件夾形成文件鏈接,分享給他人進(jìn)行下載;文件管理:系統(tǒng)提供文件管理功能,可以自動(dòng)將所有文件分為各種類型的文件,方便用戶直接查看;搜索文件:系統(tǒng)提供文件檢索功能,用戶通過(guò)搜索欄可以直接搜索需要的文件。
3 Web網(wǎng)盤系統(tǒng)設(shè)計(jì)
系統(tǒng)采用SSM +vue框架技術(shù),該框架將整個(gè)系統(tǒng)分為表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)持久層。SSM框架整合可以充分利用三個(gè)框架的優(yōu)點(diǎn),提高組件的可復(fù)用性,降低各層之間的耦合度,有利于系統(tǒng)的可維護(hù)性和擴(kuò)展等。表現(xiàn)層是SpringMVC,業(yè)務(wù)層是Spring,持久層是Mybatis。每個(gè)層在功能上職責(zé)明確,不應(yīng)該與其他層混合,各層通過(guò)通信接口相互聯(lián)系,整合框架如圖2所示。
SSM框架中業(yè)務(wù)流程為:
1)表示層
表示層是用戶與系統(tǒng)直接進(jìn)行交互的界面,也是唯一直接面向使用者的接口。本系統(tǒng)采用SpringMVC實(shí)現(xiàn)表示層,負(fù)責(zé)收集用戶請(qǐng)求并返回處理結(jié)果頁(yè)面。
2)業(yè)務(wù)層
業(yè)務(wù)層是由業(yè)務(wù)邏輯對(duì)象組成,是系統(tǒng)的核心,處于中心的位置。業(yè)務(wù)邏輯層實(shí)現(xiàn)并提供了系統(tǒng)所需要的業(yè)務(wù)邏輯方法。本系統(tǒng)由Spring實(shí)現(xiàn)業(yè)務(wù)邏輯層,并負(fù)責(zé)整體框架的整合。
3)持久層
持久層由數(shù)據(jù)訪問(wèn)對(duì)象(Data Access Objects)組成,這些數(shù)據(jù)訪問(wèn)對(duì)象提供對(duì)領(lǐng)域(Domain Object)基本的創(chuàng)建、查詢、修改和刪除等操作。本系統(tǒng)有Mybatis實(shí)現(xiàn)數(shù)據(jù)持久層,為業(yè)務(wù)邏輯層數(shù)據(jù)存取的方法,實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)的增、刪、改、查操作。
4 Web網(wǎng)盤系統(tǒng)實(shí)現(xiàn)
本文以文件上傳為例說(shuō)明系統(tǒng)的實(shí)現(xiàn)過(guò)程。該模塊的功能是用戶選擇文件、文件路徑保存到數(shù)據(jù)庫(kù)中,文件保存到磁盤中。
4.1 表示層實(shí)現(xiàn)
上傳文件功能通過(guò)用戶選擇文件點(diǎn)擊上傳后后提交給SpringMVC的ProductController(表現(xiàn)層)處理,處理結(jié)束后重新刷新文件列表。
SpringMVC的表現(xiàn)層如下:
@RestController
@RequestMapping(“/api/vl”)
public class ProductController extends AbstractApiCon-trollerf
@Autowired
private ProductServiceproductService;
// 文件上傳
@RequestMapping(value=”/pro/upload/file/{userldn
public ApiResponseObjectfileUpload(@RequestParam(”one-File”) MultipartFile file, HttpServletRequest request,
@PathVariable(”userld”) int userld){
String path= request.getSessionO.getServletContextO.getReal-Path(”resources/upload”)+”/”+userld;
File filePath= new File(path);
System.out.println(”文件保存路徑:”+path);