呂婷婷 馬麗 趙威
摘? 要 圖書館是人們獲取知識的重要場所。面對龐大的館藏數(shù)量,書面登記已經(jīng)沒有辦法保證圖書館的完整性和安全性。設(shè)計一個圖書館管理系統(tǒng),由Java語言編寫,整個系統(tǒng)為單點的垂直架構(gòu),分為控制層、業(yè)務(wù)層和持久層。系統(tǒng)的開發(fā)環(huán)境為JDK 1.8、Tomcat 8.5、MySQL 5.5。整個系統(tǒng)操作簡單、使用安全,希望為現(xiàn)代化圖書館管理提供一些思路。
關(guān)鍵詞 圖書館;Java;圖書館管理系統(tǒng)
中圖分類號:G250.71? ? 文獻標(biāo)識碼:B
文章編號:1671-489X(2021)20-0069-04
1? 研究現(xiàn)狀及系統(tǒng)開發(fā)目的
當(dāng)今書籍的種類日益增多,圖書的數(shù)量也急劇增長,人們對于圖書的需求也在增長。由于這些因素的影響,一座圖書館想要按部就班地管理人員和書籍就變得相當(dāng)困難,因此必須要使用更加科學(xué)的方式來管理。通過使用Java語言來開發(fā)一個用于圖書館管理的Web項目,能夠很好地解決上述問題。基于該項目的開發(fā),可以通過非常安全的方式進行人員登記,并且對于各異的身份、操作和書籍,可以開發(fā)不一樣的功能模塊。對于圖書館的工作人員而言,這樣就減輕了工作負擔(dān),提高了工作效率;而對于圖書館本身來說,從圖書的安全性到整體的管理有序性,都能有很好的保證。
2? 開發(fā)工具和相關(guān)技術(shù)
在本次開發(fā)中主要使用的編程語言是Java,進行開發(fā)的工具主要是Eclipse 4.7 Oxygen版,JDK的版本為1.8。數(shù)據(jù)庫使用的是MySQL 5.5,對數(shù)據(jù)庫進行操作的工具是Navicat Premium,而用來部署項目的服務(wù)器主要是Tomcat 8.5。
2.1? JSP、HTML、CSS
在前端技術(shù)的選擇上使用了JSP、HTML、CSS三者結(jié)合。
JSP是一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準,在傳統(tǒng)的HTML文件中插入Java程序段和Jsp標(biāo)記,由此形成JSP文件,而使用它開發(fā)的Web應(yīng)用是跨平臺的,能在多種系統(tǒng)中運行。它在保持HTML原有的狀態(tài)下,可以插入人們需要的Java代碼,因此可以實現(xiàn)前后端上的數(shù)據(jù)傳輸。除了可以使用Java代碼塊以外,還可以使用Jsp標(biāo)記進行頁面包含、異常頁面的處理、文件的導(dǎo)入、JSTL標(biāo)記的引入等操作,再配合EL表達式的使用,對于后臺數(shù)據(jù)的處理展示等都非常方便。
HTML則是超文本標(biāo)記語言,通過各種標(biāo)簽,可以給網(wǎng)頁的頁面進行布局、調(diào)整字體格式、導(dǎo)入視頻音頻、創(chuàng)建表單等,從而制作出一個完整的、靜態(tài)的網(wǎng)頁。
CSS是層疊樣式表,主要是可以通過元素選擇器、類選擇器、ID選擇器三種方式來對不同的HTML標(biāo)簽進行樣式的修改。它本身有許多自帶的屬性,如修改背景顏色、字體顏色、字體加粗、斜體、行間距、內(nèi)間距、外間距等。
這里選擇它們?nèi)齻€,HTML在異常頁面或不需要數(shù)據(jù)傳輸,只需要頁面展示信息的時候使用,JSP則是在處理大量信息進行回顯時使用,而CSS用來配合它們兩個來給它們添加相應(yīng)的樣式。
2.2? JavaScript、jQuery、Bootstrap
一個頁面不可能只是靜態(tài)的,為了有更好的用戶體驗,需要添加各種過度動畫和更好的樣式,并且要拋棄部分復(fù)雜的方式,選擇一些更加簡單的方便的工具包來幫助開發(fā)。
JavaScript是一種腳本語言,主要用在HTML頁面中,可以給頁面添加相應(yīng)的動畫效果,當(dāng)然可以使用它來進行數(shù)據(jù)的處理。除了這些以外,JavaScript還可以使用Ajax進行異步傳輸,通過Ajax可以實現(xiàn)前后端的分離,幫助后期維護項目。
jQuery就是一個JavaScript的框架,包含許多已經(jīng)寫好的JavaScript庫,其中有獲取元素、淡出效果、顯示效果、Ajax等功能的封裝,使用時可以用更少的代碼、更快的速度、更高的效率進行動畫效果的開發(fā)。
Bootstrap是基于HTML、JavaScript、CSS的簡潔框架,封裝了許多優(yōu)美簡約的樣式風(fēng)格,使用起來也非常方便,只需要在相應(yīng)的HTML標(biāo)簽的class屬性上寫上對應(yīng)的值,就可以直接有對應(yīng)的樣式。這樣一來,在少量使用Java-Script的基礎(chǔ)上再去使用一些封裝的框架工具,開發(fā)時就會事半功倍。
2.3? SSM框架、B/S架構(gòu)
SSM框架主要是由三個框架集合形成的一個整體的項目架構(gòu):SpringMVC+Spring+MyBatis。
SpringMVC和Spring兩者為包含關(guān)系,由于前者經(jīng)常使用而被單獨提起,因此也可以理解為兩個框架的集合。SpringMVC為Spring 框架提供了構(gòu)建Web應(yīng)用程序的全功能MVC模塊,而MVC模塊則是由模塊層、視圖層、控制層來構(gòu)建,模塊層表示的是用于映射數(shù)據(jù)表的JavaBean,視圖層表示的是前端頁面,控制層則是用來轉(zhuǎn)發(fā)請求的控制器,而SpringMVC主要的作用就是在項目中攔截用戶請求,它的核心Servlet也就是前端控制器承擔(dān)中介或是前臺這樣的職責(zé),將用戶請求通過映射器處理器去匹配相應(yīng)的控制器,一旦找到對應(yīng)的控制器,在Java中也就是方法,就會處理請求,對請求進行轉(zhuǎn)發(fā)或者重定向。
Spring是一個開放源代碼的設(shè)計層面框架,解決的是業(yè)務(wù)邏輯層和其他各層的松耦合問題,因此,它將面向接口的編程思想貫穿整個系統(tǒng)應(yīng)用。簡單理解就是Spring提供了一個容器,所有的JavaBean對象都會被加載進容器,要使用時不需要再次創(chuàng)建,直接使用就可以了。Spring在SSM框架中主要用來串聯(lián)各層。
MyBatis是一款持久層的開源框架,支持定制化 SQL、存儲過程以及高級映射,運用也非常方便,只要寫好持久層的接口,再寫對應(yīng)的xml配置文件,就會自動生成實現(xiàn)類進行數(shù)據(jù)庫的操作。
2.4? 相關(guān)的插件
在開發(fā)中,在前后端的技術(shù)以外,還需要許多的插件技術(shù)來完成一些細節(jié)上功能,這里使用了DataTables、jQuery-confirm、jQuery-validation、ECharts、Quartz五個插件。
DataTables插件是一款jQuery表格插件,是一個高度靈活的工具,可以將任何HTML表格添加高級的功能。在開發(fā)中經(jīng)常要將數(shù)據(jù)以表格的形式展示出來,那么使用DataTables插件就可以很快完成,并且該插件還能快速實現(xiàn)分頁、列表排序等功能。
jQuery-confirm是基于jQuery的一款彈窗插件。為了讓用戶有更好的體驗,經(jīng)常會有一些錯誤的提示或者選擇提示框,而使用該插件,只需要按照一定的配置,就可以實現(xiàn)彈窗的功能。并且它自帶一些樣式,如果不喜歡也可以自行進行修改。
jQuery-validation同樣是基于jQuery的插件,主要用于前端的表單驗證。在用戶進行數(shù)據(jù)提交時,可以自定義規(guī)則進行驗證,保證傳遞到后臺數(shù)據(jù)的安全性和合法性。
ECharts是百度團隊開發(fā)的一款強大的用于制作圖表的插件。在圖書館中有大量的書籍、人員、金錢的往來,一個形象的圖表可以讓人清晰地知道管理的進度。ECharts還自帶多種圖表樣式,使用時只需按照固定的配置文件寫好就可以了。
Quartz則是一個任務(wù)調(diào)度的工具。在許多時候需要讓程序自動地做一些任務(wù),這時候就需要一個定時器來幫助完成,而Quartz就是通過觸發(fā)器、任務(wù)、調(diào)度器,三者相互結(jié)合,來完成一個任務(wù)的調(diào)度。
3? 系統(tǒng)可行性分析
3.1? 技術(shù)可行性
該項目主要是由Java語言編寫,采用Web項目來開發(fā),在前端上使用HTML+CSS的方式進行頁面展示,再通過JSP頁面進行數(shù)據(jù)展示;在后臺采用SSM框架從Controller層到Service層,最后到DAO層的架構(gòu),從頁面獲取到數(shù)據(jù)進行業(yè)務(wù)邏輯處理,再對數(shù)據(jù)庫進行增刪改查。在確保前后端完整的前提下,再使用Ajax進行前后端分離,方便進行后期維護,其中會使用一些常用的插件來幫助完成一些細節(jié)上的功能,主要使用的工具是Eclipse和Navicat Premium,完成一個圖書館信息處理的項目在技術(shù)方面是可實施的。
3.2? 經(jīng)濟可行性
使用的Eclipse、Navicat Premium等工具都是免費版的,不用開發(fā)者支付工具的費用。在開發(fā)完成后需要在圖書館的前臺電腦中進行環(huán)境的部署,其中包括Tomcat、MySQL、JDK等,而這些環(huán)境都是免費的,無須支付其他費用。而且,環(huán)境所需要的硬件條件也非常低,低壓的CPU、4 G以上的內(nèi)存,能夠上網(wǎng)就能夠訪問項目,所以對于圖書館而言成本也幾乎為零。因此,在經(jīng)濟成本上項目也是可行的。
3.3? 操作可行性
本次系統(tǒng)采用的是B/S架構(gòu),只需要有一個瀏覽器,能夠上網(wǎng),就能夠簡單訪問。通過Web項目,對于操作者來說,就像平常簡單的上網(wǎng)查閱資料一樣,非常簡單快捷,即使是對于沒有任何軟件或硬件知識的人員來說,也能夠在極其短的時間內(nèi)學(xué)會操作。所以,在對于工作人員的操作上也是可行的。
4? 詳細設(shè)計
本系統(tǒng)主要由登錄模塊、注冊模塊、管理員模塊、成員模塊組成,其中管理員模塊下有成員管理、圖書管理、借閱管理、收入統(tǒng)計等功能,成員模塊由修改信息、書籍查詢、借閱記錄、罰款通知等功能構(gòu)成。系統(tǒng)總體功能結(jié)構(gòu)圖如圖1所示。
4.1? 登錄模塊
用戶在主頁直接進行登錄,通過賬號密碼來和數(shù)據(jù)庫中的信息比對,正確才能進入后臺,否則會給予相應(yīng)的錯誤信息提示,并且不可跳過登錄。如果成員想要直接通過路徑進行訪問,也會提示成員先登錄。
4.2? 用戶注冊
用戶如果沒有賬號想要登錄,必須要先進行賬號的注冊才能夠進入,可以通過點擊“還沒有賬號”,會彈出提示框來進行注冊,填寫好合法的信息后就可以了。
4.3? 管理員界面
管理員身份登錄后會進入到管理員的后臺界面,管理員界面包括四個功能模塊,分別是限制成員、圖書信息、借閱信息、收入統(tǒng)計模塊。
4.3.1? 限制成員功能? 限制成員的功能是管理員在檢查到成員的資料或者信息不合法時,有權(quán)利對這些違法的用戶進行禁止登錄,并在登錄時也會提示他已經(jīng)被禁止權(quán)限了,可以向管理員申請恢復(fù)權(quán)限,這樣可以保證用戶的信息準確合法。
4.3.2? 圖書信息功能? 管理員中的圖書信息模塊是對所有書籍的四個操作,包括查詢所有書籍信息、添加新的書籍、刪除原有的書籍、修改原有書籍的信息。通過這些操作,管理員可以很好地管理圖書館中的所有書籍,讓書籍更加有序,并且增強可操作的靈活性。
4.3.3? 借閱信息功能? 在管理員的操作中,最重要的一點是對于借閱的成員審核其是否信用良好,借閱出去以后還要很好地記錄下來。管理員可以選擇批準或者拒絕他借書,當(dāng)然這些操作要配合現(xiàn)實情況中的借書。一旦選擇批準,借閱日期就是當(dāng)天,超過15天沒有歸還就算逾期,每超過一天就會記錄下1元的罰款,每天都會進行計算。借閱成員來還書時需要上交相應(yīng)的逾期費用。這樣既能夠保證成員如期歸還書籍,也能夠保證成員方便地借書。
4.3.4? 收入統(tǒng)計功能? 圖書館雖然不是一個營利的場所,但是還是存在關(guān)于圖書逾期罰款的管理。
4.4? 成員管理界面
在成員管理界面,成員一共有四個功能模塊,分別是修改信息、查詢書籍、借閱記錄、罰款通知,在左上角還可以進行注銷當(dāng)前賬號的操作。
4.4.1? 修改信息功能? 在成員管理中最基本的就是對于自己的信息進行修改。在修改信息過程中,有部分信息不能夠修改,因為這些信息都是比較重要的,并且是在日常生活中不會更改的。
4.4.2? 查詢書籍功能? 利用查詢書籍功能,可以查看所有的書籍信息,包括書籍的名稱、作者、庫存等。成員可以對其進行借閱申請,一旦申請后,由管理員進行審核,審核通過后,就可以借閱。
4.4.3? 借閱記錄功能? 成員在借閱書籍后,可以通過借閱記錄功能查詢借閱的審核進度,并且可以通過后面的查看書籍按鈕,直接查看當(dāng)前借閱書籍的信息資料。一旦審核通過,借閱的時間就是當(dāng)天,并且需要在15天內(nèi)歸還書籍,否則就會開始計算罰款,每天1元??梢?,這樣方便成員查看自己的借閱情況。
4.4.4? 罰款通知功能? 如果在登錄以后,成員用戶看到界面右上角有一個提示“你當(dāng)前有一個消息”,那么就是關(guān)于罰款的消息,是他逾期歸還書籍而產(chǎn)生了罰款,這里通知他注意。
5? 測試
對于圖書館管理系統(tǒng),由于內(nèi)部的邏輯并不復(fù)雜,只需要運行程序,按照正常操作者的行為來進行各個功能測試,達到每個功能都可以快速、準確地實現(xiàn)。部分功能模塊的具體測試內(nèi)容如表1所示。
6? 結(jié)束語
本文介紹的圖書館管理系統(tǒng)使用了Java語言,采用MVC設(shè)計模式,又使用了SSM框架,整體由一種垂直架構(gòu)進行開發(fā),從一開始的需求分析,到框架結(jié)構(gòu)搭建、數(shù)據(jù)字典的建立、環(huán)境搭建、前臺頁面的編寫,再到后臺Con-troller層、Service層、DAO層的開發(fā)。本次項目整體分為兩個大的模塊,每個模塊下包含一些小的功能模塊,每個功能模塊又涉及不同的小的技術(shù),像彈出框的插件confirm,任務(wù)調(diào)度工具Quartz,表單驗證插件valida-tion,這些功能強大的小技術(shù)更好地完善了圖書館管理系統(tǒng)的功能。■
參考文獻
[1]陸校松.基于CSS+DIV的高校網(wǎng)站首頁設(shè)計與實現(xiàn)[J].福建電腦,2015,31(12):102-103,12.
[2]王永.基于Web的數(shù)字迎新系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代信息科技,2018,2(10):28-30.
[3]劉佳潤.數(shù)字時代圖書館管理創(chuàng)新途徑[J].智庫時代,2019(23):148,163.
[4]曾艷麗,李諾.針對SSM框架Web系統(tǒng)的相關(guān)思考[J].信息與電腦(理論版),2019(3):116-117.
[5]唐權(quán).SSM框架條件分頁查詢研究與實現(xiàn)[J].四川職業(yè)技術(shù)學(xué)院學(xué)報,2019,29(1):139-143.
[6]嚴義輝,袁飛虎,洪杰坤,等.基于Java的圖書館座位管理系統(tǒng)的研究[J].計算機產(chǎn)品與流通,2019(6):96.
[7]田豐維,馮永安.計算機軟件JAVA編程特點及其技術(shù)應(yīng)用[J].教育教學(xué)論壇,2019(21):268-269.
[8]歐陽宏基,葛萌.Java EE數(shù)據(jù)初始化應(yīng)用中的設(shè)計模式解決方案[J].計算機系統(tǒng)應(yīng)用,2019,28(4):188-193.
[9]王曉妮,段群.基于MVC模式的數(shù)據(jù)挖掘平臺設(shè)計與實現(xiàn)[J].信息與電腦(理論版),2018(15):53-55.
[10]姚云飛,杜洪波,梁建輝.基于SpringMVC框架畢業(yè)設(shè)計管理系統(tǒng)設(shè)計[J].軟件,2018,39(1):91-93.
[11]劉焱.jQuery在平臺中的應(yīng)用開發(fā)研究[J].信息系統(tǒng)工程,2019(1):91.
[12]Theisen KJ. Programming languages in chemistry: A review of HTML5/JavaScript[J].Journal of Chemin-formatics,2019,11(1):11.