基于SSH框架的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文_第1頁
基于SSH框架的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文_第2頁
基于SSH框架的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文_第3頁
基于SSH框架的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文_第4頁
基于SSH框架的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

文檔均為word文檔,下載后可直接編輯使用亦可打印摘要如今已經(jīng)我們已經(jīng)步入了信息時(shí)代,而在信息科技快速發(fā)展的形勢下,網(wǎng)絡(luò)現(xiàn)已成為我們工作和日常生活中必不可少的一部分。計(jì)算機(jī)技術(shù)的發(fā)展不僅提高了我們的工作效率,為日常工作提供了極大的便利,而且還在大大地改善了我們生活質(zhì)量。通過計(jì)算機(jī)代替人工來處理數(shù)據(jù)已經(jīng)成為趨勢。傳統(tǒng)的通過人工來管理圖書資源和讀者借閱信息的方式不僅浪費(fèi)時(shí)間和人力,而且還容易導(dǎo)致數(shù)據(jù)丟失錯(cuò)亂,基于計(jì)算機(jī)技術(shù)的圖書管理系統(tǒng)在此背景下應(yīng)運(yùn)而生。圖書管理系統(tǒng)主要是幫助圖書管理員實(shí)現(xiàn)通過計(jì)算機(jī)來進(jìn)行圖書信息和讀者借閱信息的管理的目的,將傳統(tǒng)的通過人工來管理的信息都交給計(jì)算機(jī)進(jìn)行處理,由計(jì)算機(jī)來對(duì)相關(guān)信息進(jìn)行增加、修改、查詢和刪除操作;普通用戶也可以通過圖書管理系統(tǒng)來對(duì)圖書進(jìn)行借閱歸還操作和對(duì)自己的圖書借閱信息進(jìn)行查詢。該圖書管理系統(tǒng)基于Java的SSH框架進(jìn)行設(shè)計(jì)開發(fā),后臺(tái)使用Java來進(jìn)行增刪改查操作,前端使用JSP來搭建頁面,同時(shí)使用了MySQL作為數(shù)據(jù)庫系統(tǒng)進(jìn)行相關(guān)的數(shù)據(jù)保存。該系統(tǒng)為圖書管理員提供了一個(gè)簡單的平臺(tái)來對(duì)圖書信息、讀者信息和借閱信息進(jìn)行管理,在降低了圖書管理員的工作量和提高圖書管理員的工作效率的同時(shí),也方便了用戶的操作,適應(yīng)了時(shí)代的發(fā)展。關(guān)鍵詞:圖書管理系統(tǒng),Java,MySQL,SSH

BookmanagementsystembasedonSSHframeworkAbstractNowthatwehaveenteredtheinformationage,andwiththerapiddevelopmentofinformationtechnology,theInternethasnowbecomeanindispensablepartofourworkanddailylife.Thedevelopmentofcomputertechnologynotonlyimprovesourworkefficiencyandprovidesgreatconveniencefordailywork,butalsogreatlyimprovesourqualityoflife.Ithasbecomeatrendtousecomputersinsteadofhumanstoprocessdata.Thetraditionalwayofmanuallymanagingbookresourcesandreadersborrowinginformationisnotonlyawasteoftimeandmanpower,butalsoeasytocausedatalossandconfusion.Alibrarymanagementsystembasedoncomputertechnologycameintobeinginthiscontext.Thebookmanagementsystemismainlytohelplibrarianstorealizethepurposeofmanagingbookinformationandreaderborrowinginformationthroughcomputers.Thetraditionalmanualmanagementinformationishandedovertothecomputerforprocessing,andthecomputeraddsrelevantinformation,Modify,queryanddeleteoperations;ordinaryuserscanalsoborrowandreturnbooksandquerytheirownbookborrowinginformationthroughthebookmanagementsystem.ThelibrarymanagementsystemisdesignedanddevelopedbasedontheJavaSSHframework.ThebackgroundusesJavatoadd,delete,modify,andcheckoperations.ThefrontendusesJSPtobuildpages,andusesMySQLasthedatabasesystemforrelateddatastorage.Thesystemprovidesasimpleplatformforlibrarianstomanagebookinformation,readerinformationandborrowinginformation,whichreducestheworkloadoflibrariansandimprovestheefficiencyoflibrarians,andalsofacilitatesOperation,adaptedtothedevelopmentofthetimes.Keywords:BookManagementSystem,Java,MySQL,SSH

目錄1.前言 11.1課題研究現(xiàn)狀及意義 11.2研究目標(biāo)及內(nèi)容 12.可行性分析 22.1經(jīng)濟(jì)可行性 22.2技術(shù)可行性 22.3操作可行性 23.相關(guān)技術(shù)與環(huán)境 23.1軟件開發(fā)環(huán)境 33.2Java介紹 33.3MySQL介紹 43.4SSH框架介紹 43.5 JSP介紹 54.數(shù)據(jù)庫設(shè)計(jì) 54.1數(shù)據(jù)庫需求分析 54.2數(shù)據(jù)庫設(shè)計(jì) 64.2.1用戶信息表 64.2.2圖書信息表 74.2.3圖書借閱表 74.2.4借閱歷史記錄表 85.模塊設(shè)計(jì)與實(shí)現(xiàn) 85.1需求分析 85.2注冊(cè)登錄模塊 95.2.1用戶注冊(cè) 95.2.2管理員注冊(cè) 105.2.3用戶登錄 115.2.4用戶注銷 135.3用戶信息管理模塊 155.3.1查看用戶信息 155.3.2修改密碼 155.3.3修改個(gè)人信息 165.4圖書管理模塊 175.4.1新增圖書 175.4.2查詢圖書 185.4.3修改圖書 185.4.4刪除圖書 195.5圖書借閱模塊 205.5.1圖書借閱 215.5.2圖書歸還 225.5.3圖書借閱記錄查詢 236.系統(tǒng)測試 257.總結(jié) 26參考文獻(xiàn) 27謝辭 28前言1.1課題研究現(xiàn)狀及意義如今每天都會(huì)有大量的圖書和期刊出版,導(dǎo)致圖書館中書籍的數(shù)量大幅度增加,而圖書館的工作人員需要對(duì)大量的圖書信息進(jìn)行管理,更新圖書信息,處理讀者圖書借閱的相關(guān)信息及他們?cè)敿?xì)的個(gè)人信息,在協(xié)助讀者進(jìn)行圖書借閱與歸還操作的同時(shí),還需要記錄下讀者借閱與歸還圖書時(shí)的相關(guān)信息,這時(shí)候傳統(tǒng)的人工處理方式的弊端也逐步顯現(xiàn):需要大量的人力分配到各個(gè)崗位進(jìn)行管理,需要管理的數(shù)據(jù)信息量大到讓人難以承受,費(fèi)時(shí)費(fèi)力,且通過人工管理的數(shù)據(jù)信息容易丟失,并經(jīng)常會(huì)出現(xiàn)信息交叉錯(cuò)亂的情況。我們現(xiàn)在已經(jīng)進(jìn)入到互聯(lián)網(wǎng)時(shí)代,通過計(jì)算機(jī)代替人工來處理數(shù)據(jù)已經(jīng)成為趨勢,所以圖書館的管理工作也應(yīng)該順應(yīng)互聯(lián)網(wǎng)技術(shù)發(fā)展的步伐。在計(jì)算機(jī)中最顯著的特征是數(shù)據(jù)存儲(chǔ)量大、數(shù)據(jù)處理速度快且數(shù)據(jù)保存穩(wěn)定持久,它可以及時(shí)、快速、準(zhǔn)確地處理數(shù)據(jù)信息。在圖書管理工作中通過使用較為先進(jìn)的計(jì)算機(jī)技術(shù)對(duì)圖書信息、讀者信息和圖書借閱記錄信息進(jìn)行動(dòng)態(tài)化、規(guī)范化的管理,這樣在提高圖書管理員的工作效率,減少在圖書管理工作中的人力投入的同時(shí),還可以讓圖書館中的圖書資源得到更加充分的利用,使得圖書管理具備更大的靈活性和實(shí)用性,這是在圖書管理工作中實(shí)現(xiàn)數(shù)字化、精細(xì)化和科學(xué)化管理的一種方式,也是讓圖書管理工作朝著現(xiàn)代化、智能化方向前進(jìn)的一種手段。計(jì)算機(jī)技術(shù)的發(fā)展和應(yīng)用為處理大量的數(shù)據(jù)信息,長時(shí)間保證數(shù)據(jù)和保證數(shù)據(jù)的安全提供了可能。通過計(jì)算機(jī)對(duì)相關(guān)數(shù)據(jù)信息進(jìn)行管理,使得圖書管理和讀者借閱管理分離的傳統(tǒng)圖書管理方式得到了改變,實(shí)現(xiàn)了在圖書館相關(guān)信息管理上的規(guī)范化和系統(tǒng)化。圖書管理系統(tǒng)以計(jì)算機(jī)為操作工具,在網(wǎng)頁上運(yùn)行,可以把圖書信息和讀者借閱信息保存在數(shù)據(jù)庫中,通過計(jì)算機(jī)可以快速地對(duì)圖書數(shù)據(jù)進(jìn)行增刪改查操作,而讀者也可通過該系統(tǒng)簡化圖書借閱的流程,在方便工作人員的管理,提高工作效率的同時(shí),也方便的讀者對(duì)自己的借閱信息進(jìn)行了解。1.2研究目標(biāo)及內(nèi)容圖書管理系統(tǒng)主要是通過將傳統(tǒng)的人工保存方式管理的圖書信息和讀者借閱信息保存在計(jì)算機(jī)的數(shù)據(jù)庫中,在管理員方面可以實(shí)現(xiàn)對(duì)圖書信息的管理及對(duì)讀者借閱記錄和用戶相關(guān)信息的查詢;在用戶方面實(shí)現(xiàn)對(duì)個(gè)人信息的管理,對(duì)圖書的借閱和歸還以及對(duì)圖書借閱記錄的查詢。目的是在圖書管理員方面降低他們的工作量,提高工作效率,在用戶方面可以方便用戶對(duì)圖書進(jìn)行借閱與歸還操作和隨時(shí)隨地地查詢自己的借閱記錄。主要研究內(nèi)容是通過查閱資料,完成對(duì)圖書管理系統(tǒng)的數(shù)據(jù)庫的設(shè)計(jì),并為用戶和管理員分別開發(fā)頁面,在實(shí)現(xiàn)圖書管理系統(tǒng)中的圖書管理,圖書借閱和相關(guān)信息查詢等基礎(chǔ)功能的同時(shí)也保證角色權(quán)限的控制和信息的安全??尚行苑治?.1經(jīng)濟(jì)可行性該圖書管理系統(tǒng)是基于Java進(jìn)行開發(fā)設(shè)計(jì)的,不需要再購買設(shè)備進(jìn)行開發(fā),開發(fā)時(shí)使用的軟件也都是免費(fèi)的,且該系統(tǒng)是基于web網(wǎng)頁進(jìn)行各個(gè)操作,對(duì)計(jì)算機(jī)系統(tǒng)配置的要求并不高,所以該系統(tǒng)的開發(fā)成本和日后的維護(hù)費(fèi)用并不高。同時(shí)該系統(tǒng)簡化圖書管理員的操作,減輕了圖書管理員的工作負(fù)擔(dān),也降低了在圖書管理中人力投入。在經(jīng)過綜合比較后可以發(fā)現(xiàn)該系統(tǒng)具有經(jīng)濟(jì)可行性。2.2技術(shù)可行性該圖書管理系統(tǒng)使用了基于Java的SSH框架,其中后臺(tái)程序使用了Java語言進(jìn)行開發(fā),與其他編程語言相比,Java語言具有面向?qū)ο蟆⒄{(diào)試簡單、可移植性高等多個(gè)特點(diǎn);而在前端頁面開發(fā)方面則采用了JSP、CSS、JavaScript等技術(shù)進(jìn)行布局設(shè)計(jì)和部分輸入框的輸入控制,頁面布局簡潔美觀,操作友好簡單,使用方便,而且SSH框架的使用歷史悠久,在此之前的許多網(wǎng)站都是基于SSH框架進(jìn)行開發(fā),在開發(fā)Web項(xiàng)目時(shí)使用SSH框架是一種輕量級(jí)的很好的解決方案,與其他框架相比SSH框架的使用較為成熟,所以該系統(tǒng)具有技術(shù)可行性。2.3操作可行性該圖書管理系統(tǒng)前端頁面主要是通過使用JSP、CSS、JavaScript等技術(shù)進(jìn)行布局設(shè)計(jì),所有操作都是在網(wǎng)頁上完成,無需另外下載安裝軟件,界面友好,操作簡單。圖書管理員可以通過該系統(tǒng)對(duì)圖書資源信息進(jìn)行更新,對(duì)用戶信息進(jìn)行管理,而用戶也可以通過該系統(tǒng)方便快捷地對(duì)圖書進(jìn)行借閱和歸還操作,所以該系統(tǒng)具有操作可行性。相關(guān)技術(shù)與環(huán)境3.1軟件開發(fā)環(huán)境Myeclipse版本:Myeclipse2016MySQL版本:MySQL8.0.16Tomcat版本:7.0.56Jdk版本:1.8.0_2013.2Java介紹Java是一門高級(jí)的、面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,在如今眾多的編程語言中占據(jù)了比較大的市場份額。Java主要分為三個(gè)版本,分別為JavaSE,JavaEE和JavaME。其中JavaSE是標(biāo)準(zhǔn)版的Java,其他版本的Java都是在JavaSE的基礎(chǔ)上進(jìn)行修改的,其主要作用是用于一般的Java程序(如桌面應(yīng)用程序)的開發(fā);JavaEE是企業(yè)版的Java,此版本的是在JavaSE的基礎(chǔ)上加上了各種應(yīng)用框架以便程序的開發(fā),主要是在企業(yè)上用于開發(fā)和部署可移植且安全的服務(wù)器端分布式網(wǎng)絡(luò)應(yīng)用程序(如Web應(yīng)用);最后的JavaME是平臺(tái)微型版的Java,它主要用于移動(dòng)設(shè)備和嵌入式設(shè)備上的軟件開發(fā)。在此圖書管理系統(tǒng)中用的是JavaEE版本。Java的特性如下:面向?qū)ο螅好嫦驅(qū)ο笫荍ava語言的基礎(chǔ)。在Java語言里一切皆對(duì)象,即將所有的問題都看作是兩個(gè)不同對(duì)象之間的交互,并將所有的對(duì)象都抽象成了屬性和方法的集合。跨平臺(tái):Java中的虛擬機(jī)機(jī)制(即JavaVirtualMachine,簡稱JVM)實(shí)現(xiàn)了Java語言不需要再重新編譯即可以在不同的平臺(tái)上可以正常運(yùn)行。而正是因?yàn)镴ava中有了這個(gè)虛擬機(jī)機(jī)制才保證了Java語言的強(qiáng)大的可移植性。健壯性:Java語言中的異常處理和垃圾回收機(jī)制等都是其健壯性的重要體現(xiàn)。多線程:Java可以支持同一個(gè)進(jìn)程內(nèi)的多個(gè)線程同時(shí)進(jìn)行工作以提高程序的執(zhí)行效率,而且還提供了多線程之間的同步機(jī)制以保證線程的安全。解釋執(zhí)行:Java程序在安裝有Java環(huán)境的平臺(tái)上運(yùn)行時(shí)會(huì)先通過編譯器將由Java語言編寫的源代碼編譯成字節(jié)碼,而這些字節(jié)碼會(huì)被Java虛擬機(jī)中的解釋器解釋成計(jì)算機(jī)所認(rèn)識(shí)的機(jī)器碼,從而保證程序可以在安裝有Java環(huán)境的操作系統(tǒng)上正常運(yùn)行。簡單性:因?yàn)镴ava語言是從C++語言發(fā)展起來的,所以在編程使用的語法上Java語言與C++語言較為相近,但是與C++不同的是Java語言丟棄了許多(例如指針等)在C++中難以理解的特性。同時(shí)因?yàn)镴ava加入了垃圾回收機(jī)制,所以程序員在開發(fā)程序的過程中不用再去關(guān)心程序中的內(nèi)存分配及垃圾回收等煩人的問題,簡化了編程過程的同時(shí)也提高了編程效率。3.3MySQL介紹數(shù)據(jù)庫是一個(gè)系統(tǒng)的保存數(shù)據(jù)的核心部分,常用數(shù)據(jù)庫管理系統(tǒng)包括MySQL、SQLService和Oracle等,而在本系統(tǒng)的開發(fā)中則選擇了MySQL作為數(shù)據(jù)庫。MySQL是目前在WEB應(yīng)用程序開發(fā)方面較為流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(即RelationalDatabaseManagementSystem:簡稱RDBMS)的應(yīng)用軟件之一。MySQL的特點(diǎn)是可以跨平臺(tái)且開源,在支持Linux和Windows等多種常用的操作系統(tǒng)的同時(shí),也為C、C++、Python、Java、PHP等多種常用的編程語言都提供了API接口供它們使用,其數(shù)據(jù)處理量大且處理速度快,服務(wù)穩(wěn)定,軟件體積小,方便維護(hù)。與其他大型系統(tǒng)相比,圖書管理系統(tǒng)中的數(shù)據(jù)處理量并不算大,而且MySQL與其他數(shù)據(jù)庫管理軟件相比,其用戶使用量較大,在遇到問題時(shí)能夠及時(shí)尋求解決方法,所以選擇MySQL作為圖書管理系統(tǒng)的數(shù)據(jù)庫是一個(gè)不錯(cuò)的選擇。3.4SSH框架介紹SSH框架是一個(gè)集成框架,其結(jié)構(gòu)包括4層:即實(shí)體層,控制層,業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。其中實(shí)體層主要是用Java語言將數(shù)據(jù)庫中所用到的字段封裝成一個(gè)類,這樣在傳參時(shí)只需要傳一個(gè)類即可;數(shù)據(jù)訪問層負(fù)責(zé)由hibernate來與數(shù)據(jù)庫進(jìn)行連接,通過使用hibernate語句(HQL語句)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫表的數(shù)據(jù)進(jìn)行讀寫操作;業(yè)務(wù)邏輯層主要是對(duì)業(yè)務(wù)邏輯的進(jìn)行處理,其工作過程主要是通過調(diào)用數(shù)據(jù)訪問層來實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的持久化;控制層則是通過struts2來與前端網(wǎng)頁進(jìn)行數(shù)據(jù)交互,以及調(diào)用業(yè)務(wù)邏輯層進(jìn)行業(yè)務(wù)邏輯處理??偟膩碚fSSH框架主要由struts2+spring+hibernate三部分組成:struts2是一個(gè)基于MVC設(shè)計(jì)模式的、用于開發(fā)JavaEE應(yīng)用程序的web應(yīng)用框架,MVC設(shè)計(jì)模式:即在應(yīng)用程序開發(fā)過程中將應(yīng)用分成模型(Model)、視圖(View)和控制器(Control)三部分分別進(jìn)行設(shè)計(jì)。struts2主要起到了控制作用,負(fù)責(zé)接收網(wǎng)頁中通過表單提交的數(shù)據(jù),在action中將接收到的數(shù)據(jù)進(jìn)行處理,最后再將最后的處理結(jié)果返回到對(duì)應(yīng)的網(wǎng)頁中。struts2以WebWord為核心,通過采用攔截器的方式來處理用戶的請(qǐng)求。spring是一個(gè)開源且輕量級(jí)的容器框架,它最大的特點(diǎn)就是控制反轉(zhuǎn)(IoC)和面向切面(AOP)。在SSH框架中,spring在SSH框架中主要是起到了控制struts2框架中的action對(duì)象和service類的作用,以達(dá)到解耦的目的,簡化了程序員的開發(fā)流程。hibernate是一個(gè)開源的對(duì)象關(guān)系映射框架(ObjectRelationalMapping,簡稱ORM),在SSH框架中其主要作用是與數(shù)據(jù)庫進(jìn)行連接并對(duì)數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行讀寫操作。為了簡化在數(shù)據(jù)訪問層中對(duì)數(shù)據(jù)進(jìn)行操作時(shí)重復(fù)出現(xiàn)的代碼,hibernate框架對(duì)傳統(tǒng)的通過JDBC來訪問數(shù)據(jù)庫的代碼進(jìn)行了深度的封裝;提供了從Java類到數(shù)據(jù)庫表的映射從而達(dá)到直接存取Java對(duì)象的目的,降低了數(shù)據(jù)訪問過程中的復(fù)雜度;同時(shí)把直接對(duì)數(shù)據(jù)庫進(jìn)行的操作轉(zhuǎn)化成了對(duì)持久化對(duì)象的操作,提高了程序員的編程效率。JSP介紹JSP(JavaServerPages)是一種動(dòng)態(tài)的網(wǎng)頁開發(fā)技術(shù),它可以根據(jù)服務(wù)器端的程序來動(dòng)態(tài)生成不同的頁面。JSP頁面主要是通過引入JSP標(biāo)簽的方式達(dá)到在普通的HTML網(wǎng)頁中插入Java的代碼的目的,實(shí)現(xiàn)HTML代碼和Java代碼共存,所以JSP技術(shù)和Java語言一樣具有跨平臺(tái)運(yùn)行的特性,其主要作用是在JavaWeb程序設(shè)計(jì)中實(shí)現(xiàn)前端的用戶操作界面的部分。其特點(diǎn)是能夠方便的與服務(wù)器進(jìn)行數(shù)據(jù)交互,能夠訪問數(shù)據(jù)庫。其工作過程是web服務(wù)器在遇到JSP的網(wǎng)頁訪問請(qǐng)求時(shí),會(huì)先執(zhí)行其中的程序片段,然后將其最后的執(zhí)行結(jié)果以HTML的格式返回給用戶客戶端,其中所有的程序操作都是在服務(wù)器端進(jìn)行執(zhí)行,而從服務(wù)器端返回到客戶端的只是最后執(zhí)行得到的結(jié)果,所以使用JSP技術(shù)開發(fā)圖書管理系統(tǒng)的前端頁面這種方式對(duì)用戶計(jì)算機(jī)的配置要求很低。[1]數(shù)據(jù)庫設(shè)計(jì)4.1數(shù)據(jù)庫需求分析數(shù)據(jù)庫是圖書管理系統(tǒng)中最重要的一部分,所以在設(shè)計(jì)數(shù)據(jù)庫時(shí),需要先確定各張表中所需要用到的字段,以及確定表與表之間的外鍵從而實(shí)現(xiàn)它們之間的表關(guān)聯(lián)。該系統(tǒng)主要分為用戶注冊(cè)登錄模塊,用戶信息管理模塊,圖書管理模塊和圖書借閱模塊,下面是在該系統(tǒng)中使用到的表的相關(guān)描述及表與表之間的聯(lián)系:用戶信息表:該表來保存用戶的賬號(hào)密碼等信息,同時(shí)也保存了用戶信息管理模塊中管理的用戶基本信息,包括用戶id(主鍵),用戶名,密碼,用戶類型(普通用戶或管理員),真實(shí)姓名,聯(lián)系電話,生日,上次登錄時(shí)間,注冊(cè)時(shí)間和逾期次數(shù);圖書信息表:該表用來保存圖書的基本信息,包括圖書id(主鍵),圖書名稱,類型,作者,出版社,總數(shù)量,剩余數(shù)量,被借閱總次數(shù),新增者,圖書描述;圖書借閱表:該表用來保存用戶借閱圖書后尚未歸還記錄的基本信息,包括借閱記錄id(主鍵),借閱者姓名,圖書名稱,借閱日期,最晚歸還日期,圖書id,用戶id。其中圖書id是圖書信息表的外鍵,用戶id則是用戶信息表的外鍵,在對(duì)圖書借閱表進(jìn)行操作時(shí)可以通過圖書id和用戶id兩個(gè)外鍵來分別對(duì)圖書信息表和用戶信息表的相關(guān)關(guān)聯(lián)信息進(jìn)行查詢;借閱歷史記錄表:該表用來保存用戶歸還圖書后記錄下的相關(guān)信息,包括借閱記錄id(主鍵),借閱者姓名,圖書名稱,借閱日期,歸還日期,圖書id,用戶id。其中圖書id是圖書信息表的外鍵,用戶id則是用戶信息表的外鍵,在對(duì)借閱歷史記錄表進(jìn)行操作時(shí)可以通過圖書id和用戶id兩個(gè)外鍵來分別對(duì)圖書信息表和用戶信息表的相關(guān)關(guān)聯(lián)信息進(jìn)行查詢;;4.2數(shù)據(jù)庫設(shè)計(jì)根據(jù)我們上方的數(shù)據(jù)庫需求分析,我們可以將圖書管理系統(tǒng)中數(shù)據(jù)庫表的表結(jié)構(gòu)列出:該圖書管理系統(tǒng)的數(shù)據(jù)庫主要由四張表組成,分別是用戶信息表,圖書信息表,圖書借閱表和借閱歷史記錄表。下面是各個(gè)表的詳細(xì)設(shè)計(jì):4.2.1用戶信息表表4.1用戶信息表序號(hào)字段名稱字段類型長度是否允許為空備注1uidint11否主鍵,用戶id2usernamevarchar50否用戶名3passwordvarchar50否密碼4usertypevarchar10否用戶類型5actualnamevarchar50是用戶真實(shí)姓名6phonenovarchar11是聯(lián)系電話7birthdaydatetime是生日8lastlogintimedatetime是上次登陸時(shí)間9registertimedatetime是注冊(cè)時(shí)間10numberofoverdueint11是逾期次數(shù)4.2.2圖書信息表表4.2圖書信息表序號(hào)字段名稱字段類型長度是否允許為空備注1idint11否主鍵,圖書id2namevarchar50否圖書名稱3typevarchar5否圖書類型4authorvarchar50否作者5publishvarchar50否出版社6amountint11否剩余數(shù)量7totalamountint11否總數(shù)量8principalvarchar50否新增者9descriptionvarchar255否圖書描述4.2.3圖書借閱表表4.3圖書借閱表序號(hào)字段名稱字段類型長度是否允許為空備注1idint11否主鍵,借閱記錄id2namevarchar50否借閱者姓名3booknamevarchar50否圖書名稱4borrowdatedatetime否借閱日期5latestreturndatedatetime否最晚歸還日期6bookidint11否圖書信息表外鍵,圖書id7useridint11否用戶信息表外鍵,用戶id4.2.4借閱歷史記錄表表4.4借閱歷史記錄表序號(hào)字段名稱字段類型長度是否允許為空備注1idint11否主鍵,借閱歷史記錄id2namevarchar50否借閱者姓名3booknamevarchar50否圖書名稱4borrowdatedatetime否借閱日期5returndatedatetime否歸還日期6bookidint11否圖書信息表外鍵,圖書id7useridint11否用戶信息表外鍵,用戶id模塊設(shè)計(jì)與實(shí)現(xiàn)5.1需求分析圖書管理系統(tǒng)主要分為注冊(cè)登錄模塊,用戶信息管理模塊,圖書管理模塊,圖書借閱模塊等四大模塊。注冊(cè)登錄模塊和用戶信息管理模塊主要是對(duì)用戶信息表進(jìn)行操作;圖書管理模塊主要是對(duì)圖書信息表進(jìn)行操作;圖書借閱模塊主要是對(duì)圖書借閱表和借閱歷史記錄表進(jìn)行操作,同時(shí)可通過圖書id和用戶id這兩個(gè)外鍵分別對(duì)圖書信息表和用戶信息表進(jìn)行操作。圖5.1系統(tǒng)功能圖5.2注冊(cè)登錄模塊注冊(cè)登錄模塊是圖書管理系統(tǒng)最重要的一個(gè)模塊,其他模塊都是需要在用戶正常登錄后才可以進(jìn)行正常操作,所以該模塊直接影響到整個(gè)圖書管理系統(tǒng)的安全性。其中為了實(shí)現(xiàn)用戶和管理員的權(quán)限分配功能,系統(tǒng)為管理員和用戶兩個(gè)角色分別開發(fā)了不同的主頁,在登錄時(shí)會(huì)對(duì)登錄用戶的用戶類型進(jìn)行判斷,不同的用戶類型在登錄成功后會(huì)跳轉(zhuǎn)到各自的主頁中。5.2.1用戶注冊(cè)這部分主要是實(shí)現(xiàn)用戶注冊(cè)功能,用戶在注冊(cè)時(shí)需要完整輸入所有信息。在點(diǎn)擊提交按鈕后系統(tǒng)會(huì)先在前端頁面中通過JavaScript來檢查輸入密碼是否合法(密碼首位必須是大寫,密碼總長度需要大于6位),兩次輸入的密碼是否相同,若檢查不通過則會(huì)拒絕該表單提交并提示錯(cuò)誤信息,檢查通過后則會(huì)將表單中的信息提交到后臺(tái),在后臺(tái)中會(huì)將輸入的注冊(cè)用戶名與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行比對(duì),如果存在相同的用戶名則會(huì)拒絕該注冊(cè)操作,并將錯(cuò)誤信息返回到前端頁面中顯示;不存在相同的記錄則將表單中的信息保存到數(shù)據(jù)庫,此時(shí)后臺(tái)會(huì)記錄下此時(shí)的時(shí)間一同保存到用戶表的注冊(cè)時(shí)間中,前端頁面則會(huì)提示注冊(cè)成功。另外為了區(qū)分用戶和管理員兩個(gè)不同的角色,在用戶注冊(cè)時(shí),用戶注冊(cè)頁面中會(huì)有一個(gè)隱藏輸入框默認(rèn)給usertype賦值(usertype賦值為1),用戶無法對(duì)其修改,保證了在用戶注冊(cè)頁面提交注冊(cè)的用戶類型只能為普通用戶。圖5.2用戶注冊(cè)頁面圖5.3注冊(cè)成功5.2.2管理員注冊(cè)這部分主要是實(shí)現(xiàn)管理員注冊(cè)的功能。為了保證普通用戶無法通過該注冊(cè)頁面注冊(cè)管理員賬戶,因此將管理員注冊(cè)設(shè)置為管理員的權(quán)限,即只有通過使用管理員賬號(hào)登錄系統(tǒng)后才能正常訪問該頁面,而普通用戶則無法訪問該頁面。管理員注冊(cè)只需輸入用戶名和密碼即可,其他字段無需輸入,輸入的密碼也會(huì)通過JavaScript進(jìn)行驗(yàn)證,驗(yàn)證通過后即可將信息提交到后臺(tái)進(jìn)行用戶名驗(yàn)證。在管理員注冊(cè)時(shí),管理員注冊(cè)頁面中會(huì)有一個(gè)隱藏輸入框默認(rèn)給usertype賦值(usertype賦值為0),用戶無法修改,保證了在管理員注冊(cè)頁面提交注冊(cè)的用戶類型只能為管理員。圖5.4管理員注冊(cè)圖5.5管理員注冊(cè)成功5.2.3用戶登錄此部分主要是實(shí)現(xiàn)了用戶的登錄功能。用戶登錄和管理員登錄使用的是同一個(gè)登陸頁面,在登陸時(shí)除了輸入用戶名和密碼外還需要選擇用戶類型,選擇管理員時(shí)會(huì)給usertype字段傳0,選擇用戶時(shí)會(huì)給usertype字段傳1。在輸入用戶名、密碼和選擇用戶類型后,點(diǎn)擊登錄后會(huì)將所有信息提交到后臺(tái)進(jìn)行驗(yàn)證。驗(yàn)證失敗會(huì)拒絕用戶登錄并將錯(cuò)誤信息返回到前端顯示;驗(yàn)證成功后,用戶部分會(huì)將用戶的id和真實(shí)姓名保存到session中,管理員部分則會(huì)將管理員的id和用戶名保存到session中,并根據(jù)用戶類型返回不同的字符串,在struts.xml配置頁面根據(jù)返回的不同的字符串來跳轉(zhuǎn)到不同的主頁,實(shí)現(xiàn)了用戶和管理員的權(quán)限分配。在打開主頁時(shí)會(huì)先檢查session中是否有值,session中有值則代表用戶已登錄,可以正常訪問;若session中沒有值則代表用戶尚未登錄,通過JSP域名訪問該頁面后會(huì)自動(dòng)跳轉(zhuǎn)到登陸頁面,另外使用了struts的攔截器對(duì)action進(jìn)行登錄攔截,即用戶在未登陸時(shí)通過action路徑來訪問頁面會(huì)進(jìn)行攔截并自動(dòng)跳轉(zhuǎn)到登錄頁面,防止用戶信息泄露和數(shù)據(jù)被非法修改。圖5.6管理員登錄圖5.7管理員登錄成功圖5.8用戶登錄圖5.9用戶登錄成功在主頁中會(huì)有退出登錄按鈕,在點(diǎn)擊按鈕后后臺(tái)會(huì)將session中的值清空并自動(dòng)跳轉(zhuǎn)到登陸頁面,實(shí)現(xiàn)了退出登錄的功能。圖5.10退出登錄5.2.4用戶注銷此部分主要是實(shí)現(xiàn)了用戶注銷的功能。用戶在點(diǎn)擊注銷用戶按鈕后會(huì)在后臺(tái)檢查該用戶是否有圖書未歸還的記錄,有圖書未歸還記錄則拒絕注銷,沒有則會(huì)直接刪除該用戶并自動(dòng)跳轉(zhuǎn)到登陸頁面,實(shí)現(xiàn)用戶賬戶注銷的功能。圖5.11存在圖書未歸還記錄圖5.12點(diǎn)擊注銷用戶圖5.13用戶注銷失敗圖5.14用戶注銷成功5.3用戶信息管理模塊5.3.1查看用戶信息在使用管理員賬號(hào)登錄后,在管理員的主頁點(diǎn)擊用戶管理,可以查詢到有關(guān)所有用戶的信息并以分頁形式顯示,在此頁面中可以查詢到用戶的詳細(xì)信息和該用戶的圖書未歸還記錄。圖5.15管理員查詢所有用戶5.3.2修改密碼用戶在點(diǎn)擊修改密碼按鈕后,會(huì)跳轉(zhuǎn)到密碼修改頁面,在此頁面中修改密碼時(shí)需要輸入舊密碼進(jìn)行驗(yàn)證,驗(yàn)證通過后才允許修改密碼。新密碼也會(huì)通過JavaScript來驗(yàn)證密碼合法性和兩次輸入的密碼是否相同,在密碼修改成功后用戶會(huì)自動(dòng)退出登錄并跳轉(zhuǎn)到登陸頁面。圖5.16密碼修改前圖5.17修改密碼圖5.18密碼修改后5.3.3修改個(gè)人信息用戶點(diǎn)擊修改個(gè)人信息按鈕后,會(huì)跳轉(zhuǎn)到個(gè)人信息修改頁面,并將數(shù)據(jù)庫中的個(gè)人信息查詢并顯示出來。在此頁面中只有聯(lián)系電話可以進(jìn)行修改,其他信息都是只讀狀態(tài),用戶無法修改。圖5.19修改個(gè)人信息圖5.20修改成功5.4圖書管理模塊圖書管理模塊主要是實(shí)現(xiàn)對(duì)圖書信息進(jìn)行管理的功能,在這部分圖書的新增、修改、刪除只能由管理員進(jìn)行操作,用戶無法操作,保證了圖書信息的安全性。其主要分為新增圖書,查詢圖書,修改圖書和刪除圖書。5.4.1新增圖書此部分主要是實(shí)現(xiàn)新增圖書的功能,該頁面只有管理員能夠打開,用戶無法訪問該頁面。在此頁面中,所有信息都需要輸入,通過JavaScript來驗(yàn)證是否全部輸入,沒有全部輸入則提示錯(cuò)誤。需要注意的是在新增時(shí)圖書剩余數(shù)量是根據(jù)輸入的總數(shù)量來自動(dòng)生成,無法修改。在全部信息正確輸入后點(diǎn)擊提交按鈕即可實(shí)現(xiàn)圖書的新增操作,圖書新增完成后會(huì)自動(dòng)跳轉(zhuǎn)到圖書查詢頁面,在此頁面中可以以分頁形式查詢到數(shù)據(jù)庫中所有的圖書信息。圖5.21新增圖書圖5.22新增成功5.4.2查詢圖書此部分主要是將所有的圖書信息以分頁形式顯示到頁面中,在圖書查詢頁面可以通過按輸入的不同條件進(jìn)行查詢,查詢成功后將符合條件的記錄顯示到頁面中。在按條件查詢并進(jìn)行翻頁時(shí),系統(tǒng)會(huì)將輸入的查詢條件通過路徑形式傳遞到后臺(tái),后臺(tái)獲取到查詢條件后則按相應(yīng)的查詢條件進(jìn)行搜索,最后將符合條件的記錄返回到前端頁面中。圖書查詢功能主要分為用戶查詢和管理員查詢,用戶查詢圖書的頁面在圖書信息后會(huì)有借閱按鈕,選擇某一條圖書記錄后的借閱按鈕后可以對(duì)該圖書進(jìn)行借閱;管理員查詢圖書的頁面在圖書信息后會(huì)有編輯按鈕,選擇某一條圖書記錄后的編輯按鈕后可以對(duì)該圖書進(jìn)行編輯。圖5.23用戶查詢圖書列表圖5.24管理員查詢圖書5.4.3修改圖書此部分主要是實(shí)現(xiàn)對(duì)圖書的部分信息進(jìn)行修改的功能。在使用管理員賬號(hào)登錄后才可對(duì)圖書信息進(jìn)行編輯,保證了圖書信息無法被用戶修改。在圖書列表中選擇其中的一條記錄,點(diǎn)擊編輯按鈕即可進(jìn)入到圖書編輯頁面對(duì)部分圖書信息進(jìn)行修改。其中剩余圖書數(shù)量為只讀,其值的改變主要是根據(jù)修改后的圖書總數(shù)量與尚未歸還的圖書數(shù)量進(jìn)行計(jì)算得出;圖書總數(shù)量的范圍也做了限制,即圖書總數(shù)量不得少于尚未歸還圖書的數(shù)量,保證了圖書數(shù)量的準(zhǔn)確性。圖5.25管理員修改圖書信息5.4.4刪除圖書此部分主要是實(shí)現(xiàn)對(duì)圖書進(jìn)行刪除的操作。在使用管理員賬號(hào)登錄后才可對(duì)圖書進(jìn)行刪除,保證了圖書無法被用戶刪除。在圖書列表中選擇其中的一條記錄,帶年紀(jì)編輯按鈕進(jìn)入到圖書編輯頁面,在圖書編輯頁面中有刪除按鈕,在點(diǎn)擊刪除按鈕后會(huì)在后臺(tái)進(jìn)行判斷該書是否存在未歸還記錄,如果存在未歸還記錄即拒絕該刪除操作,不存在未歸還記錄即可正常將圖書刪除。圖5.26圖書刪除失敗圖5.27刪除圖5.28刪除成功5.5圖書借閱模塊圖書借閱模塊主要是實(shí)現(xiàn)圖書借閱歸還和借閱記錄查詢功能,在這個(gè)模塊中的圖書借閱歸還功能主要是由用戶使用,管理員主要是可通過這個(gè)模塊查詢所有用戶的圖書借閱記錄信息。5.5.1圖書借閱此部分主要是實(shí)現(xiàn)用戶的圖書借閱功能。在使用普通用戶賬號(hào)登錄系統(tǒng)后,在圖書列表中選擇其中一條圖書記錄,點(diǎn)擊借閱按鈕即可跳轉(zhuǎn)到圖書信息頁面查看圖書的詳細(xì)信息。在此頁面再次點(diǎn)擊借閱按鈕后會(huì)將數(shù)據(jù)提交到后臺(tái),此時(shí)后臺(tái)會(huì)先在數(shù)據(jù)庫中進(jìn)行檢查該用戶是否有逾期未歸還的記錄,存在逾期未歸還的記錄則提示用戶需先歸還逾期的圖書才可再次借閱圖書;另外后臺(tái)還會(huì)檢查該用戶是否有同一本書尚未歸還的記錄,若兩部分檢查都通過后即可正常進(jìn)行圖書借閱操作,此時(shí)后臺(tái)會(huì)將圖書信息表中的剩余數(shù)量減1;將圖書信息表中的總借閱次數(shù)加1,圖書的總借閱次數(shù)主要是為了給圖書熱度排行提供數(shù)據(jù);通過記錄下用戶id和圖書id作為該借閱記錄的外鍵,以便對(duì)用戶信息表和圖書信息表進(jìn)行連接;同時(shí)自動(dòng)記錄下當(dāng)前的系統(tǒng)時(shí)間,并以當(dāng)前時(shí)間60天后的時(shí)間作為最晚歸還時(shí)間,如果用戶在超過最晚歸還時(shí)間后尚未歸還圖書,系統(tǒng)則會(huì)在用戶歸還該圖書后在用戶信息表中將該用戶逾期次數(shù)記錄加1。圖5.29圖書借閱圖5.30借閱成功圖5.31存在逾期記錄時(shí)借閱失敗圖5.32存在相同的借閱記錄5.5.2圖書歸還此部分主要是實(shí)現(xiàn)用戶歸還借閱的圖書的功能。在使用普通用戶賬號(hào)登錄了系統(tǒng)后可以點(diǎn)擊圖書歸還按鈕查詢所尚未歸還的圖書的記錄,另外還有一個(gè)查詢逾期記錄的按鈕,點(diǎn)擊該按鈕后可以查詢出該用戶逾期未歸還的圖書的記錄。在查詢出未歸還圖書的記錄后,點(diǎn)擊歸還圖書即可執(zhí)行圖書歸還操作。此時(shí)后臺(tái)會(huì)將該圖書在圖書信息表中的剩余數(shù)量加1,刪除在圖書借閱表中將該記錄進(jìn)行刪除,并在歷史借閱記錄表中記錄下詳細(xì)信息,包括借閱時(shí)間,歸還時(shí)間,用戶id和圖書id,通過用戶id和圖書id可以查詢到有關(guān)該用戶和該圖書的全部信息;需要注意的是如果該記錄已經(jīng)逾期,在圖書歸還時(shí)還會(huì)在用戶信息表中將該用戶的逾期次數(shù)字段的數(shù)值加1。圖5.33圖書歸還圖5.34歸還成功5.5.3圖書借閱記錄查詢此部分主要是實(shí)現(xiàn)查詢圖書借閱記錄的功能,包括未歸還圖書記錄和歷史借閱記錄。借閱記錄查詢分為管理員查詢和用戶查詢,主要是通過給管理員和用戶分別設(shè)計(jì)查詢頁面來實(shí)現(xiàn)兩個(gè)不同角色的查詢功能。管理員擁有最高的權(quán)限,可以查詢到所有用戶的圖書借閱記錄,而用戶查詢只能查詢到自己名下的圖書借閱記錄,保證了數(shù)據(jù)的安全。在查詢圖書記錄時(shí),可以通過用戶id和圖書id兩個(gè)外鍵分別從用戶信息表和圖書信息表中將該用戶和該圖書的詳細(xì)信息查詢出來并顯示在頁面中。圖5.35用戶查詢未歸還記錄圖5.36用戶查詢歷史借閱記錄圖5.37管理員查詢未歸還記錄圖5.38管理員查詢歷史借閱記錄系統(tǒng)測試測試在開發(fā)階段對(duì)于一個(gè)系統(tǒng)來說必不可少,其目的是為了驗(yàn)證系統(tǒng)的各個(gè)功能是否能成功實(shí)現(xiàn),及驗(yàn)證頁面控制是否能夠達(dá)到預(yù)期的效果,在無法達(dá)到預(yù)期效果時(shí)可以尋找出問題所在并將其解決,一步步將系統(tǒng)完善。本次測試的主要內(nèi)容如下:測試各個(gè)模塊的功能是否能正常使用測試各個(gè)限制條件是否達(dá)到預(yù)期效果測試用戶和管理員的權(quán)限管理是否正常測試未登錄的用戶按路徑進(jìn)行訪問是否被拒絕下面測試記錄表:序號(hào)測試內(nèi)容測試結(jié)果1用戶注冊(cè)正常2管理員注冊(cè)正常3用戶登錄正常4管理員登錄正常5修改密碼正常6修改個(gè)人信息正常7用戶注銷正常8圖書添加正常9圖書修改正常10圖書刪除正常11圖書查詢正常12借閱圖書正常13歸還圖書正常14有逾期記錄時(shí)借閱圖書正常(借閱失?。?5有記錄時(shí)再次借閱相同圖書正常(借閱失?。?6有未歸還記錄時(shí)刪除該圖書正

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論