999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JavaEE的圖書管理系統設計與實現

2020-08-31 14:40:43趙越超胡杰
物聯網技術 2020年8期
關鍵詞:互聯網圖書館

趙越超 胡杰

摘 要:在計算機新技術的沖擊下,傳統的圖書管理方式會被逐漸淘汰,新型的圖書管理應該結合“互聯網+”的思想使管理趨向簡單、安全、高效。該文主要以圖書管理系統為研究對象,通過需求分析、概要設計和數據庫設計等,詳細描述了基于JavaEE的圖書管理系統的實現過程,并在此實現過程中對容易出現的問題提供了解決方案。

關鍵詞:JavaEE;圖書管理系統;互聯網+;數據庫設計;系統設計;圖書館

0 引 言

在近幾年,隨著教育事業的發展和網絡技術的廣泛普及,傳統的圖書管理方式已經不再適用[1]。新型的圖書管理方式應該趨向簡單、安全、高效。傳統的圖書管理的工作重點是對讀者借閱信息的登記,其一般會采用人工線下管理的方式,這種方式帶來的工作負擔會隨著借閱信息的增多而逐漸加重。這種情形下,不僅會加大資源的開銷,還會導致讀者借閱的困難。為了提高傳統的圖書管理效率,減少不必要的開銷,同時讓圖書管理更加科學化、智能化、效率化[2],開發設計了基于JavaEE的圖書管理系統。本系統界面友好、簡單易操作、功能強大,能夠智能地對借閱時間到期限的用戶提醒,避免資源浪費。

1 需求分析

根據需求的不同將此設計劃分成了兩部分,分別為圖書館工作人員和讀者(學生和老師)。然后從不同的用戶角度出發,進行需求分析,大致概括如下:

讀者(學生和老師)可查閱借閱信息和自己的基本信息[3]。當借閱時間到期限時,可以有提示信息來進行警示,避免讀者忘記還書。讀者還可以進行在線提交延遲借閱時間的申請。

圖書館工作人員可以增加圖書到系統中,從而減小統計圖書的工作負擔;同時,要保證圖書館工作人員對圖書具備修改和刪除的權限。增加圖書時能夠動態設置圖書類型,這樣符合實際的圖書分類情景。圖書館工作人員還需進行借閱圖書的管理工作,對借閱書籍,歸還書籍要有很好的管理方式,避免手工勞作。圖書館工作人員能夠對讀者信息進行管理,添加讀者時可以為老師和學生增添不同借閱書籍的權限[4]。

2 相關技術介紹

本系統設計主要是基于SSM架構[5],即Spring,SpringMVC和MyBatis,系統前端界面使用了HTML+CSS+ Bootstrap實現,數據庫使用MySQL,開發工具使用Eclipse。

Spring是一個輕量級的開源Java框架,用來裝配項目中Bean的大工廠,在配置文件中可通過指定使用特定的參數來調用實體類的構造方法,從而實例化對象。

SpringMVC框架是基于MVC設計模式請求驅動類型的輕量級框架,為JavaEE提供了各層的解決方案,包括視圖層、業務層和服務層,增強項目的擴展性。

MyBatis是一個對象關系映射框架,對JDBC進行輕量級的封裝,將POJO對象與數據表建立映射關系。MyBatis和Spring結合的要點是項目實體類中具有無參和有參的構造方法。MyBatis負責Java后端和數據庫之間的數據交換。

Bootstrap是基于HTML,CSS,JavaScript開發的簡潔、直觀、強悍的前端開發框架,使得Web開發更加快捷。Bootstrap中包含了豐富的Web組件,根據這些組件,可以快速地搭建一個漂亮、功能完備的前端界面。

3 系統概要設計

按照需求將此系統的使用者分為用戶端(教師和學生)和管理員端(圖書館工作人員)兩類,根據用戶的不同來對應不同的功能權限,從而將此系統劃分為用戶子系統和管理員子系統兩部分[6]。

在用戶子系統中,使用者通過圖書管理員提供的賬號密碼(讀者)登錄系統主頁,然后用戶通過主頁鏈接進入基本信息、借閱信息查詢、系統功能三個功能模塊[7],在模塊內完成查看基本信息、修改基本信息、查詢借閱信息、延長借閱時間、修改密碼、注銷登錄等功能。

在圖書管理員子系統中,使用者通過賬號密碼(管理員)登入系統主頁,然后管理員通過主頁鏈接進入圖書管理、圖書類型、讀者管理、用戶管理、借閱信息、系統功能六個功能模塊。在圖書管理模塊中,可以對圖書進行增加、修改、刪除;在圖書類型中,可以對圖書的類型進行增加、修改、刪除操作,動態地把圖書類型增加到下拉列表中;讀者管理模塊中,可以增加讀者的信息;在用戶管理模塊中,可以增加讀者所屬的類型,不同的用戶類型將有不同的權限;在借閱模塊中,可以對借閱的信息進行管理;在系統功能模塊中可以進行修改密碼和退出系統[8]等操作。

4 數據庫設計

根據圖書管理員和讀者的需求,設計管理員信息表、讀者信息表、借閱信息表等[9],管理員信息見表1所列,讀者信息見表2所列,借閱信息見表3所列。

5 系統設計與實現

5.1 讀者(教師和學生)

5.1.1 登錄/注銷模塊

讀者在瀏覽器中輸入地址,可看到系統登錄界面,選擇用戶登錄、輸入用戶名和密碼,當用戶名或者密碼沒有填寫時,會提示“這是必填字段”的信息,并且讀者不能登錄系統。這里提示信息是在JSP頁面引入Bootstrap插件,在必填項的中加入required屬性來進行實現。在讀者正確輸入用戶名和密碼,點擊“登錄系統”后,登錄頁面會向Java后端發送一個攜帶用戶信息的請求。這個請求被Spring中的DispatcherServlet攔截并提交給UserController函數進行處理[10]。UserController使用MyBatis連接數據庫進行核對,當用戶名和密碼完全匹配數據庫保存的數據后,頁面會跳轉到讀者首頁,同時在Java后端增加對讀者起到會話控制作用的Session鍵值對;否則會出現“用戶名或密碼不正確”的提示信息框[11],讓讀者再次輸入賬號和密碼。信息框的實現是在Java后端重新生成一個提示頁面,讀者在點擊信息框上的確定后,頁面從定向跳轉到讀者登錄界面中。當讀者需要退出系統時,點擊界面右上角的“注銷登錄”,然后Java后端會把增加的Session鍵值對移除,實現注銷功能[12]。

5.1.2 基本信息模塊

讀者在功能欄中點擊“基本信息”,Java后端通過Session中的id定位到數據庫中讀者的信息,讀取出來,封裝到Reader實體類中,然后通過EL表達式在user-readers-list.jsp頁面中顯示出當前讀者的基本信息[13]。讀者在“基本信息”模塊擁有修改的權限,以保證讀者信息的正確性。讀者雖然具有修改權限,但是不會對讀者類型進行修改。這一點的實現是把user-readers-edit.jsp頁面中的“讀者類型”設置為隱藏表單域,這樣讀者就無法進行修改,同時也保證了“讀者類型”屬性中保存的數據不會遺失。讀者在修改基本信息時,其中只有E-mail和QQ是選填項,其他為必填項。如果讀者必填項沒有填寫,表單則無法提交,這一功能的實現是運用Bootstrap插件的data-toggle屬性[14],在

中設置data-toggle="validator"可實現。密碼的修改有兩種方式:第一種是在更改讀者的基本信息時,進行修改密碼;另一種是通過點擊右上角讀者賬號出現下拉列表選擇“修改密碼”進行修改。這兩種方式都可以修改密碼,區別在于第一種方式還可以修改其他信息,功能豐富;而第二種方式僅僅能修改密碼,界面簡單。這兩種方式各有特點,讀者按照所需進行選擇。

5.1.3 借閱信息模塊

這一模塊是讀者最關注的模塊,也是系統最重要的基本模塊。讀者在點擊此模塊后,數據庫會通過讀者的借閱編號查找借閱信息。不使用讀者姓名查找的原因是避免讀者姓名重復的情況。借閱時間的實現是在讀者實體類中加入String類型的borrowDate屬性,并且在數據庫URL后面加入&zeroDateTimeBehavior=convertToNull,來保證日期類型存儲到數據庫中不會出錯[15]。

5.2 管理員(圖書館工作人員)

5.2.1 圖書類型模塊

在這個模塊中主要實現圖書類型的動態添加,因此用監聽器來解決圖書館工作人員的這個需求[16]。監聽器的實現需要使用web.xml 3.0以上版本,并且導入javax.servlet-api-3.0.1架包。如果使用的是3.0以下版本,則需在web.xml中加入 org.springframework.web.context.ContextLoaderListener 來配置監聽器。監聽器配置完成后,還需要在TypeListener類的前面加入@WebListener注解。當圖書管理系統開始運行時會最先對監聽器進行初始化,并且Java后端把數據庫中圖書類型的數據加載保存到servletContextEvent全局作用域中,這樣就保證了圖書類型可以在第一時間獲取到最新的類型。

5.2.2 圖書管理模塊

在這個模塊中能夠實現對圖書數量的統計,減少圖書館工作人員的負擔。管理員點擊“圖書管理”模塊后,Java后端查詢數據庫中的圖書信息,并顯示在books-list.jsp頁面中。圖書信息的獲取過程是,先在Java后端設置Model鍵值對,然后books-list.jsp頁面調用EL表達式來完成。其中,圖書類別的顯示是通過保存在全局作用域servletContextEvent的鍵值名來進行獲取,books-list.jsp頁面先用forEach來遍歷所有的圖書類型,然后通過判斷圖書類型id和圖書中的圖書類型id是否相等來尋找當前圖書的圖書類型。圖書圖片的顯示是Java后端到數據庫中獲取圖片的路徑數據,然后到相應的位置進行加載實現的。在增加圖書時,需要填寫序號、圖書條形碼、圖書名稱、圖書類別、圖書價格、出版日期、出版社和圖書圖片相關信息。圖書圖片用Bootstrap-fileinput圖片上傳插件來輔助完成。圖書價格和庫存輸入的信息要保證為數字,不能為其他類型,具體是通過在中加入Bootstrap的pattern屬性[17],設置為pattern="^[0-9]+(\.[0-9]{0,2})?$"來完成這個要求的。最后在中設置data-toggle="validator"來完成圖書表單信息的檢驗。

5.2.3 借閱信息模塊

在這個模塊中可以幫助圖書館工作人員進行圖書的借閱和歸還管理,把傳統的手工操作轉化為線上操作。因為線上操作可以極大地簡化圖書館工作人員借書和還書的工作負擔。圖書館工作人員通過點擊“借閱信息”來獲取讀者所有的借閱信息。當圖書館工作人員需要了解近期的借閱情況,可以點擊“借閱時間”屬性列,使借閱信息按照時間來進行排序,其他屬性列同樣也可以通過點擊來進行排序,這樣的設計是用來滿足圖書館工作人員多維度的搜索情況。屬性列的排序是通過在

標簽中引入Bootstrap-datatable插件的class="datatable responsive"進行實現的。讀者在進行還書時,圖書館工作人員只需在搜索框中輸入讀者編號就可找到讀者的全部借閱信息,如果讀者借閱信息過多,還可以在搜索框中加入其他限制條件來完成搜索。圖書館工作人員找到讀者對應的借閱信息后,點擊“編輯”按鈕后,在出現的借閱表單中把借閱狀態選為“已歸還”,點擊保存就完成了讀者的還書工作。讀者在借書時,圖書館工作人員點擊“添加記錄”按鈕,然后填寫讀者的相關信息就可完成借書工作。

相較于傳統的借書和還書工作,基于JavaEE的圖書管理系統的借閱管理更加方便、簡潔。當圖書館工作人員進行刪除借閱信息時,界面會出現刪除警告框,只有在點擊了“確定”按鈕后才會真正刪除,這樣增加了系統的容錯性。刪除警告框的實現是運用了模態框的方法,在

    <nav id="ooo24"></nav>
    <sup id="ooo24"></sup>
    • <tr id="ooo24"></tr>
      <small id="ooo24"></small><noscript id="ooo24"></noscript>