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