張靜
摘 ?要 針對公共圖書館數(shù)量有限、位置不便以及購買圖書成本太高等問題,通過共享書店的運作方式,實現(xiàn)人與人之間、書店與讀者之間的信息共享,用最小成本推進全民閱讀。論證共享圖書Web平臺的意義和技術(shù)支持,提出一款名為“紙書”的共享圖書平臺,并對Web系統(tǒng)的系統(tǒng)前臺、用戶管理以及后臺管理三大模塊功能進行設計。
關(guān)鍵詞 共享圖書;Web平臺;紙書
中圖分類號:G642 ? ?文獻標識碼:B
文章編號:1671-489X(2019)02-0058-03
1 共享圖書Web平臺的意義及技術(shù)支持
意義 ?隨著互聯(lián)網(wǎng)的快速發(fā)展和智能終端的普及,越來越多人熱衷于電子書,但是看的時間久了,眼睛容易疲勞。公共圖書館存在數(shù)量有限以及位置不便等問題。圖書價格近年來飆升,很多熱愛讀書的人不愿花那么多錢去買書,又不能從圖書館有限的圖書資源中借閱到合適的書籍。“紙書”網(wǎng)站在最大程度上幫助人們解決了借書難、買書貴的問題,讓人們可以隨時隨地借閱到自己想要閱讀的圖書。
圖書資源共享不僅可以幫助圖書館解決經(jīng)費緊張的問題,并節(jié)約成本。網(wǎng)絡資源的共享化其實對圖書館是館藏的延伸,增加圖書館的書籍數(shù)量。讓人們增強對網(wǎng)絡的認識以及共享的態(tài)度,可以促進圖書網(wǎng)絡資源共享化。因此,依據(jù)互聯(lián)網(wǎng)開放的平臺和人們圖書借閱的需求,解決傳統(tǒng)方式無法完成的圖書共享,給讀者帶來便捷。秉承“傳遞書香,收獲知識”的宗旨,致力于建立一個新的圖書共享平臺,從而提高我國國民的精神文化素質(zhì),并為讀者提供優(yōu)質(zhì)的服務。
技術(shù)支持 ?SSM框架技術(shù)由Spring、Spring MVC和My-
Batis三部分組成,適用于搭建開發(fā)各種中、小企業(yè)應用系統(tǒng)。Eclipse平臺可以搭建各種項目,具有內(nèi)存小、使用免費、源代碼和插件開放等優(yōu)勢。本文采用軟件工程思想,采用B/S(Browser/Server)結(jié)構(gòu),運用SSM框架技術(shù)和Eclipse平臺編寫開發(fā),使用Java語言和SSM框架技術(shù)實現(xiàn)系統(tǒng)的相關(guān)模塊。在Web開發(fā)應用方面,MySQL應用軟件能夠靈活地定義、控制以及查詢數(shù)據(jù)信息。本文采用MySQL數(shù)據(jù)庫,通過使用阿里數(shù)據(jù)連接池,完成Eclipse與MySQL數(shù)據(jù)庫的連接,實現(xiàn)基于B/S的與圖書共享相適應的圖書共享Web平臺。
2 系統(tǒng)功能及圖書借還流程設計
在移動互聯(lián)網(wǎng)被廣泛使用的今天,想要實現(xiàn)高校內(nèi)圖書共享,首先要實現(xiàn)用戶的實名制,以此來解決用戶之間存在的信任問題;然后進行書目整合,要求圖書共享平臺的書目檢索目錄不僅可以搜索到圖書館館藏書目,還可以搜索到私人共享書目,這樣讀者可以一次性地查詢校園內(nèi)所有的圖書資源;最后要建立跨平臺的終端,圖書共享平臺的系統(tǒng)設計要將移動優(yōu)先作為設計導向,使得平臺可以適應移動終端和其他不同終端的使用?!凹垥毙@圖書共享Web平臺設計包括系統(tǒng)功能模塊設計、圖書借還流程設計。
系統(tǒng)功能模塊設計 ?系統(tǒng)結(jié)構(gòu)如圖1所示。
1)系統(tǒng)前臺。前臺網(wǎng)頁主要分為圖書檢索、圖書分類展示以及熱門圖書這三個板塊,用戶可以通過登錄平臺界面,尋找自己想要借閱的圖書,提交借閱圖書的申請。
2)用戶管理。在圖書共享平臺上的用戶信息必須要實名注冊。用戶ID、手機號以及使用的郵箱,在注冊后會保存在數(shù)據(jù)庫中。如果其他用戶注冊后使用相同的信息,系統(tǒng)會自動提示該用戶名、該手機號或者該郵箱已經(jīng)使用過。如果輸入的不正確,會提示用戶該賬號錯誤請更改。注冊時,官方會向用戶發(fā)送手機驗證碼。本系統(tǒng)在登錄時有兩種不同的操作權(quán)限,不同的操作權(quán)限在登錄后會有不同的界面顯示與操作。當擁有合法身份的賬號在輸入正確的賬號及密碼,并點擊下面的“登錄”按鈕后,進入后臺管理系統(tǒng)首頁;如果輸入賬號不存在,會在界面提示“該用戶不存在”;若輸入密碼錯誤,會在界面提示“密碼錯誤”。此外,用戶在第一次登錄的時候,平臺內(nèi)部的系統(tǒng)會將用戶的信息自動保存到本地,為下一次登錄的本地認證提供便利。用戶可以修改個人信息和聯(lián)系方式,設置個人信息的公開內(nèi)容。
3)后臺管理。平臺后臺管理主要有三個功能板塊:在
“我的借閱”板塊,用戶可以查看自己的借閱申請是否被圖書出借者確認,可以查看圖書出借者的基本信息,還可以查看已借閱過圖書的信息、圖書借閱是否超期以及歷史借閱記錄;在“圖書共享”板塊,所有經(jīng)過認證的用戶都可以發(fā)布圖書的共享信息;在“借出管理”板塊,用戶可以查看自己所借出圖書的信息和期限、圖書借閱者是否按時歸還圖書,還可以查看圖書借閱者的基本信息以及歷史借出記錄等。
圖書借還流程設計 ?圖書借還流程設計包括借書和還書流程設計。
1)借書流程。
①用戶進行認證登錄之后,要先查找想要借閱的圖書,確認該圖書是否為私人共享:如果該圖書是圖書館的藏書,用戶可以直接前往圖書館進行借閱;如果該圖書是私人共享,用戶要在線上提交借閱申請。
②系統(tǒng)會通過郵件的形式將借閱申請傳遞給圖書的借出者,借閱者和借出者可以通過平臺留言或者根據(jù)個人信息中展示的聯(lián)系方式,約定線下借書的時間和地點;最后用戶要再次登錄平臺,確認圖書已經(jīng)借閱成功。
2)還書流程:用戶在進行認證登錄之后,在“我的借閱”模塊中進行還書操作,然后借閱者和借出者約定好線下還書的時間和地點;等到圖書歸還之后,借出者要在平臺中確認已經(jīng)收回借閱的圖書。
3 網(wǎng)站布局設計開發(fā)過程
根據(jù)用戶表設計注冊頁面的表單元素,由手機號、用戶名、昵稱、注冊郵箱、密碼構(gòu)成。Form表單提交方式為Post,action為Servlet/Rejisterpage.java,先走一遍過濾器,過濾器較為簡單,包含一個中文亂碼的過濾。未登錄時訪問首頁或者會員頁、論壇頁時,進行跳轉(zhuǎn)至登錄頁面的過濾,因為這些頁面需要通過Session獲取user對象,防止對user操作時出現(xiàn)空指針異常。
Step1 ?用html劃分布局,分為頭部、中間和尾部。頭部內(nèi)容包含一個紙書項目Logo,一個導航欄。中間內(nèi)容就是注冊頁面的表單。尾部內(nèi)容包含營業(yè)信息和版權(quán)聲明。用Css設置頁面的樣式和顯示效果。
Step2 ?用Jquery控制頁面的邏輯和效果。用pattern設置其規(guī)范<正則表達式>??梢杂米址膍atch方法判斷是否匹配,也可以通過對提交按鈕綁定Click()事件,獲取表單元素對象,通過validity.patternMismatch的返回值驗證是否匹配規(guī)范,滿足給其兄弟元素空的div增加綠色背景樣式,提示輸入正確;不滿足則增加紅色的背景樣式,根據(jù)錯誤信息給出提示。
Step3 ?根據(jù)用戶表設計注冊頁面的表單元素,由手機號、用戶名、昵稱、注冊郵箱、密碼構(gòu)成。Form表單提交方式為Post,action為Servlet/Loginpage.java,內(nèi)建一個正則表達式引擎。用戶名-pattern:由字母、數(shù)字、下劃線、點、減號組成;只能以數(shù)字、字母開頭或結(jié)尾,且長度為4~18個字符。手機號-pattern:手機號碼,以13、15、17、18開頭的11位數(shù)字。昵稱-pattern:只能由漢字、字母、數(shù)字、下劃線以及特殊字符@!#$%&*組成,長度為4~16個字符。注冊郵箱-pattern:輸入常用電子郵箱,郵箱應包含符號@和.。密碼-pattern:密碼應為6~16個字符。
Step4 ?獲取驗證碼為a標簽,通過window.setInterval
設置時鐘,刷新時間為1000 ms,定義時間變量為“time=60;
time--”;獲取a標簽元素調(diào)用text方法,傳參time+″s″;
當time==0,清除時鐘,把a標簽的禁用屬性設為able。用Servlet接收注冊頁面?zhèn)鬟^來的參數(shù),對參數(shù)進行邏輯判斷。用Servlet接收登錄頁面?zhèn)鬟^來的參數(shù),用選擇分支判斷。只要滿足一個就進行跳轉(zhuǎn)(用戶名/手機號/郵箱與密碼匹配),查詢結(jié)果返回值為true,跳轉(zhuǎn)至首頁;否則提示用戶名或密碼錯誤。
Step5 ?通過request對象調(diào)用getParameter()獲取注冊頁面的傳參,這里需要用到一個POJO里User的類。根據(jù)這些傳參,實例出一個具有以上信息的User對象。通過Dao層中的方法看返回值是否為空,若為空,說明注冊的手機號、郵箱、用戶名都未被注冊過。向數(shù)據(jù)庫里增加用戶的操作,調(diào)用addUser()方法,設置Session對象User,然后跳轉(zhuǎn)至首頁。不為空,則說明數(shù)據(jù)庫里已存在這樣的信息。因為增加了唯一約束,增的話會報錯,這時候就要告訴用戶什么地方出問題,再返回到注冊界面修改。用reponse.setHeader()設置提示信息。
Step6 ?面向接口編程,為保證登錄時可以用用戶登錄,也可以用郵箱或手機號登錄,在UserDao里用到public
String getPasswordbyusername、public String getPass-wordbyemail和public String getPasswordbyphone三種抽象方法。
在BookDao里用到public boolean addUser、public boolean Existsusername和public User getUser三種抽象方法。public boolean addUser方法用于增加用戶,注冊驗證該用戶名、手機號、郵箱都沒有被使用過。這里郵箱和手機號在數(shù)據(jù)庫里都是唯一約束,所以要驗證。public
boolean Existsusername方法通過傳用戶名,查數(shù)據(jù)庫,如果數(shù)據(jù)不為1的話,就返回true,否則返回false。public
User getUser方法通過用戶名、郵箱、手機號獲取對象。該方法根據(jù)單一用戶名的用戶對象,返回該用戶的全部信息的用戶對象。因為每個帖子只有用戶名和頭像的路徑信息,所以public User getUser方法主要應用于論壇頁面。
public List
pageSize方法是對書分類做一個分頁。public int get
TotalCount()方法是獲取該分類下有多少本這樣的書籍。public boolean addBook、public boolean deleteBook和public boolean queryBook這三種方法是給管理員操作圖書的權(quán)限,分別是增加圖書、刪除圖書和查詢圖書。
在LuntanDao里,public boolean addLuntanList(Lun
tanList luntan)方法是向論壇列表里增加數(shù)據(jù),public List
4 結(jié)語
本文基于Web技術(shù),針對“紙書”校園共享圖書Web平臺進行了系統(tǒng)功能設計。圖書借還流程主要包括借書和還書流程設計。注冊、登錄以及網(wǎng)站借閱界面都已實現(xiàn)。建立高校圖書共享Web平臺,能夠最大限度幫助學生解決借書難、買書貴的問題,讓學生可以隨時隨地借閱到自己想要閱讀的圖書?!凹垥本W(wǎng)站可以激發(fā)高校師生閱讀的熱情,提高圖書的使用率,不會因與圖書館閉館時間相沖突,從而無法借閱到自己想要閱讀的圖書。
參考文獻
[1]米高峰,李思美,趙夢飛.全民閱讀語境下圖書資源整合與共享平臺設計研究[J].出版廣角,2018(6):61-63.
[2]趙琰,戴曉翔,詹慶東.互聯(lián)網(wǎng)思維下圖書共享模式研究[J].圖書情報工作,2018,62(3):33-38.
[3]鄧蓉敬.學校社區(qū)共建共享聯(lián)合圖書館:國外農(nóng)村公共圖書服務均等化服務模式與啟示[J].圖書館工作與研究,2014(1):55-59.
[4]廖文俊.用戶期望在Web網(wǎng)站設計中的應用研究[D].江蘇:江南大學,2013.
[5]WU Y. Analyses of PHP Dynamic Website Development Technology in the Era of Internet+[M]//International Informatization and Engineering Associations.2015:4.