中圖分類號:TP311 文獻標識碼:A
摘要:本文提出了基于Struts+Spring +Hibernate的開發(fā)框架,實現(xiàn)網(wǎng)絡硬盤系統(tǒng)的各功能模塊,能夠充分發(fā)揮三種框架各自的優(yōu)勢,提高系統(tǒng)的開發(fā)效率。
關鍵詞:框架;文件上傳;文件下載
1.引言
隨著日益普及和網(wǎng)絡技術的信息化建設的重視,一種新型的網(wǎng)絡存儲設備的誕生使網(wǎng)絡的信息化更加的方便快捷,即在ftp的網(wǎng)絡空間劃分為每個小的空間提供給每個用戶使用來存儲信息,當然用戶可以把資料信息傳送到對應的網(wǎng)絡空間上面,在需要的時候?qū)ξ募M行下載或者刪除文件夾的刪除已經(jīng)創(chuàng)建。本文所開發(fā)的網(wǎng)絡硬盤系統(tǒng)要具備上述功能。
2.系統(tǒng)相關技術
本系統(tǒng)采用Struts2 + Hibernate + Spring 的方式實現(xiàn),并且可細分為如下幾個層次。
WEB層:該層主要包括Jsp頁面、MVC中的“C”(Controller)。其中“C”就是Struts2中的Action類。在Action類中主要負責調(diào)用業(yè)務邏輯層的組件,并返回相應的結果(result)。
業(yè)務邏輯層(Service層):該層由若干接口和類組成。在本系統(tǒng)中業(yè)務邏輯層的接口后綴統(tǒng)一使用Service,如UserSerivce表示處理用戶業(yè)務邏輯的接口。實現(xiàn)接口的類的命名原則是在接口名后面加Impl,如UserServiceImpl表示實現(xiàn)UserService接口的類。該層的接口和類需要在Spring中進行配置。
數(shù)據(jù)訪問層(DAO層):該層和業(yè)務邏輯層類似,也是由若干個借口和若干個類組成。接口名的后綴是DAO,如UserDAO表示操作用戶名的數(shù)據(jù)訪問層接口。接口的事項類的命名規(guī)則是在接口名后加Impl,如UserDAOImpl表示實現(xiàn)UserDAO接口的類,在Spring中注入IOC進行配置。
持久對象層(PO層):該層由若干實現(xiàn)類組成,這些類需要在影射文件中配置,從上面的描述中可以看出,使用Struts2,Hibernater和Spring3個框架主要可以實現(xiàn)持久對象層、數(shù)據(jù)訪問層、業(yè)務邏輯層和Controller。
3.系統(tǒng)的設計
3.1 系統(tǒng)功能模塊設計
本系統(tǒng)是一個簡單的網(wǎng)絡硬盤系統(tǒng),功能“網(wǎng)易網(wǎng)盤”類似。需要以下功能:
用戶功能:(1)用戶注冊和登錄;(2)、更新用戶資料;(3)修改用戶密碼;(4)上傳一個或多個文件;(5)下載文件和目錄;(6)刪除文件和目錄;(7)查看使用空間大小。
管理員功能:(1)用戶管理;(2)文件管理。
對于本系統(tǒng)中的下載文件和目錄功能模塊,需要考慮到如下所述情況:(1)下載單個文件:可以直接下載這個文件。(2)下載單個目錄:需要將要下載的目錄壓縮成zip文件,再進行下載。Zip文件名就是要下載的目錄名。(3)下載多個文件和目錄:需要將下載的文件和目錄壓縮成zip文件,在進行下載。Zip文件名就是這些要下載的文件盒目錄的父目錄名,如果當前正處于根目錄,則文件名為“網(wǎng)絡硬盤根目錄.zip”。
利用“刪除文件和目錄”功能在刪除目錄時,需要同時刪除目錄中的所有子目錄和文件,并且刪除數(shù)據(jù)庫中的相應記錄。
3.2 數(shù)據(jù)庫設計
本系統(tǒng)所需要的數(shù)據(jù)實體有以下3個:
(1)用戶數(shù)據(jù)實體:包括用戶名、密碼、重復密碼、MD5加密的密碼、性別、郵箱、聯(lián)系電話、QQ號、驗證碼。
(2)目錄數(shù)據(jù)實體:用于記錄上傳文件的目錄基本信息,包括自動生成的ID屬性、用戶名、文件路徑、文件父目錄、絕對路徑目錄、目錄創(chuàng)建時間。
(3)文件數(shù)據(jù)實體:用于記錄上傳文件的具體信息,包括自動生成的ID、文件所屬用戶名、文件名、文件路徑、文件大小、上傳時間、格式化后的時間。以上的3個實體都是基本的數(shù)據(jù)實體。作為網(wǎng)絡硬盤系統(tǒng),運行時候的支撐。
4.系統(tǒng)實現(xiàn)
本系統(tǒng)使用必須要先注冊一個賬號,方可使用網(wǎng)絡硬盤功能,進入index.jsp頁面,然后點擊注冊按鈕進入注冊頁面。注冊成功后,進入登陸頁面,進行登錄提交請求到:login_page.action。
本系統(tǒng)通過Strut2的攔截器增加了頁面的訪問權限。如果用戶登錄成功,系統(tǒng)會在服務器的HttpSession對象中保持一個標記。如果用戶再次訪問系統(tǒng)時,并且HttpSession對象未過期,則直接進入系統(tǒng),而無需再次登錄。
普通用戶成功登陸后,進入網(wǎng)絡硬盤的主界面,然后點擊“個人管理”進入,然后點擊“修改資料”進入修改編輯頁面修改用戶資料,然后點擊“完成提交”進行修改資料。
用戶使用系統(tǒng)時候會上傳一個文件,或者多個文件,那么本系提供上傳一個或多個文件的模塊。方便用戶使用。如圖1,點擊“上傳”后,提示上傳成功。上傳文件時候頁面提交一個請求upload_page.action。調(diào)用創(chuàng)建文件夾FileServiceImpl和相應的目錄信息DirectoryServiceImpl和文件信息進入數(shù)據(jù)庫目錄表和文件表。
圖1 上傳文件
根據(jù)用戶的需要,下載單個文件的時候直接下載給用戶,如需要下載多個文件的時候,本系統(tǒng)會將多個文件打包成.zip格式的壓縮包下載給用戶。
本系統(tǒng)提供了給用戶刪除資料的功能,用戶可以選擇刪除單獨一個文件或者多個文件或者文件夾。當刪除文件夾時候?qū)⒃撐募滤械奈募臀募A刪除。選擇刪除文件或文件點擊“刪除”會彈出提示圖,點擊“確定”后會出現(xiàn)刪除成功提示。
管理員對于本系統(tǒng)注冊的所以用戶可以進行刪除操作圖,并且在刪除用戶的同時會把該用戶的所有目錄及文件全部刪除掉。
對于每個系統(tǒng)而言,都需要維護,否則系統(tǒng)里面存在過多的垃圾文件的話將直接影響系統(tǒng)的使用性能,那么管理員可以查看出所有的文件的資料列表如圖2,然后就可以對任意的文件進行刪除操作。