圖書館管理系統--stage2核心代碼實現

1、義務邏輯設計與實現

1.1 登錄身份驗證

本系統分爲兩個模塊,普通讀者模塊和圖書管理員模塊。在登錄時選擇不一樣的登陸界面進行身份驗證。html

普通讀者模塊:實現讀者的借書、還書、查詢書籍、我的信息等功能。ajax

1 用戶登陸部分代碼數據庫

管理員模塊:實現圖書管理員的書籍管理、用戶管理、借閱管理。json

2 管理員登錄部分代碼瀏覽器

1.2 我的用戶圖書借閱與歸還

3 用戶借書部分代碼服務器

4 用戶還書部分代碼網絡

布爾類型返回至json,json數據傳至html頁面 session

1.3 管理員圖書管理

 

5 管理員錄入新書部分代碼app

6 類別查詢書籍結果部分代碼函數

7 查詢全部書籍種類部分代碼

2、表現層設計與實現

表現層的實現主要是表格和模態框,經過Thymeleaf模板引擎接收數據和部分js接收來自後臺的數據。

①登陸界面:

8 用戶登陸界面

9 管理員登錄界面

登陸採用json提交用戶名和密碼,在後臺實現登錄用戶的查詢,若是返回的用戶存在(/isUserExist /isAdminExist)則跳入index頁面。

10 JQuery校驗管理員用戶名和密碼

11 JQurey校驗普通用戶用戶名和密碼

將身份信息部分存入session中,登錄成功:

圖 12 登陸狀態展現代碼

13 登陸狀態展現

②登陸後的index頁面

普通讀者端:

14 普通讀者端登陸界面

側邊導航欄的代碼是相同的,經過li標籤和js實現開合效果

15 左側導航欄代碼

16 垂直導航欄子功能代碼

③一些功能頁面

管理:

17 添加書籍界面

18 類別界面

19 查詢用戶界面

20 新增用戶界面

 

21 借書記錄

圖 22 用戶借書

  23 用戶還書界面

24 查詢書籍界面

25 我的信息界面

25 修改信息界面

 3、項目難點及解決方案

1.Filter攔截器致使首頁靜態資源訪問異常

剛開始使用攔截器沒有注意靜態資源的問題,致使首頁jQuery等靜態資源嘗試從localhost加載產生異常,如圖。

 

26 未加載靜態資源

 

27 瀏覽器開發者工具網絡加載狀態

通過排查發現,攔截器要放開不須要登陸的其餘全部能夠訪問的路徑,包括靜態資源的路徑,通過幾番嘗試,摸索出來了合適的結果

28 資源路徑

 

29 過濾器部分代碼

2. 部署後服務器出現錯誤代碼500/502等

 

30 錯誤代碼500/502

JDBC和Mapping配置有誤

 

圖 31 靜態資源路徑src路徑

靜態資源路徑src路徑指向有誤

4、典型代碼片斷與設計過程

以借書還書功能爲例:

①用戶輸入書籍ID後,點擊submit提交表單

32 用戶借書界面

 

33 界面實現代碼

②Jquery開始處理submit,調用borrowingBook函數

34 借書部分Jquery代碼 

③borrowingBook實現,ajax發起請求,成功獲得json返回的數據,彈窗借書的狀態,失敗則彈窗失敗

35 borrowingBook實現代碼

④UserController負責接收處理ajax的請求。

36 接受處理請求代碼

⑤調用service接口中借書處理的API.

37 調用service API處理借書代碼

⑥借書操做API的具體實現。

首先,從session得到當前用戶名。

而後,檢查該書是否可借,從借書記錄表中查詢該書是否已借出,若已借出則返回false。

最後,增長一條借書記錄。

完成借書操做,返回true。

38 借書操做API實現代碼

⑦還書操做API的實現。

首先,從session得到當前用戶名。

而後,刪除數據庫中user_d等userId,book_id等bookId的記錄。

完成還書操做,返回true。

39 還書操做API的實現代碼

點擊到網頁

相關文章
相關標籤/搜索