




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
分類號TP311UDCD10621408200923910密級公開編號2005122090成都信息工程學院學位論文基于JSP的圖書管理系統(tǒng)的設計與實現(xiàn)論文作者姓名申請學位專業(yè)信息安全申請學位類別工學學士指導教師姓名(職稱)王翔(講師)論文提交日期2009年06月01日基于JSP的圖書管理系統(tǒng)的設計與實現(xiàn)摘要隨著網(wǎng)絡技術的發(fā)展、計算機應用水平的提高的擴大,原來系統(tǒng)的時效性、數(shù)據(jù)的正確性、操作的方便性上都存在不足,已影響到系統(tǒng)的正常使用。經(jīng)過考察比較,決定利用自己的力量對圖書管理系統(tǒng)重新設計,使系統(tǒng)能利用軟件開發(fā)技術的成果,方便圖書的管理。圖書管理系統(tǒng)是典型的信息管理系統(tǒng)。系統(tǒng)介紹了圖書系統(tǒng)的開發(fā)過程,設計中遇到的問題及解決方法以及提高當前應用程序或系統(tǒng)開發(fā)進度和改善工作性能利用其提供的各種面向對象的開發(fā)工具,首先在短時間內(nèi)建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。本次課程設計利用JSP開發(fā)工具和SQL2000數(shù)據(jù)庫來開發(fā)這個圖書管理系統(tǒng)。該系統(tǒng)要解決的圖書管理所要解決的問題,可以滿足圖書管理基本要求,包括添加、管理等功能。該系統(tǒng)能根據(jù)用戶的需求,快捷方便的為讀者提供借閱服務。關鍵詞圖書管理系統(tǒng)信息管理JSPTHEDESIGNANDIMPLEMENTATIONOFLIBRARYMANAGEMENTSYSTEMABSTRACTALONGWITHNETWORKINGSDEVELOPMENT,THECOMPUTERAPPLICATIONLEVELSENHANCEMENTSEXPANSION,SYSTEMSEFFECTIVENESS,THEDATAACCURACY,INTHEOPERATIONCONVENIENCESHASTHEINSUFFICIENCYORIGINALLY,HASAFFECTEDSYSTEMSNORMALUSEAFTERTHEINSPECTIONCOMPARISON,DECIDEDTHATUSESOWNSTRENGTHTOTHELITERATUREMANAGEMENTSYSTEMMANAGEMENTSYSTEMREDESIGN,ENABLESTHESYSTEMTOUSETHESOFTWAREDEVELOPMENTTECHNOLOGYTHEACHIEVEMENT,CONVENIENTLITERATUREMANAGEMENTTHELITERATUREREGISTRATIONMANAGEMENTSYSTEMMANAGEMENTSYSTEMISTHETYPICALINFORMATIONMANAGEMENTSYSTEMTHESYSTEMINTRODUCEDTHELITERATUREREFERRALSYSTEMSPERFORMANCEHISTORY,INTHEDESIGNMEETSTHEQUESTIONANDTHESOLUTIONASWELLASENHANCETHECURRENTAPPLICATIONPROCEDUREORTHESYSTEMDEVELOPMENTPROGRESSANDTHEIMPROVEMENTOPERATINGPERFORMANCEEACHKINDOFOBJECTORIENTEDDEVELOPMENTKITWHICHPROVIDESUSINGIT,FIRSTESTABLISHESTHESYSTEMAPPLICATIONPROTOTYPEINASHORTTIME,THEN,CARRIESONTHEDEMANDITERATIONTOTHEINITIALPROTOTYPESYSTEM,REVISESUNCEASINGLYANDIMPROVES,UNTILFORMSTHEUSERSATISFIEDFEASIBLESYSTEMTHISCURRICULUMPROJECT2000DATABASESDEVELOPSTHISLITERATUREMANAGEMENTSYSTEMMANAGEMENTSYSTEMUSINGTHEJSP20DEVELOPMENTKITSANDSQLSERVERTHISSYSTEMMUSTSOLVETHELITERATUREADMINISTRATIONCENTERMUSTSOLVETHEQUESTION,MAYSATISFYTHELITERATUREMANAGEMENTESSENTIALREQUIREMENTS,INCLUDINGINCREASE,INQUIRY,MANAGEMENTANDSOONTHREEASPECTFUNCTIONSTHISSYSTEMCANACTACCORDINGTOTHEUSERTHEDEMAND,WHATFACILITATESQUICKLYISTHEREADERPROVIDESTHESERVICEKEYWORDLITERATUREMANAGEMENTSYSTEM、INFORMATIONMANAGEMENT、JSP目錄論文總頁數(shù)23頁1引言111系統(tǒng)開發(fā)背景112系統(tǒng)目標113系統(tǒng)開發(fā)環(huán)境12相關技術介紹221JSP技術概述222JDBC技術概述223SERVLET技術概述224MVC模式概述23系統(tǒng)需求分析431功能需求432系統(tǒng)功能分析及說明4321系統(tǒng)功能分析4322系統(tǒng)數(shù)據(jù)分析533性能需求534系統(tǒng)業(yè)務流程圖54系統(tǒng)設計741系統(tǒng)架構742數(shù)據(jù)庫設計8421數(shù)據(jù)庫需求分析8422數(shù)據(jù)庫概念結構設計9423數(shù)據(jù)庫邏輯結構設計943系統(tǒng)功能模塊設計12431系統(tǒng)功能模塊設計12432模塊功能設計125系統(tǒng)實現(xiàn)1351數(shù)據(jù)庫連接池的實現(xiàn)1352用戶登陸的實現(xiàn)1553圖書借閱的實現(xiàn)1654添加用戶的實現(xiàn)1755系統(tǒng)界面設計196系統(tǒng)測試1961界面測試1962功能測試20總結20參考文獻20致謝22聲明231引言隨著人類社會的發(fā)展,人類對知識的需求也不斷地增長。在這種形勢下,書籍就漸漸地成為人們獲取并增長知識的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)了一定的位置,隨著圖書館規(guī)模的不斷擴大,圖書數(shù)量也相應的增加,有關圖書的各種信息量也成倍增加,面對著龐大的信息量,傳統(tǒng)的人工方式管理會導致圖書館管理上的混亂,人力與物力過多浪費,圖書館管理費用的增加,從而使圖書館的負擔過重,影響整個圖書館的運作和控制管理,因此,必須制定一套合理、有效,規(guī)范和實用的圖書管理系統(tǒng),對圖書資料進行集中統(tǒng)一的管理。如何科學地管理圖書館不但關系到讀者求知的方便程度,也關系到圖書館的發(fā)展,因此,開發(fā)一套完善的公共圖書館管理系統(tǒng)就必不可少了。11系統(tǒng)開發(fā)背景近年來,隨著圖書館規(guī)模的不斷擴大,圖書數(shù)量也相應的增加,有關圖書的各種信息量也成倍增加,面對著龐大的信息量,傳統(tǒng)的人工方式管理會導致圖書館管理上的混亂,人力與物力過多浪費,圖書館管理費用的增加,從而使圖書館的負擔過重,影響整個圖書館的運作和控制管理,因此,必須制定一套合理、有效,規(guī)范和實用的圖書管理系統(tǒng),對圖書資料進行集中統(tǒng)一的管理。另一方面,IT產(chǎn)業(yè)和INTERNET獲得了飛速發(fā)展,計算機應用已滲透到了各個領域,引起信息管理的革命,實現(xiàn)了信息的自動化處理,提高了處理的及時性和正確性。圖書管理工作面對大量的可模塊化處理的信息,是當今信息革命的一個重要陣地。圖書管理信息系統(tǒng)就是采用現(xiàn)代化的信息管理方式代替手工管理方式,提高圖書管理工作效率,作到信息的規(guī)范管理,科學統(tǒng)計和快速查詢,讓圖書館更好的為學校,社會服務。12系統(tǒng)目標本系統(tǒng)是專為小型圖書館設計的自動化集成系統(tǒng)。能完成圖書信息管理、用戶信息管理、借書還書管理等功能,適合管理人員少,藏書量不大的單位。所有工作模塊集中在同一界面,工作流程一目了然,方便工作人員操作掌握。13系統(tǒng)開發(fā)環(huán)境PC機一臺MICROSOFTWINDOWSXPPROFESSIONAL512M內(nèi)存編程軟件MYECLIPSE601、APACHETOMCAT6014、SUNJDK16U2、MICROSOFTSQLSERVER2000、SQLSERVERDRVIERFORJDBCJDBC驅動2相關技術介紹21JSP技術概述JSPJAVASERVERPAGES是由SUNMICROSYSTEMS公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準。JSP技術有點類似ASP技術,它是在傳統(tǒng)的網(wǎng)頁HTML文件HTM,HTML中插入JAVA程序段SCRIPTLET和JSP標記TAG,從而形成JSP文件JSP。WEB服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的JAVA程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。22JDBC技術概述JDBC(JAVADATABASECONNECTIVITY,JAVA數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JAVAAPI,可以為多種關系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用JAVA語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標準的API,據(jù)此可以構建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純JAVAAPI編寫數(shù)據(jù)庫應用程序23SERVLET技術概述SERVLET是一種獨立于平臺和協(xié)議的服務器端的JAVA應用程序,可以生成動態(tài)的WEB頁面。它擔當WEB瀏覽器或其他HTTP客戶程序發(fā)出請求,與HTTP服務器上的數(shù)據(jù)庫或應用程序之間的中間層。SERVLET是位于WEB服務器內(nèi)部的服務器端的JAVA應用程序,與傳統(tǒng)的從命令行啟動的JAVA應用程序不同,SERVLET由WEB服務器進行加載,該WEB服務器必須包含支持SERVLET的JAVA虛擬機。24MVC模式概述MVCMODELVIEWCONTROLLER模式,即模型視圖控制器模式,其核心思想是將整個程序代碼分成相對獨立而又能協(xié)同工作的3個組成部分。這樣的運行機制可以起到分工明確,指責清晰,各盡所長的效果。而在軟件開發(fā)的過程中,這樣的開發(fā)方式無疑可以有效地區(qū)分不同的開發(fā)者,盡可能減少彼此之間的互相影響。充分發(fā)揮每個開發(fā)者的特長。這在開發(fā)大型復雜的WEB項目時體現(xiàn)得尤為突出。MVC設計模式中,事件一般是指客戶端WEB瀏覽器提交的各種不同請求,這些請求由控制器進行處理,控制器根據(jù)事件的類型來改變模型或各個視圖,視圖也可以接受模型發(fā)出的數(shù)據(jù)更新的通知,依據(jù)數(shù)據(jù)更新的結果調(diào)整視圖效果,呈現(xiàn)在用戶面前而模型也可以通過視圖所獲得的用戶提交的數(shù)據(jù)進行具體業(yè)務邏輯的處理。圖1MVC設計模式的結構25MD5概述MD5的全稱是MESSAGEDIGESTALGORITHM5,在90年代初由MIT的計算機科學實驗室和RSADATASECURITYINC發(fā)明,經(jīng)MD2、MD3和MD4發(fā)展而來。模型視圖1視圖2控制器事件改變改變改變更新更新獲得數(shù)據(jù)獲得數(shù)據(jù)MESSAGEDIGEST泛指字節(jié)串MESSAGE的HASH變換,就是把一個任意長度的字節(jié)串變換成一定長的大整數(shù)。請注意我使用了“字節(jié)串”而不是“字符串”這個詞,是因為這種變換只與字節(jié)的值有關,與字符集或編碼方式無關。MD5將任意長度的“字節(jié)串”變換成一個128BIT的大整數(shù),并且它是一個不可逆的字符串變換算法,換句話說就是,即使你看到源程序和算法描述,也無法將一個MD5的值變換回原始的字符串,從數(shù)學原理上說,是因為原始的字符串有無窮多個,這有點象不存在反函數(shù)的數(shù)學函數(shù)。MD5的典型應用是對一段MESSAGE字節(jié)串產(chǎn)生FINGERPRINT指紋,以防止被“篡改”。舉個例子,你將一段話寫在一個叫READMETXT文件中,并對這個READMETXT產(chǎn)生一個MD5的值并記錄在案,然后你可以傳播這個文件給別人,別人如果修改了文件中的任何內(nèi)容,你對這個文件重新計算MD5時就會發(fā)現(xiàn)。如果再有一個第三方的認證機構,用MD5還可以防止文件作者的“抵賴”,這就是所謂的數(shù)字簽名應用。MD5還廣泛用于加密和解密技術上,在很多操作系統(tǒng)中,用戶的密碼是以MD5值(或類似的其它算法)的方式保存的,用戶LOGIN的時候,系統(tǒng)是把用戶輸入的密碼計算成MD5值,然后再去和系統(tǒng)中保存的MD5值進行比較,而系統(tǒng)并不“知道”用戶的密碼是什么。一些黑客破獲這種密碼的方法是一種被稱為“跑字典”的方法。有兩種方法得到字典,一種是日常搜集的用做密碼的字符串表,另一種是用排列組合方法生成的,先用MD5程序計算出這些字典項的MD5值,然后再用目標的MD5值在這個字典中檢索。3系統(tǒng)需求分析31功能需求(一)作為書籍管理員對圖書管理系統(tǒng)的要求有1能按各種方式(比如書名、編號、作者)查詢圖書館的藏書情況。2能按各種方式(比如讀者編號、讀者姓名、姓別)查詢讀者情況。3能對圖書進行添加、刪除。4能夠查詢自己的基本資料。(二)作為借閱管理員對圖書管理系統(tǒng)的要求有1、能夠對圖書進行借閱、歸還、續(xù)借的操作。2、能按各種方式(比如書名、編號、作者)查詢圖書館的藏書情況。3、能按各種方式(比如讀者編號、讀者姓名、姓別)查詢讀者情況。4、能夠查詢自己的基本資料。(三)作為系統(tǒng)管理員對圖書管理系統(tǒng)的要求有1能夠對圖書進行借閱、歸還、續(xù)借的操作。2能夠對圖書進行查詢和管理。3能夠對讀者進行查詢和管理。4能夠對查看所有用戶的資料并管理用戶。32系統(tǒng)功能分析及說明321系統(tǒng)功能分析系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基礎上完成。本系統(tǒng)需要完成的功能主要有5部分(一)圖書基本情況的錄入,修改,刪除等基本操作。1書籍類別標準的制定,類別信息的輸入,包括類別編號,類別名稱,備注信息等。2書籍類別信息的查詢,修改,包括類別編號,類別名稱,備注信息等。3書籍信息的輸入,包括書籍編號,書籍名稱,書籍類別,作者名稱,出版社名稱,備注信息等。(二)個人信息模塊。1增加,修改讀者信息。2修改用戶密碼。(三)實現(xiàn)借書功能。1借書信息的輸入,包括借書信息編號,讀書編號,讀者姓名,書籍編號,書籍名稱,借書日期,備注信息等。2借書信息的查詢,修改,包括借書信息編號,讀者編號,讀者姓名,書籍編號,書籍名稱,借書日期,備注信息等。(四)實現(xiàn)還書功能。1還書信息的輸入,包括還書信息編號,讀者編號,讀者姓名,書籍編號,書籍名稱,借書日期,還書日期,備注信息等。2還書信息的查詢和修改,包括還書信息編號,讀書編號,讀者姓名,書籍編號,書籍名稱,借書日期,還書日期,備注信息等。(五)能方便的對圖書進行查詢。322系統(tǒng)數(shù)據(jù)分析根據(jù)以上功能,將圖書管理系統(tǒng)的數(shù)據(jù)分為數(shù)據(jù)輸入部分主要包括圖書基本信息的錄入、借閱人基本信息的錄入、用戶基本信息的錄入。數(shù)據(jù)輸出部分主要是各種統(tǒng)計查詢,包括根據(jù)圖書信息(如書名、作者、出版社等)查閱圖書及其借閱信息等。數(shù)據(jù)處理部分主要涉及借閱和歸還的處理,如一本書借出后,必須在數(shù)據(jù)庫中將該書標記為已借出,以防出現(xiàn)數(shù)據(jù)庫中有書但圖書館無書的情況;一本書歸還后,同樣必須在數(shù)據(jù)庫中將其標記為已經(jīng)歸還,以便再次借出。33性能需求該管理子系統(tǒng)系統(tǒng)主要實現(xiàn)的是基礎數(shù)據(jù)的錄入,發(fā)布,更新,因此,不管對圖書管理的需要或是學生借書信息的需要,網(wǎng)上的數(shù)據(jù)必須具有高度的完整性和準確性,這就要求系統(tǒng)的高度安全性,可維護性,可靠性及靈活性。比如圖書基礎類型管理,圖書管理員在錄入圖書信息的時候或是數(shù)據(jù)庫出現(xiàn)異常而產(chǎn)生差錯,可能會影響學生借書出錯的情況,這就要求系統(tǒng)具有高度的安全性,可維護性,可靠性和靈活性。另外,系統(tǒng)的操作界面要求簡便,通俗,以便于操作。34系統(tǒng)業(yè)務流程圖借閱流程圖2借閱流程圖流程圖分析在借閱圖書的界面下,輸入讀者編號后查詢數(shù)據(jù)庫,若讀者編號存在,則讀取讀者信息,然后判斷讀者是否被鎖定(人為鎖定)、讀者是否過期、讀者是否之前有借閱圖書,如果有借閱圖書,檢查是否有逾期未還的圖書,如果有逾期未還的圖書則禁止借閱新書,如果沒有逾期未還的圖書,則是否讀者借閱的圖書已達上限,如果已達上限則禁止借閱圖書。如果以上條件都滿足,輸入圖書編號后查詢數(shù)據(jù)庫該圖書是否存在,如果存在則檢查是否在庫,如果已經(jīng)借出則無法繼續(xù)借閱,如果尚未借出則檢查是否讀者的借閱權限是否足夠借閱圖書,如果權限足夠則在確認后即完成圖書的借閱操作。還書流程圖3還書流程圖流程圖分析在歸還圖書的界面下,輸入圖書編號后查詢借閱數(shù)據(jù)庫里的借閱信息,如果沒有借閱信息就返回查找不到借閱信息的提示,如果有借閱信息則顯示借閱此圖書的讀者信息和該圖書的信息,圖書管理員確認后點擊確認歸還按鈕即完成圖書的歸還操作。續(xù)借流程圖4續(xù)借流程圖流程圖分析在續(xù)借圖書的界面下,輸入圖書編號后查詢借閱數(shù)據(jù)庫里的借閱信息,如果沒有借閱信息就返回查找不到借閱信息的提示,如果有借閱則檢查該書是否已過借閱期限,如果是則只能歸還圖書不能續(xù)借,如果不是檢查是否續(xù)借次數(shù)已滿,如果續(xù)借次數(shù)未滿則確認續(xù)借后即完成續(xù)借操作。4系統(tǒng)設計系統(tǒng)設計是在系統(tǒng)分析的基礎上由抽象到具體的過程主要目標是將系統(tǒng)分析階段所提出的反映了信息需求的系統(tǒng)邏輯方案轉換成可以實施的基于計算機與通信系統(tǒng)的物理(技術)方案,為下一階段系統(tǒng)實施提供必要的技術資料,應符合系統(tǒng)性,靈活性,可靠性。經(jīng)濟性的要求。41系統(tǒng)架構本系統(tǒng)采用B/S模式。B/S(BROWSER/SERVER)結構即瀏覽器和服務器結構。它是隨著INTERNET技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(BROWSER)實現(xiàn),但是主要事務邏輯在服務器端(SERVER)實現(xiàn),形成所謂三層3TIER結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術看,局域網(wǎng)建立B/S結構的網(wǎng)絡應用,并通過INTERNET/INTRANET模式下數(shù)據(jù)庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN,WAN,INTERNET/INTRANET等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權限,服務器數(shù)據(jù)庫也很安全。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構管理軟件更是方便、快捷、高效。42數(shù)據(jù)庫設計421數(shù)據(jù)庫需求分析(一)需求分析針對一般圖書管理信息系統(tǒng)的需求,通過對圖書管理工作過程的內(nèi)容和數(shù)據(jù)流程分析,設計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結構讀者信息屬性讀者編號,讀者姓名,性別,單位,是否鎖定,借閱權限,創(chuàng)建時間,有效期限,聯(lián)系電話,備注。主鍵讀者編號圖書信息屬性圖書編號,名稱,作者,出版社,ISBN,分類,借閱權限,是否在庫,單價,備注。主鍵圖書編號借閱信息屬性借閱的圖書編號,讀者編號,讀者姓名,借書日期,還書日期,續(xù)借。主鍵借閱的圖書編號(二)系統(tǒng)的數(shù)據(jù)流程圖通過對系統(tǒng)的調(diào)查和可行性分析,畫出系統(tǒng)的數(shù)據(jù)流程圖圖5數(shù)據(jù)流程圖422數(shù)據(jù)庫概念結構設計本程序包括的實體有管理員信息實體,讀者信息實體,圖書信息實體,借閱信息實體。423數(shù)據(jù)庫邏輯結構設計本圖書管理系統(tǒng)的數(shù)據(jù)庫分為六個表,分別為ADMIN表、ADMINLEVEL表、BOOK表、BORROW表、READER表、READERLEVEL表。其中ADMIN表存儲管理員的資料,例如管理員的編號、姓名、密碼、管理等級等。ADMINLEVEL表存儲管理員等級所對應的權限,例如借閱權限、查詢/添加/修改/刪除圖書、查詢/添加/修改/刪除讀者等權限。BOOK表存儲圖書信息,例如圖書編號、書名、作者、在庫狀態(tài)等。BORROW表存儲借閱信息,例如讀者編號、圖書編號、借閱日期、還書日期等。READER表存儲讀者信息,例如讀者編號、姓名、借閱權限等。READERLEVEL表存儲讀者等級所對應的借閱權限,例如借書上限、借閱期限、續(xù)借次數(shù)、續(xù)借期限等。這六個表的關系圖如下圖6數(shù)據(jù)庫表關系圖以下是每個表的具體描述表1ADMIN表(管理員信息)字段名稱字段類型長度備注管理編號CHAR3主鍵管理姓名VARCHAR30非空密碼VARCHAR30非空管理權限CHAR1非空是否鎖定CHAR1非空創(chuàng)建時間VARCHAR10非空有效期限VARCHAR2非空上次登錄DATETIME8備注VARCHAR100表2ADMINLEVEL表(管理權限)字段名稱字段類型長度備注管理權限CHAR1主鍵借閱CHAR1非空還書CHAR1非空續(xù)借CHAR1非空查詢圖書CHAR1非空查詢讀者CHAR1非空圖書操作CHAR1非空讀者操作CHAR1非空館藏統(tǒng)計CHAR1非空借閱分析CHAR1非空基本設置CHAR1非空管理員CHAR1非空管理員等級VARCHAR10非空表3BOOK表(圖書信息)字段名稱字段類型長度備注圖書編號CHAR8主鍵書名VARCHAR80非空作者VARCHAR50非空出版社VARCHAR50非空ISBNVARCHAR15分類VARCHAR50非空借閱權限CHAR1非空是否在庫CHAR1非空單價VARCHAR6備注VARCHAR100表4BORROW表(借閱信息)字段名稱字段類型長度備注圖書編號CHAR8主鍵讀者編號CHAR7非空讀者姓名VARCHAR30非空借書日期VARCHAR10非空還書日期VARCHAR10非空續(xù)借CHAR1非空表5READER表(讀者信息)字段名稱字段類型長度備注讀者編號CHAR7主鍵讀者姓名VARCHAR30非空性別CHAR2非空單位VARCHAR30是否鎖定CHAR1非空借閱權限CHAR1非空創(chuàng)建時間VARCHAR10非空有效期限VARCHAR2非空聯(lián)系電話VARCHAR13備注VARCHAR100表6READERLEVEL表(讀者權限)字段名稱字段類型長度備注借閱權限CHAR1主鍵限借書數(shù)VARCHAR2非空借閱期限VARCHAR2非空續(xù)借次數(shù)CHAR1非空續(xù)借期限VARCHAR2非空43系統(tǒng)功能模塊設計431系統(tǒng)總功能模塊設計圖書管理系統(tǒng)系統(tǒng)管理員借閱管理員圖書管理讀者管理用戶管理查詢處理借書處理還書處理續(xù)借查詢增加書目刪除或更新書目增加讀者刪除或更新讀者增加用戶刪除或更新用戶查詢圖書信息查詢讀者信息查詢用戶信息增加書目刪除或更新書目查詢讀者信息書籍管理員圖書管理查詢查詢圖書信息查詢圖書信息查詢讀者信息圖7總體功能模塊圖書管理系統(tǒng)按照管理員的權限不同,將管理員分為系統(tǒng)管理員、書籍管理員、借閱管理員,執(zhí)行相應的操作。1對于系統(tǒng)管理員,也可叫超級管理員,具有最高的權限,可以進行圖書管理、讀者管理、用戶管理等所有操作。2對于書籍管理員,可以進行圖書管理、查詢信息。3對于借閱管理員,可以進行借書、還書、續(xù)借的操作,并且能查詢信息。432模塊功能設計本系統(tǒng)包括的模塊主要有如下幾個部分圖書管理模塊、借閱管理模塊、讀者管理模塊、系統(tǒng)管理模塊、信息查詢模塊、用戶管理模塊具體的功能描述如下圖書管理其功能是管理書庫中圖書的記錄信息,對入庫圖書信息進行管理,并進行查詢。包括圖書添加、刪除、更新。借閱管理其功能是對讀者借閱信息進行管理。包括進行借書,還書,續(xù)借操作。讀者管理其功能是對讀者一般信息進行查詢以及維護。添加讀者借書和還書信息??梢杂涗浶录尤氲淖x者的信息,并且可以對已經(jīng)存在于數(shù)據(jù)庫中的讀者的信息進行修改,系統(tǒng)管理其功能是對用戶進行帳戶和密碼管理以及基礎數(shù)據(jù)維護。包括修改密碼、新增用戶、刪除用戶。信息查詢括借閱信息查詢、書籍信息查詢和用戶列表查詢等功能。通過這些功能,可以通過不同的關鍵字來對書庫中的圖書進行查詢,同時也可以查詢讀者的借閱信息。5系統(tǒng)實現(xiàn)51數(shù)據(jù)庫連接池的實現(xiàn)數(shù)據(jù)庫連接是一種關鍵的有限的昂貴的資源,這一點在多用戶的網(wǎng)頁應用程序中體現(xiàn)得尤為突出。對數(shù)據(jù)庫連接的管理能顯著影響到整個應用程序的伸縮性和健壯性,影響到程序的性能指標。數(shù)據(jù)庫連接池正是針對這個問題提出來的。數(shù)據(jù)庫連接池負責分配、管理和釋放數(shù)據(jù)庫連接,它允許應用程序重復使用一個現(xiàn)有的數(shù)據(jù)庫連接,而再不是重新建立一個;釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來避免因為沒有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏。這項技術能明顯提高對數(shù)據(jù)庫操作的性能。數(shù)據(jù)庫連接池在初始化時將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫連接放到連接池中,這些數(shù)據(jù)庫連接的數(shù)量是由最小數(shù)據(jù)庫連接數(shù)來設定的。無論這些數(shù)據(jù)庫連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù)量。連接池的最大數(shù)據(jù)庫連接數(shù)量限定了這個連接池能占有的最大連接數(shù),當應用程序向連接池請求的連接數(shù)超過最大連接數(shù)量時,這些請求將被加入到等待隊列中。數(shù)據(jù)庫連接池的最小連接數(shù)和最大連接數(shù)的設置要考慮到下列幾個因素1最小連接數(shù)是連接池一直保持的數(shù)據(jù)庫連接,所以如果應用程序對數(shù)據(jù)庫連接的使用量不大,將會有大量的數(shù)據(jù)庫連接資源被浪費。2最大連接數(shù)是連接池能申請的最大連接數(shù),如果數(shù)據(jù)庫連接請求超過此數(shù),后面的數(shù)據(jù)庫連接請求將被加入到等待隊列中,這會影響之后的數(shù)據(jù)庫操作。3)如果最小連接數(shù)與最大連接數(shù)相差太大,那么最先的連接請求將會獲利,之后超過最小連接數(shù)量的連接請求等價于建立一個新的數(shù)據(jù)庫連接。不過,這些大于最小連接數(shù)的數(shù)據(jù)庫連接在使用完不會馬上被釋放,它將被放到連接池中等待重復使用或是空閑超時后被釋放。在WEBINF/CLASS下建一個DBPROPERTIES文件,配置如下DRIVERSCOMMICROSOFTJDBCSQLSERVERSQLSERVERDRIVERLOGFILECLOGTXTLIBRARYURLJDBCMICROSOFTSQLSERVER/1270011433DATABASENAMELIBRARY_DATALIBRARYMAXCONN1000LIBRARYUSERSALIBRARYPASSWORD/創(chuàng)建新的連接池PUBLICDBCONNECTIONPOOLSTRINGNAME,STRINGURL,STRINGUSER,STRINGPASSWORD,INTMAXCONNTHISNAMENAMETHISURLURLTHISUSERUSERTHISPASSWORDPASSWORDTHISMAXCONNMAXCONN/裝載荷注冊所有JDBC驅動程序PRIVATEVOIDLOADDRIVERSPROPERTIESPROPSSTRINGDRIVERCLASSESPROPSGETPROPERTY“DRIVERS“STRINGTOKENIZERSTNEWSTRINGTOKENIZERDRIVERCLASSESWHILESTHASMOREELEMENTSSTRINGDRIVERCLASSNAMESTNEXTTOKENTRIMTRYDRIVERDRIVERDRIVERCLASSFORNAMEDRIVERCLASSNAMENEWINSTANCEDRIVERMANAGERREGISTERDRIVERDRIVERDRIVERSADDELEMENTDRIVERLOG“成功注冊JDBC驅動程序“DRIVERCLASSNAMECATCHEXCEPTIONELOG“無法注冊JDBC驅動程序“DRIVERCLASSNAME“,錯誤“E/創(chuàng)建新的連接PRIVATECONNECTIONNEWCONNECTIONCONNECTIONCONNULLTRYIFUSERNULLCONDRIVERMANAGERGETCONNECTIONURLELSECONDRIVERMANAGERGETCONNECTIONURL,USER,PASSWORDLOG“連接池“NAME“創(chuàng)建一個新的連接“CATCHSQLEXCEPTIONELOGE,“無法創(chuàng)建下列URL的連接“URLRETURNNULLRETURNCON52用戶登陸的實現(xiàn)當用戶輸入用戶名和密碼登陸系統(tǒng)時,在ADMIN_LOGINJSP頁面中通過調(diào)用ADMIN類中的ADMINLOGIN方法,將用戶名和密碼與數(shù)據(jù)庫中事先存放的姓名和密碼進行比較,如果相同,則登陸成功,否則提示賬號或密碼錯誤。實現(xiàn)該頁面的相關代碼如下PUBLICBOOLEANADMINLOGINHTTPSERVLETREQUESTRESTHROWSEXCEPTIONREQUESTRES/獲取頁面請求信息DATABASEDBNEWDATABASEDATETIMEDTNEWDATETIMEMD5MD5NEWMD5ADMINIDREQUESTGETPARAMETER“ADMINID“ADMINPWDDBTOSQLMD5GETMD5OFSTRREQUESTGETPARAMETER“ADMINPWD“DBPREPARESTATEMENT“SELECTFROMADMINWHERE管理編號AND密碼“DBSETSTRING1,ADMINIDDBSETSTRING2,ADMINPWDRESULTSETRSDBEXECUTEQUERYIFRSNEXTADMINNAMERSGETSTRING2ADMINPOWERINTEGERPARSEINTRSGETSTRING4ADMINLOCKEDRSGETSTRING5ADMINCTRSGETSTRING6ADMINAVAILINTEGERPARSEINTRSGETSTRING7ADMINLLTRSGETSTRING8ADMINCOMMENTRSGETSTRING9RSCLOSESTRINGNEWLLTDTGETDATETIME/更新最后登錄時間DBEXECUTEUPDATE“UPDATEADMINSET上次登錄“NEWLLT“WHERE管理編號“ADMINID“DBCLOSERETURNTRUEELSERSCLOSERETURNFALSE53圖書借閱的實現(xiàn)當輸入圖書編號和讀者編號后,點擊“借閱”,出現(xiàn)圖書詳細資料和讀者詳細資料,確認無誤后,點擊“確認借閱”,此時,通過調(diào)用BORROWBOOK類中的EXEBORROW方法執(zhí)行借閱。該方法首先獲取頁面的請求信息,然后查詢數(shù)據(jù)庫得到相應的讀者信息,并計算出還書時間,把借閱信息寫入BORROW表中,更新數(shù)據(jù)庫。PUBLICBOOLEANEXEBORROWHTTPSERVLETREQUESTRESTHROWSEXCEPTIONTRYDATABASEDBNEWDATABASEDATETIMEDTNEWDATETIMEREQUESTRES/獲取頁面請求信息STRINGNEWBOOKSNDBTOSQLREQUESTGETPARAMETER“BOOKSN“STRINGNEWREADERSNDBTOSQLREQUESTGETPARAMETER“READERSN“DBPREPARESTATEMENT“SELECT讀者姓名,借閱權限FROMREADERWHERE讀者編號“/獲取該讀者信息DBSETSTRING1,DBTOSQLNEWREADERSNRESULTSETRSDBEXECUTEQUERYRSNEXTSTRINGNEWREADERNAMERSGETSTRING1STRINGNEWREADERPOWERRSGETSTRING2DBPREPARESTATEMENT“SELECT借閱期限FROMREADERLEVELWHERE借閱權限“DBSETSTRING1,NEWREADERPOWERRSDBEXECUTEQUERYRSNEXTINTNEWRPBTINTEGERPARSEINTRSGETSTRING1RSCLOSESTRINGNEWCDDBTOSQLDTGETDATE/計算還書日期STRINGNEWRDDBTOSQLDTGAINMONTHNEWRPBTDBPREPARESTATEMENT“INSERTINTOBORROWVALUES,0“/將借閱信息寫入DBSETSTRING1,NEWBOOKSNDBSETSTRING2,NEWREADERSNDBSETSTRING3,NEWREADERNAMEDBSETSTRING4,NEWCDDBSETSTRING5,NEWRDDBEXECUTEUPDATEDBPREPARESTATEMENT“UPDATEBOOKSET是否在庫0WHERE圖書編號“/將圖書不在庫信息寫入DBSETSTRING1,NEWBOOKSNDBEXECUTEUPDATEDBCLOSERETURNTRUECATCHEXCEPTIONERETURNFALSE54添加用戶的實現(xiàn)當要添加用戶時,在ADMIN_ADD_ADMINJSP頁面中,通過調(diào)用ADMIN類中的ADDADMIN方法來進行添加。該方法首先獲取頁面的請求信息,然后判斷此管理員是否具有添加用戶的權限,如果有,產(chǎn)生新的用戶編號,將客戶端傳來的信息通過“INSERTINTO”語句添加進ADMIN表中,同時,用戶密碼用MD5進行加密。PUBLICBOOLEANADDADMINHTTPSERVLETREQUESTRES,HTTPSESSIONSESTHROWSEXCEPTIONDATABASEDBNEWDATABASEADMINADMINTHISREQUESTRES/獲取頁面請求信息SESSIONSES/從SESSION中獲取管理員IDSTRINGSUPERVISORDBTOSQLSTRINGSESSIONGETATTRIBUTE“SUPERVISOR“IFADMINISADMINSASTRINGADMINSNCREATEADMINSN/產(chǎn)生新的用戶編號IFADMINSNEQUALS“000“ERRMSG“無法產(chǎn)生新的用戶編號,無法添加新用戶,請聯(lián)系高級管理員“RETURNFALSEMD5MD5NEWMD5ADMINIDREQUESTGETPARAMETER“ADMINID“ADMINPWDDBTOSQLMD5GETMD5OFSTRREQUESTGETPARAMETER“ADMINPWD“ADMINIDREQUESTGETPARAMETER“ADMINSN“ADMINNAMEREQUESTGETPARAMETER“ADMINNAME“ADMINLOCKEDREQUESTGETPARAMETER“ADMINLOCKED“ADMINPOWERINTEGERPARSEINTREQUESTGETPARAMETER“ADMINPOWER“ADMINCTREQUESTGETPARAMETER“ADMINCT“ADMINAVAILINTEGERPARSEINTREQUESTGETPARAMETER“ADMINAVAIL“ADMINLLT“ADMINCOMMENTREQUESTGETPARAMETER“ADMINCOMMENT“TRYDBPREPARESTATEMENT“INSERTINTOADMINVALUES,“/添加用戶信息DBSETSTRING1,ADMINIDDBSETSTRING2,ADMINNAMEDBSETSTRING3,ADMINPWDDBSETINT4,ADMINPOWERDBSETSTRING5,ADMINLOCKEDDBSETSTRING6,ADMINCTDBSETINT7,ADMINAVAILDBSETSTRING8,ADMINLLTDBSETSTRING9,ADMINCOMMENTDBEXECUTEUPDATERETURNTRUECATCHSQLEXCEPTIONEEPRINTSTACKTRACEERRMSG“添加用戶失敗,無法寫入數(shù)據(jù)庫“RETURNFALSEFINALLYDBCLOSEELSEERRMSG“管理編號為“SUPERVISOR“的管理員沒有權限添加用戶“RETURNFALSE55系統(tǒng)界面圖8圖書管理系統(tǒng)的登錄頁面圖9圖書管理系統(tǒng)的主頁面圖10圖書借閱頁面6系統(tǒng)測試61界面測試界面測試是測試過程中比較簡單直觀的一種測試方法,只要細心地按界面要求核對就行了。下面是界面測試中出現(xiàn)的BUG及解決方法1錯別字,界面中的標題或者文本內(nèi)容中出現(xiàn)了錯別字。解決方法找到錯別字所在代碼,將字修改正確。2頁面類似的內(nèi)容中,明顯有字體,字號不同的情況,使界面整體風格看上去不一致,解決方法看一下是否沒有定義CSS,如果定義了仍然有錯,則看是否有調(diào)用。62功能測試顧名思義,功能測試主要是測試程序模塊是否實現(xiàn)了設計中所有要求的功能。1用戶登陸測試輸入用戶名和密碼后,點擊登陸,成功,通過測試。2修改密碼測試登陸后修改密碼,然后重新登陸,成功,通過測試。3添加用戶,圖書,讀者測試登陸系統(tǒng)后,添加新的用戶,圖書,讀者,成功,通過測試。4登陸失敗測試輸入錯誤的用戶名
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設備設施保養(yǎng)管理制度
- 設立網(wǎng)絡保密管理制度
- 設計單位公司管理制度
- 設計項目售后管理制度
- 診所安全用電管理制度
- 診所藥房倉庫管理制度
- 試驗檢測臺賬管理制度
- 財務資料安全管理制度
- 財政分局合同管理制度
- 貨款回收利息管理制度
- 譯林版二年級下冊英語期末測試卷-附聽力及答案
- 物業(yè)公司權責手冊市場拓展
- 小學生小升初中自薦信5篇
- 職場基本功:累死你的不是工作是工作方法
- 新生兒窒息的急救及護理
- JJG 7-2004直角尺
- GB/T 26121-2010可曲撓橡膠接頭
- GB/T 22184-2008谷物和豆類散存糧食溫度測定指南
- GB/T 21650.2-2008壓汞法和氣體吸附法測定固體材料孔徑分布和孔隙度第2部分:氣體吸附法分析介孔和大孔
- GB/T 16917.1-2014家用和類似用途的帶過電流保護的剩余電流動作斷路器(RCBO)第1部分:一般規(guī)則
- 燒錄原理與方法介紹-基礎篇
評論
0/150
提交評論