圖書館管理系統(tǒng)_第1頁
圖書館管理系統(tǒng)_第2頁
圖書館管理系統(tǒng)_第3頁
圖書館管理系統(tǒng)_第4頁
圖書館管理系統(tǒng)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

摘要圖書館管理系統(tǒng)是典型的信息管理系統(tǒng)MIS,其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn),同樣的圖書館也有C/S和B/S兩種架構(gòu),此次畢業(yè)設(shè)計(jì)所做的圖書館管理系統(tǒng)是B/S架構(gòu)基于WEB的應(yīng)用系統(tǒng)開發(fā)的一種小型圖書館管理系統(tǒng),通過瀏覽器來訪問。本畢業(yè)設(shè)計(jì)實(shí)現(xiàn)了對英博圖書館的管理,功能如下讀者的登陸、讀者注冊、讀者管理、圖書借閱、圖書歸還等。該系統(tǒng)基于LINUX系統(tǒng)、APATCHTOMCAT服務(wù)器,開發(fā)語言采用JAVA,后臺數(shù)據(jù)庫由于MYSQL數(shù)據(jù)庫插入漢字比較麻煩,不好實(shí)現(xiàn)本系統(tǒng)簡單易操作這個(gè)特點(diǎn),所以系統(tǒng)實(shí)現(xiàn)時(shí)采用的是POINTBASE這個(gè)數(shù)據(jù)庫,此數(shù)據(jù)庫與ORACLE數(shù)據(jù)庫非常類似,語法基本相同,而且占用內(nèi)存非常小。所用相關(guān)技術(shù)JAVASCRIPT、JSP、STRUTS、HIBERNATE、JAVABEAN、SPRING;。該軟件界面友好,操作簡單,使圖書館管理系統(tǒng)復(fù)雜功能簡單化。關(guān)鍵詞MIS,B/S架構(gòu),POINTBASEABSTRACTLIBRARYMANAGEMENTSYSTEMISATYPICALMANAGEMENTINFORMATIONSYSTEMMIS,INCLUDINGITSMAINDEVELOPMENTBACKGROUNDOFTHESTABLISHMENTANDMAINTENANCEOFTHEDATABASEANDFRONTENDAPPLICATIONDEVELOPMENTINTWOWITHREGARDTOTHEFORMERREQUESTTOESTABLISHSTRONGDATACONSISTENCYANDINTEGRITY,DATASECURITYAGOODLIBRARYFORTHELATTERREQUESTAPPLICATIONSFULLYFUNCTIONAL,EASYTOUSE,ANDOTHERCHARACTERISTICS,THESAMELIBRARYHASC/SANDB/STWOSTRUCTURE,DESIGNEDBYTHEGRADUATIONOFBOOKSMUSEUMMANAGEMENTSYSTEMISB/SFRAMEWORKFORWEBBASEDAPPLICATIONSYSTEMDEVELOPEDBYASMALLBOOKMUSEUMMANAGEMENTSYSTEM,THROUGHTHEBROWSERTOACCESSGRADUATEDFROMTHEDESIGNANDIMPLEMENTATIONOFTHEBRITISHLIBRARYBOMANAGEMENT,FUNCTIONSASFOLLOWSREADERSLANDING,THEREADERREGISTRATION,MANAGEMENTREADERS,BORROWBOOKS,BOOKSSUCHASRESTITUTIONTHEDEPARTMENTOFECLINUXBASEDSYSTEMS,APATCHTOMCATSERVER,THEDEVELOPMENTOFLANGUAGEUSEJAVA,AFTERTAIWANMYSQLDATABASEBECAUSETHEDATABASEINTOCHINESECHARACTERSRELATIVELYTROUBLE,NOTREALIZINGTHESYSTEMSIMPLEANDEASYTOOPERATETHISFEATURE,THESYSTEMUSEDTOACHIEVETHISNUMBERISPOINTBASETHELIBRARY,THISDATABASEANDORACLEDATABASEISVERYSIMILAR,BASICALLYTHESAMEGRAMMAR,ANDACCOUNTEDFORMEMORYISVERYSMALLRELATEDTECHNOLOGYUSEDJAVASCRIPT,JSP,STRUTS,HIBERNATE,JAVABEAN,SPRINGTHESOFTWAREUSERFRIENDLY,EASYTOUSESOTHATTHELIBRARYMANAGEMENTSYSTEMSIMPLIFYINGCOMPLEXFUNCTIONSKEYWORDSMIS,B/SSTRUCTURE,POINTBASE1緒論111圖書館管理系統(tǒng)開發(fā)的意義112本文所做的主要工作12開發(fā)環(huán)境以及開發(fā)工具介紹121總體介紹122B/S模式介紹123JAVA技術(shù)概述1231JAVABEAN介紹1232JSP技術(shù)介紹2233HIBERTATE技術(shù)介紹224“容器”TOMCAT應(yīng)用服務(wù)器介紹325POINTBASE簡介326開發(fā)框架技術(shù)MVC43系統(tǒng)需求分析131功能需求132硬件需求133可行性研究1331技術(shù)可行性1332操作可行性234結(jié)論14總體設(shè)計(jì)141系統(tǒng)分析1411系統(tǒng)目標(biāo)分析1412系統(tǒng)面向的對象1413組織結(jié)構(gòu)分析1414業(yè)務(wù)流程分析142系統(tǒng)結(jié)構(gòu)設(shè)計(jì)243數(shù)據(jù)流程分析444數(shù)據(jù)模型分析1441英博圖書館管理系統(tǒng)總ER圖1442系統(tǒng)類圖1443系統(tǒng)用例圖1444讀者實(shí)體ER圖1445聯(lián)系信息實(shí)體ER圖1446圖書實(shí)體ER圖1447借閱訂單狀態(tài)實(shí)體1448借閱訂單實(shí)體1449借閱訂單項(xiàng)實(shí)體145數(shù)據(jù)字典1451數(shù)據(jù)項(xiàng)1452數(shù)據(jù)存儲1453數(shù)據(jù)流146輸入輸出設(shè)計(jì)147數(shù)據(jù)庫邏輯設(shè)計(jì)15詳細(xì)設(shè)計(jì)151用戶登陸模塊152用戶注冊模塊153讀者管理模塊154模塊的實(shí)現(xiàn)2541建表語句2542代碼的實(shí)現(xiàn)3543模塊分析166軟件測試161什么是軟件測試162軟件測試的規(guī)則163軟件測試的對象164單元測試1結(jié)論1致謝2參考文獻(xiàn)3附錄1代碼部分4附錄2中英文資料翻譯部分11緒論11圖書館管理系統(tǒng)開發(fā)的意義當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設(shè)計(jì)的。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對借書卡的人工檢查進(jìn)行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找。總的來說,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改。圖書館采取手工方式對圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時(shí)對它比較清楚,時(shí)間一長,如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對很長時(shí)間以前的圖書進(jìn)行更改就更加困難了。基于這此問題,我認(rèn)為有必要建立一個(gè)圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。12本文所做的主要工作本次畢業(yè)設(shè)計(jì)主要是實(shí)現(xiàn)一個(gè)小型的圖書館管理系統(tǒng),該系統(tǒng)是針對一些小型的圖書館設(shè)計(jì)的,系統(tǒng)主要實(shí)現(xiàn)對讀者的管理、圖書的信息查詢、圖書的借閱、圖書的歸還等功能,而且由于該系統(tǒng)是B/S架構(gòu)基于WEB的應(yīng)用系統(tǒng)開發(fā)的,只需要通過通過瀏覽器來訪問,方便快捷,操作簡單,而且開發(fā)成本低,使圖書館管理系統(tǒng)復(fù)雜功能簡單化,特別合適小型的圖書館使用開發(fā)環(huán)境以及開發(fā)工具介紹13總體介紹開發(fā)英博圖書館管理系統(tǒng),需要以下解環(huán)境和工具選擇POINTBASE作為后臺的數(shù)據(jù)庫,JAVAJSP、JAVASCRIPT、HTML,SERVLET,STRUTS,作為應(yīng)用程序開發(fā)工具,運(yùn)用TOMCAT服務(wù)器技術(shù),整個(gè)系統(tǒng)完全基于B/SBROWSER/SERVER,采用最流行的MVC模式開發(fā)14B/S模式介紹伴隨著INTERNET的迅速發(fā)展,計(jì)算機(jī)技術(shù)正在由基于C/S(CLIENT/SERVER)模式的應(yīng)用系統(tǒng)轉(zhuǎn)變?yōu)榛贐/S模式的應(yīng)用系統(tǒng)。過去,網(wǎng)絡(luò)軟件的開發(fā)都采用C/S(CLIENT)模式,在這種模式下,主要的業(yè)務(wù)邏輯都集中于客戶端程序,因此,必然導(dǎo)致以下問題1系統(tǒng)安裝、調(diào)試、維護(hù)和升級困難。由于客戶端的硬件配置可能存在差異,軟件環(huán)能各不相同,因此,在安裝時(shí),必須對每一個(gè)客戶端分別進(jìn)行配置,同樣,在軟件升級時(shí)也要對客戶端分別處理。2在整個(gè)系統(tǒng)中,業(yè)務(wù)邏輯和用戶界面都集中到了客戶端,必然會增加安全隱患。3B/S模式帶來了巨大的好處開發(fā)成本及維護(hù)成本降低。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(SERVER)上,即應(yīng)用程序在部署、升級、維護(hù)時(shí),只需要在服務(wù)器端進(jìn)行配置就可以了,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(SERVER)端完全通過WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(BROWSER)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。4良好的安全性能,防火墻技術(shù)可以保證后臺數(shù)據(jù)庫的安全性。所有的配置工作都集中在服務(wù)器端且所有客戶端請求都是通過DBMS來訪問數(shù)據(jù)庫,從而大大減少了數(shù)據(jù)直接暴露的風(fēng)險(xiǎn)。15JAVA技術(shù)概述JAVA技術(shù)是SUN公司推出的新的一代面向?qū)ο蟪绦蛟O(shè)計(jì)語言,特別適合于INTERNET應(yīng)用程序開發(fā)。JAVA的產(chǎn)生與流行是當(dāng)今INTERNET發(fā)展的客觀要求,JAVA是一門各方面性能都很好的編程語言,它的基本特點(diǎn)是簡單、面向?qū)ο蟆⒎植际?、解釋的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的、多線程的、動態(tài)的,特別適合在INTERNET環(huán)境上開發(fā)的應(yīng)用系統(tǒng)。JAVA技術(shù)不僅僅包括JAVA語言,它還有一系列的與之相應(yīng)的開發(fā)技術(shù),如JAVABEAN、JSP、HIBERTATE、STRUTS等等。151JAVABEAN介紹用戶可以使用JAVABEAN將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用JAVA代碼創(chuàng)造的對象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁面、SERVLET、其他JAVABEAN、APPLET程序或者應(yīng)用來使用這些對象。用戶可以認(rèn)為JAVABEAN提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。最初,JAVABEAN的目的是為了將可以重復(fù)使用的軟件代碼打包標(biāo)準(zhǔn)。特別是用與幫助廠家開發(fā)在綜合開發(fā)環(huán)境(IDE)下使用的JAVA軟件部件。這些包括如GRID控件,用戶可以將該部件拖放到開發(fā)環(huán)境中。從此,JAVABEAN就可以擴(kuò)展為一個(gè)JAVAWEB應(yīng)用的標(biāo)準(zhǔn)部件,并且JAVABEAN部件框架已經(jīng)擴(kuò)展為企業(yè)版的BEAN(EJB)。152JSP技術(shù)介紹JSP的全稱是JAVASERVERPAGES,它是SUN推出的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它在傳統(tǒng)的靜態(tài)頁面文件(HTML,HTM)中加入JAVA程序片段和JSP標(biāo)記,就構(gòu)成了JSP頁面。JSP具有以下的優(yōu)點(diǎn)1將業(yè)務(wù)層與表示層分離使用JSP技術(shù),網(wǎng)絡(luò)開發(fā)人員可充分使用HTML來設(shè)計(jì)頁面顯示部分(如字體顏色等),并使用JSP指令或者JAVA程序片段來生成網(wǎng)頁上的動態(tài)內(nèi)容;2能夠跨平臺JSP支持絕大部分平臺,包括現(xiàn)在非常流行的LINUX系統(tǒng),應(yīng)用非常廣泛的APACHE服務(wù)器也提供了支持JSP的服務(wù);3組件的開發(fā)和使用很方便如ASP的組件是由C,VB等語言開發(fā)的,并需要注冊才能使用;而JSP的組件是用JAVA開發(fā)的,可以直接使用;4一次編寫,處處運(yùn)行作為JAVA開發(fā)平臺的一部分,JSP具有JAVA所有優(yōu)點(diǎn),包括WRITEONCE,RUNEVERYWHERE153HIBERTATE技術(shù)介紹HIBERNATE是一個(gè)免費(fèi)的開源JAVA包,它使得與關(guān)系數(shù)據(jù)庫打交道變得十分輕松,就像您的數(shù)據(jù)庫中包含每天使用的普通JAVA對象一樣,同時(shí)不必考慮如何把它們從神秘的數(shù)據(jù)庫表中取出(或放回到數(shù)據(jù)庫表中)。它解放了您,使您可以專注于應(yīng)用程序的對象和功能,而不必?fù)?dān)心如何保存它們或稍后如何找到它們。HIBERNATE不會對您造成妨礙,也不會強(qiáng)迫您修改對象的行為方式。它們不需要實(shí)現(xiàn)任何不可思議的接口以便能夠持續(xù)存在。惟一需要做的就是創(chuàng)建一份XML“映射文檔”,告訴HIBERNATE您希望能夠保存在數(shù)據(jù)庫中的類,以及它們?nèi)绾侮P(guān)聯(lián)到該數(shù)據(jù)庫中的表和列,然后就可以要求它以對象的形式獲取數(shù)據(jù),或者把對象保存為數(shù)據(jù)。與其他解決方案相比,它幾乎已經(jīng)很完美了。運(yùn)行時(shí),HIBERNATE讀取映射文檔,然后動態(tài)構(gòu)建JAVA類,以便管理數(shù)據(jù)庫與JAVA之間的轉(zhuǎn)換。在HIBERNATE中有一個(gè)簡單而直觀的API,用于對數(shù)據(jù)庫所表示的對象執(zhí)行查詢。要修改這些對象,(一般情況下)只需在程序中與它們進(jìn)行交互,然后告訴HIBERNATE保存修改即可。類似地,創(chuàng)建新對象也很簡單;只需以常規(guī)方式創(chuàng)建它們,然后告訴HIBERNATE有關(guān)它們的信息,這樣就能在數(shù)據(jù)庫中保存它們。HIBERNATEAPI學(xué)習(xí)起來很簡單,而且它與程序流的交互相當(dāng)自然。在適當(dāng)?shù)奈恢谜{(diào)用它,就可以達(dá)成目的。它帶來了很多自動化和代碼節(jié)省方面的好處,所以花一點(diǎn)時(shí)間學(xué)習(xí)它是值得的。而且還可以獲得另一個(gè)好處,即代碼不用關(guān)心要使用的數(shù)據(jù)庫種類(否則的話甚至必須知道)。我所在的公司就曾有過在開發(fā)過程后期被迫更換數(shù)據(jù)庫廠商的經(jīng)歷。這會造成巨大的災(zāi)難,但是借助于HIBERNATE,只需要簡單地修改HIBERNATE配置文件即可。16“容器”TOMCAT應(yīng)用服務(wù)器介紹目前支持JSP的應(yīng)用服務(wù)器是較多的,TOMCAT是其中較為流行的一個(gè)WEB服務(wù)器,被JAVAWORLD雜志的編輯選為2001年度最具創(chuàng)新的JAVA產(chǎn)品,可見其在業(yè)界的地位。TOMCAT是一個(gè)免費(fèi)的開源的SERLVET容器,在TOMCAT中,應(yīng)用程序的部署很簡單,你只需將你的WAR放到TOMCAT的WEBAPP目錄下,TOMCAT會自動檢測到這個(gè)文件,并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的JSP時(shí),通常第一次會很慢,因?yàn)門OMCAT要將JSP轉(zhuǎn)化為SERVLET文件,然后編譯。編譯以后,訪問將會很快。TOMCAT也具有傳統(tǒng)的WEB服務(wù)器的功能處理HTML頁面。但是與APACHE相比,它的處理靜態(tài)HTML的能力就不如APACHE。我們可以將TOMCAT和APACHE集成到一塊,讓APACHE處理靜態(tài)HTML,而TOMCAT處理JSP和SERVLET。TOMCAT是一個(gè)很好的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_放性,越來越受到人們的重視。17POINTBASE簡介POINTBASE是一個(gè)100純用JAVA編寫的小型數(shù)據(jù)庫,因?yàn)槠潴w積?。〝?shù)據(jù)庫服務(wù)器引擎僅1M),客戶端文件加起來不到1M,因此經(jīng)??梢杂脕碜鳛轫?xiàng)目演示,加上是純用JAVA編寫的,所以對平臺支持性很強(qiáng),推薦用于學(xué)習(xí)與項(xiàng)目演示,以下是POINTBASE的基本配置與學(xué)習(xí)我用的是POINTBASESERVER44主要文件僅三個(gè)PBSERVER44JAR,PBCLIENT44JAR,PBTOOLS44JAR。1)PBSERVER44JAR(僅1200K,當(dāng)初我剛剛接觸的時(shí)候確實(shí)有點(diǎn)驚訝)是數(shù)據(jù)庫引擎文件,單獨(dú)運(yùn)行就可以作為數(shù)據(jù)庫服務(wù)器,啟動方法JAVACOMPOINTBASENETNETSERVER2)PBCLIENT44JAR提供了JDBC驅(qū)動與客戶端的相關(guān)文件,PBTOOLS44JAR是客戶端的設(shè)置與操作,若想運(yùn)行窗口配置程序JAVACOMPOINTBASETOOLSTOOLSCONSOLE細(xì)節(jié)如下1)服務(wù)器端的設(shè)置1、設(shè)置環(huán)境變量CLASSPATH,把PBSERVER44JAR文件路徑包括進(jìn)去。2、設(shè)置數(shù)據(jù)庫配置文件POINTBASEINI文件,主要設(shè)置了DATABASE數(shù)據(jù)庫的存放路徑(建立一個(gè)POINTBASEINI文件,加入如下內(nèi)容DATABASEHOMEEPOINTBASEDATABASES3、啟動服務(wù)器JAVACOMPOINTBASENETNETSERVER/PORT9092/D3/POINTBASEINI“EPOINTBASETOOLSPOINTBASEINI“說明PORT參數(shù)代表端口,D代表優(yōu)先級,POINBASEINI文件代表是配置文件的路徑,也可以自己編寫一個(gè)腳本,把以上的內(nèi)容都完成。詳細(xì)幫助可以到官方網(wǎng)站查資料,或者運(yùn)行JAVACOMPOINTBASENETNETSERVER/HELP查看參數(shù)用法2)客戶應(yīng)用段的配置1、環(huán)境變量的設(shè)置CLASSPATH,把PBCLIENT44JAR與PBTOOLS44JAR的路徑添加進(jìn)去。2、啟動客戶端JAVACOMPOINTBASETOOLSTOOLSCONSOLE(你也可以編寫一個(gè)腳本,如WINDOWS下可以編寫一個(gè)BAT文件,具體的寫法可以去查資料,極其簡單)3)一些重要的參數(shù)內(nèi)容通用的JDBC驅(qū)動COMPOINTBASEJDBCJDBCUNIVERSALDRIVER(在包PBCLIENT44JAR里)URL數(shù)據(jù)庫連接JDBCPOINTBASESERVER/數(shù)據(jù)庫名字如JDBCPOINTBASESERVER/LOCALHOST9092/SAMPL18開發(fā)框架技術(shù)MVC對于框架技術(shù),我們采用STRUTSJAVABEANHIBERNATE的整合,其實(shí)任何一種框架都可以完成我們的項(xiàng)目,但我們選擇三種框架的組合是因?yàn)槿N框架各有好處,我們利用它們的優(yōu)點(diǎn),來避免它們的缺點(diǎn),充分利用JAVA技術(shù)在WEB的應(yīng)用。STRUTS是應(yīng)用比較廣泛的一種表現(xiàn)層框架STRUTS是一個(gè)為開發(fā)基于模型MODEL視圖VIEW控制器CONTROLLERMVC模式的應(yīng)用架構(gòu)的開源框架,是利用SERVLET,JSP和CUSTOMTAGLIBRARY構(gòu)建WEB應(yīng)用的一項(xiàng)非常有用的技術(shù)。由于STRUTS能充分滿足應(yīng)用開發(fā)的需求,簡單易用,敏捷迅速。它使用服務(wù)層框架可以將JAVABEANS從JSP/SERVLET中分離出來,而使用表現(xiàn)層框架則可以將JSP中剩余的JAVABEANS完全分離,這部分JAVABEANS主要負(fù)責(zé)顯示相關(guān)信息,一般是通過標(biāo)簽庫(TAGLIB)實(shí)現(xiàn),不同框架有不同自己的標(biāo)簽庫,STRUTS是應(yīng)用比較廣泛的一種表現(xiàn)層框架。2系統(tǒng)需求分析21功能需求圖書館是各大高等院校的重要組成部門,它不僅是書籍、文摘等一系列科學(xué)資料的保存場所,更重要的它是教師、學(xué)生獲取知識的地方。由于圖書館主要儲存大量的圖書資料和流通工作,所以計(jì)算機(jī)很早就在圖書管理中得到應(yīng)用。隨著時(shí)代的發(fā)展,誕生了新的管理系統(tǒng)網(wǎng)絡(luò)圖書管理系統(tǒng),取代了原來的傳統(tǒng)計(jì)算機(jī)管理系統(tǒng),它采用了大型的數(shù)據(jù)庫,不僅保證了數(shù)據(jù)的準(zhǔn)確性,而且提供了從借閱、歸還、續(xù)借,圖書分類等一系列的管理方案。新一代的網(wǎng)絡(luò)圖書管理系統(tǒng)是圖書館管理最理想的工具。該圖書館管理系統(tǒng),作為一種小型的系統(tǒng),為圖書管理員使用,可以直接對讀者基本信息進(jìn)行管理、對圖書信息進(jìn)行管理、對圖書的借閱歸還進(jìn)行管理等。22硬件需求由于本次畢業(yè)設(shè)計(jì)采用的B/S模式,該圖書管理系統(tǒng)只需要通過瀏覽器來訪問,要求就是需要需要一臺電腦作為服務(wù)器、數(shù)據(jù)庫,這些軟件通過網(wǎng)上下載可以得到,然后安裝好就行了,所以對硬件的要求不高。推薦配置硬件需求PIII/256M/10G及以上配置,要求為圖書館管理系統(tǒng)分配足夠的數(shù)據(jù)庫磁盤空間推薦配置PIV2G/512M/40G操作系統(tǒng)需求WINDOWS2000及以上操作系統(tǒng)推薦,也可以使用SUNSOLARIS等LINUX操作系統(tǒng)數(shù)據(jù)庫軟件需求POINTBASE數(shù)據(jù)庫,也可以使ORACLE8I/ORACLE9I數(shù)據(jù)庫中間件軟件需求TOMCATMYECLIPSE60系列服務(wù)器23可行性研究可行性研究分為技術(shù)可行性研究、操作可行性研究、經(jīng)濟(jì)可行性研究,而本設(shè)計(jì)用于畢業(yè)設(shè)計(jì),暫不考慮經(jīng)濟(jì)可行性。231技術(shù)可行性圖書館管理系統(tǒng),可以基于各種平臺,采用JAVA語言,數(shù)據(jù)量小,只需采用小型數(shù)據(jù)庫POINTBASE。實(shí)現(xiàn)過程中可以用HIBERNATE等連接數(shù)據(jù)庫,并可以使用SQL語句進(jìn)行查詢、插入、刪除、更新等操作,功能實(shí)現(xiàn)不復(fù)雜。已經(jīng)學(xué)習(xí)過數(shù)據(jù)庫、軟件工程等相關(guān)課程,而語言基本思想大致是一樣的,JAVA掌握起來應(yīng)該沒有問題。再者,網(wǎng)上信息特別豐富,可以上網(wǎng)查找有關(guān)資料,在技術(shù)方面有指導(dǎo)老師可以進(jìn)行指導(dǎo),還可以上網(wǎng)查詢相關(guān)資料。英博圖書館管理系統(tǒng)實(shí)現(xiàn)的理論及技術(shù)已經(jīng)日趨成熟。因此,在技術(shù)方面實(shí)現(xiàn)本系統(tǒng)是不存在問題的。232操作可行性本圖書館管理系統(tǒng)的開發(fā)環(huán)境為LINUX,開發(fā)語言為JAVA,后臺數(shù)據(jù)庫用PINTBASE來實(shí)現(xiàn),由于JAVA語言的多平臺性,可以應(yīng)用到各種操作系統(tǒng)如WINDOWS、LINUX系統(tǒng),并且只通過瀏覽器來訪問,普通讀者和管理員只需了解一些基本操作就可以很好地使用本系統(tǒng)。因此,在操作的可行性上不存在任何問題。24結(jié)論由功能實(shí)現(xiàn)簡單、硬件的要求不高、技術(shù)可行性、操作可行性的研究,可以得出結(jié)論,英博圖書館管理系統(tǒng)的開發(fā)是完全可行的3總體設(shè)計(jì)31系統(tǒng)分析所謂系統(tǒng)分析,就是指在整個(gè)系統(tǒng)開發(fā)工程中,解決“做什么“的問題,把要解決哪些問題,滿足用戶哪些具體的信息需求調(diào)查分析清楚,從邏輯上或說從信息處理的功能需求上提出系統(tǒng)的方案,即邏輯模型,為下一階段進(jìn)行物理方案設(shè)計(jì),解決怎么辦提供依據(jù)。它是信息開發(fā)系統(tǒng)中的一個(gè)重要階段,是建立系統(tǒng)模型的第一步。其核心是目標(biāo)分析與需求分析,最后提出系統(tǒng)的邏輯方案。311系統(tǒng)目標(biāo)分析建立圖書館管理系統(tǒng)的目的,就是用以計(jì)算機(jī)為主的現(xiàn)代化設(shè)備完成圖書館工作中各種信息的輸入、存儲、加工、傳遞和使用,進(jìn)行一般圖書館業(yè)務(wù)的管理,從而提高圖書館工作效率。312系統(tǒng)面向的對象主要是面向一般讀者和管理員。313組織結(jié)構(gòu)分析組織在這里是指一個(gè)單位或部門。我們到任何一個(gè)組織中去調(diào)查研究,首先接觸到的具體情況是系統(tǒng)的組織結(jié)構(gòu)。組織結(jié)構(gòu)是指組織內(nèi)部的部門劃分以及它們的相互關(guān)系。現(xiàn)行系統(tǒng)中信息的流動關(guān)系是以組織結(jié)構(gòu)為背景的。在一個(gè)組織中,各部門之間存在著各種314業(yè)務(wù)流程分析開發(fā)和建立管理信息系統(tǒng)的根本目的在于提高管理水平。再對系統(tǒng)組織結(jié)構(gòu)進(jìn)行分析時(shí),需要一個(gè)實(shí)際業(yè)務(wù)流程的角度將系統(tǒng)調(diào)查中有關(guān)業(yè)務(wù)流程的資料都穿起來作進(jìn)一步的分析。經(jīng)調(diào)查,每個(gè)圖書館都有以下業(yè)務(wù)圖書編目、圖書流通、公共檢索、系統(tǒng)管理等。不過我們此次做的系統(tǒng)只是一個(gè)普通圖書館的簡化版,業(yè)務(wù)流程相對比較簡單,具體描述見后面的模塊詳細(xì)設(shè)計(jì)以下是業(yè)務(wù)的流程1首先用戶先來到登陸界面,它要求用戶輸入它的用戶名和密碼才能登陸系統(tǒng)。2如果用戶未注冊,可以點(diǎn)擊注冊用戶進(jìn)行注冊,注冊頁面會要求用戶填寫一些必要的信息,完成注冊則可以返回登陸頁面進(jìn)行登陸。3用戶登陸后,則來到系統(tǒng)首頁,系統(tǒng)首頁上面會列出一系列書的信息,以供讀者選擇,如果讀者選定某本書可以點(diǎn)擊書名查詢詳細(xì)信息,也可以直接點(diǎn)擊借閱按鈕進(jìn)行借閱。4系統(tǒng)頁面上列出了一系列的功能模塊,如果該用戶是管理員,可以使用讀者管理工能對讀者進(jìn)行管理,該功能可以查看讀者的列表,可以修改讀者的信息,可以對讀者進(jìn)行刪除、增加。5如果是普通讀者,可以使用圖書借閱、圖書歸還這兩個(gè)功能,在圖書借閱功能下,讀者可以對圖書的借閱定單進(jìn)行增、刪、改、查,確認(rèn)后借閱;圖書歸還功能可以查看讀者已借閱的圖書是否到期,并對圖書進(jìn)行歸還操作。6最后,用戶想要退出系統(tǒng),可以點(diǎn)擊退出按鈕安全退出系統(tǒng)。以下是業(yè)務(wù)流程圖讀者讀者管理用戶注冊圖書借閱圖書歸還退出首頁登陸32系統(tǒng)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)結(jié)構(gòu)設(shè)計(jì),采用了結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)方法。結(jié)構(gòu)化設(shè)計(jì)方法的基本思想是以系統(tǒng)的邏輯功能設(shè)計(jì)和數(shù)據(jù)流關(guān)系為基礎(chǔ),根據(jù)數(shù)據(jù)流程圖,借助一套標(biāo)準(zhǔn)的設(shè)計(jì)準(zhǔn)則和圖表工具,通過“自上而下“和“自下而上“的反復(fù)以下是本圖書館管理系統(tǒng)的功能結(jié)構(gòu)圖英博圖書館管理系統(tǒng)用戶注冊用戶登陸首頁讀者管理圖書借閱圖書歸還退出各模塊功能設(shè)計(jì)1用戶注冊1提供在系統(tǒng)中注冊用戶功能2用戶登陸1提供未注冊用戶登陸向?qū)?提供已注冊用戶登陸向?qū)?對用戶信息進(jìn)行校驗(yàn)3首頁1顯示當(dāng)前所有圖書2提供查看圖書詳細(xì)信息的向?qū)?提供進(jìn)入圖書借閱模塊的向?qū)?圖書詳細(xì)信息查詢模塊1顯示當(dāng)前用戶所點(diǎn)圖書的詳細(xì)信息2提供進(jìn)入圖書借閱模塊的向?qū)?圖書借閱模塊1提供修改用戶借閱圖書數(shù)量的功能2提供取消當(dāng)前借閱訂單項(xiàng)的功能3保存用戶每一個(gè)借閱訂單項(xiàng)借閱圖書的數(shù)量4生成用戶借閱訂單的功能5提供讓用戶繼續(xù)選書的功能6提供清空用戶借閱訂單所有內(nèi)容的功能6圖書歸還1提供將圖書狀態(tài)由借閱狀態(tài)變?yōu)闅w還狀態(tài)的功能33數(shù)據(jù)流程分析數(shù)據(jù)流程是系統(tǒng)中的信息處理的方法和過程的統(tǒng)一。由于老的系統(tǒng)中的數(shù)據(jù)處理是建立在手工處理或陳舊的信息處理手段的基礎(chǔ)上的,我們有理由相信,新的信息技術(shù)條件將為數(shù)據(jù)處理提供較為有效的處理方法。因此,與業(yè)務(wù)流程的改進(jìn)優(yōu)化相對應(yīng),數(shù)據(jù)流程的以下是本系統(tǒng)的數(shù)據(jù)流程圖系統(tǒng)頂層圖管理員圖書館管理系統(tǒng)讀者管理事務(wù)管理事務(wù)回應(yīng)修改及查詢信息修改及查詢信息回應(yīng)系統(tǒng)一層圖管理員表注冊信息系統(tǒng)管理聯(lián)系信息表讀者表讀者管理管理員讀者讀者信息修改信息借閱管理系統(tǒng)查詢借閱訂單表借閱訂單項(xiàng)表狀態(tài)訂單表圖書信息表圖書歸還信息圖書信息系統(tǒng)二層圖聯(lián)系信息表注冊登陸退出讀者表管理員表管理員讀者系統(tǒng)管理細(xì)化管理員查看所有讀者讀者修改信息聯(lián)系信息表讀者表讀者管理細(xì)化34數(shù)據(jù)模型分析341英博圖書館管理系統(tǒng)總ER圖1每一個(gè)讀者對應(yīng)有一條記錄有該讀者的信息,讀者與聯(lián)系信息應(yīng)該是一對一的關(guān)系。2讀者與借閱定單對應(yīng)的關(guān)系是一對多關(guān)系,讀者是一,借閱定單是多。3借閱定單與圖書狀態(tài)對應(yīng)的關(guān)系是多對一關(guān)系,借閱定單是多,圖書狀態(tài)是一。4借閱定單與借閱訂單項(xiàng)對應(yīng)的關(guān)系是一對多關(guān)系,借閱定單是一,借閱定單項(xiàng)是多。5借閱訂單項(xiàng)與圖書對應(yīng)的關(guān)系是多對一關(guān)系,借閱訂單項(xiàng)是多,圖書是一。對對應(yīng)讀者借閱訂單借閱訂單項(xiàng)1圖書聯(lián)系信息對應(yīng)1圖書狀態(tài)有1NN1對應(yīng)N11N342系統(tǒng)類圖343系統(tǒng)用例圖344讀者實(shí)體ER圖345聯(lián)系信息實(shí)體ER圖346圖書實(shí)體ER圖圖書圖書ID圖書名基本價(jià)格圖書簡介作者出版社頁碼所屬借閱訂單項(xiàng)圖書圖片讀者用戶名密碼聯(lián)系信息借閱訂單聯(lián)系信息聯(lián)系信息ID所屬讀者聯(lián)系地址1聯(lián)系地址2郵編郵箱家庭電話手機(jī)辦公室電話SERVICELOCATOR表示層STRUTSSTRUTSACTION,ACTIONFORM,JSP,STRUTSCONFIGXML,ETCDAOCLASSES業(yè)務(wù)層347借閱訂單狀態(tài)實(shí)體348借閱訂單實(shí)體349借閱訂單項(xiàng)實(shí)體借閱訂單狀態(tài)圖書狀態(tài)狀態(tài)ID狀態(tài)名狀態(tài)簡介對應(yīng)借閱訂單借閱訂單訂單號所屬讀者借閱訂單狀態(tài)借閱訂單名價(jià)格包含的借閱訂單項(xiàng)借閱訂單項(xiàng)借閱訂單項(xiàng)號包含的書所屬借閱訂單借閱數(shù)量35數(shù)據(jù)字典數(shù)據(jù)流程圖說明了系統(tǒng)內(nèi)數(shù)據(jù)的處理,但未對其中數(shù)據(jù)的明確含義、結(jié)構(gòu)和組成作具體的說明。因此,僅有數(shù)據(jù)流程圖還不能完整地表達(dá)系統(tǒng)的全部邏輯屬性。數(shù)據(jù)字典就是用來描述數(shù)據(jù)流程圖內(nèi)數(shù)據(jù)的這些邏輯性質(zhì)的。以下是本系統(tǒng)中各個(gè)模塊的數(shù)據(jù)字典的部分條目351數(shù)據(jù)項(xiàng)1名稱用戶名簡述給每一個(gè)讀者的一個(gè)唯一的身份認(rèn)證類型字符型2名稱圖書狀態(tài)簡述標(biāo)注當(dāng)前圖書是處于借閱狀態(tài)還是已歸還狀態(tài)類型字符型3名稱圖書號簡述每個(gè)圖書對象在數(shù)據(jù)庫中的唯一標(biāo)識352數(shù)據(jù)存儲(1)名稱聯(lián)系信息簡述保存每個(gè)讀者的聯(lián)系信息組成聯(lián)系信息標(biāo)識號、聯(lián)系地址1、聯(lián)系地址2、郵編、郵箱、家庭電話、手機(jī)、辦公室電話、所屬讀者組織方式由聯(lián)系信息標(biāo)識號進(jìn)行索引(2)名稱借閱訂單簡述保存每位讀者一次所借的所有書組成借閱訂單號、讀者、借閱款、這些書目前的狀態(tài)、此次借書對應(yīng)的所有借書訂單項(xiàng)、借閱訂單名字組織方式由借閱訂單號索引353數(shù)據(jù)流由于數(shù)據(jù)流與數(shù)據(jù)項(xiàng)及數(shù)據(jù)存儲內(nèi)容基本重復(fù),故此部分略36輸入輸出設(shè)計(jì)輸出設(shè)計(jì)的目的是使系統(tǒng)能輸出滿足用戶需求的有用信息。對于大多數(shù)用戶來說,輸出是系統(tǒng)開發(fā)的目的和評價(jià)系統(tǒng)開發(fā)成功的標(biāo)準(zhǔn)。因此,輸出設(shè)計(jì)的出發(fā)點(diǎn)是保證系統(tǒng)輸出的信息能夠方便地為用戶所使用,能夠?yàn)橛脩舻墓芾砘顒犹峁┯行У男畔⒎?wù)。各模塊的輸入輸出設(shè)計(jì)1用戶注冊輸入用戶名、密碼、聯(lián)系地址1、聯(lián)系地址2、郵編、郵箱、家庭電話、手機(jī)、辦公室電話輸出轉(zhuǎn)到用戶登陸界面2用戶登陸輸入用戶名、密碼輸出核對成功則轉(zhuǎn)到首頁否則轉(zhuǎn)到登陸界面并輸出錯(cuò)誤信息3圖書借閱模塊1確認(rèn)借閱輸入圖書序號、圖書名稱、作者、出版社、借閱數(shù)量輸出讀者借閱訂單2繼續(xù)選書輸出轉(zhuǎn)到首頁繼續(xù)選書3清空輸出清空所有的借閱訂單項(xiàng)4取消輸出取消當(dāng)前這一個(gè)借閱訂單項(xiàng)5保存修改輸出保存當(dāng)前借閱訂單項(xiàng)中書的數(shù)量4圖書歸還輸入圖書序號、圖書名稱、作者、出版社輸出將圖書狀態(tài)由借閱狀態(tài)改為歸還狀態(tài)5讀者管理1用戶一覽輸出顯示當(dāng)前所有用戶2修改信息輸入用戶以及聯(lián)系信息輸出更新數(shù)據(jù)庫中用戶的信息6退出輸出轉(zhuǎn)到用戶登陸界面37數(shù)據(jù)庫邏輯設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本ER圖轉(zhuǎn)換為與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯模型。本系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)用的是關(guān)系數(shù)據(jù)庫,將概念模型轉(zhuǎn)換為關(guān)系模型。表聯(lián)系信息表CONTACTINFOCONTACTID,USERID,STREET1,STREET2,ZIP,EMAIL,HOMEPHONE,CELLPHONE,OFFICEPHONECONTACTINFO列名類型長度描述CONTACTIDINT20聯(lián)系信息IDUSERIDVARCHAR16讀者IDSTREET1VARCHAR64聯(lián)系地址1STREET2VARCHAR64聯(lián)系地址2ZIPVARCHAR8郵編EMAILVARCHAR32EMAILHOMEPHONEVARCHAR16家庭電話CELLPHONEVARCHAR16手機(jī)OFFICEPHONEVARCHAR16辦公電話借閱訂單項(xiàng)表ORDERLINELINEID,ORDERID,PRODUCTID,AMOUNTORDERLINE列名類型長度描述LINEIDINT20借閱定單項(xiàng)IDORDERIDINT20借閱定單IDPRODUCTIDINT16圖書產(chǎn)品AMOUNTINT20數(shù)量借閱訂單表ORDERSORDERID,NAME,COST,USERID,STATUSID,ORDERS列名類型長度描述ORDERIDINT20借閱定單項(xiàng)IDNAMEVARCHAR32定單名USERIDVARCHAR16讀者IDSTATUSIDINT3借閱訂單狀態(tài)ID借閱訂單狀態(tài)表ORDERSTATUSSTATUSID,NAME,DESCRIPTIONORDERSTATUS列名類型長度描述STATUSIDINT3借閱定單狀態(tài)IDNAMEVARCHAR32狀態(tài)名DESCRIPTIONVARCHAR64狀態(tài)說明圖書產(chǎn)品表PRODUCTPRODUCTID,NAME,DESCRIPTION,BASEPRICE,AUTHOR,PUBLISH,PAGES,IMAGESPRODUCT列名類型長度描述PRODUCTIDINT16圖書產(chǎn)品IDNAMEVARCHAR64圖書名DESCRIPTIONVARCHAR4000圖書說明BASEPRICEINT12圖書價(jià)格AUTHORVARCHAR128作者PUBLISHVARCHAR256出版社PAGESINT6頁數(shù)IMAGESVARCHAR128圖片路徑讀者表USERSUSERID,PASSWORDUSERS列名類型長度描述USERIDVARCHAR16借閱定單狀態(tài)IDPASSWORDVARCHAR12狀態(tài)名數(shù)據(jù)庫中的數(shù)據(jù)存儲,應(yīng)充分考慮到數(shù)據(jù)之間的相互聯(lián)系,進(jìn)行合理的存儲,從而使數(shù)據(jù)在數(shù)據(jù)庫管理系統(tǒng)的支持下得到綜合利用。圖書館管理信息系統(tǒng)中,數(shù)據(jù)庫的建立是至關(guān)重要的。數(shù)據(jù)集中在一個(gè)數(shù)據(jù)庫中,可以達(dá)到各種應(yīng)用之間的高度獨(dú)立,避免重復(fù)、冗余,減少存儲空間4詳細(xì)設(shè)計(jì)系統(tǒng)設(shè)計(jì)階段以比較抽象概括的方式提出了解決問題的辦法。詳細(xì)設(shè)計(jì)是軟件開發(fā)實(shí)施階段,其任務(wù)就是把解法具體化,也就是回答下面這個(gè)關(guān)鍵的問題“應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢”,通過詳細(xì)設(shè)計(jì)應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,給出各個(gè)模塊的詳細(xì)過程性描述。從而在編碼階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語言書寫的程序。由于本次畢業(yè)設(shè)計(jì)是由我和劉峰同學(xué)合作完成,我所做的模塊是用戶登陸、用戶注冊、讀者管理和管理員管理模塊。41用戶登陸模塊系統(tǒng)登錄是進(jìn)入圖書館管理系統(tǒng)的入口。該登陸模塊分為兩種登錄方式,一個(gè)為管理員登陸,另一個(gè)為普通用戶登陸,用戶登陸必須輸入用戶名和密碼。管理員登陸需要選擇登陸身份為管理員,登陸后系統(tǒng)會跳轉(zhuǎn)到管理員界面,界面上會有與管理員對應(yīng)的功能(如對讀者的管理),普通用戶即讀者登陸后系統(tǒng)會跳轉(zhuǎn)到讀者界面,該界面對應(yīng)有讀者的功能(如節(jié)約查詢、圖書歸還)。例在用戶名文本框中輸入“ZHOUZHOU”,密碼為“ZHOUZHOU”該身份為管理員。單擊“確定”即可進(jìn)入圖書館管理系統(tǒng)。如果未注冊用戶,必須注冊才能登陸,點(diǎn)擊注冊按鈕可以跳轉(zhuǎn)到注冊頁面進(jìn)行注冊,具體過程請見42注冊模塊。系統(tǒng)登錄界面如圖42用戶注冊模塊該模塊向未注冊用戶提供注冊功能,點(diǎn)擊用戶登錄界面的“沒有注冊”即可進(jìn)入用戶注冊界面,該注冊界面會提供一些填寫框讓用戶填寫,每一個(gè)填寫框所填寫的內(nèi)容系統(tǒng)都會對其作說明。注冊界面會有一些必填信息要求用戶進(jìn)行填寫(填寫框傍邊加“”號的表示必填),以下列出了一些要填寫的信息用戶名注冊用戶名長度限制為016字符)必填密碼至少6位,至多8位,區(qū)分大小寫,不要使用類似、或HTML字符)必填密碼至少6位,至多8位,請?jiān)佥斠槐榇_認(rèn)必填聯(lián)系地址1聯(lián)系地址2郵編家庭電話辦公室電話手機(jī)EMAIL地址請輸入有效的郵件地址,如ZHOUZHOUSOHUCOM用戶注冊界面如圖填寫完成后點(diǎn)擊注冊按鈕即可注冊成功,界面會跳轉(zhuǎn)到用戶登陸界面,輸入剛才注冊的用戶名和密碼進(jìn)入系統(tǒng)。43讀者管理模塊該模塊對讀者進(jìn)行管理,該功能只有管理員可以使用,進(jìn)入讀者管理模塊,管理員可以查看用戶列表,該列表列出了所有已注冊用戶的信息,管理員可以查找到某一個(gè)讀者并對其信息進(jìn)行修改,或者刪除該用戶。普通用戶則沒有讀者管理這一功能,但是如果想修改個(gè)人信息可以使用修改信息這一功能,讀者可以修改用戶密碼、聯(lián)系地址、聯(lián)系電話等,但不能修改用戶名。讀者管理模塊實(shí)現(xiàn)了對讀者的管理,使管理員很方便地對讀者進(jìn)行增、刪、改、查,提高了圖書館管理的效率,這也是該圖書館管理系統(tǒng)要求的功能,它的特點(diǎn)是簡潔、明確、方便。讀者管理模塊界面如圖44模塊的實(shí)現(xiàn)我所設(shè)計(jì)的這幾個(gè)模塊用到了讀者表USERS、聯(lián)系信息表CONTACTINFO441建表語句讀者表USERSCREATETABLEUSERSUSERIDVARCHAR16,PASSWORDVARCHAR12CONSTRAINTUSERS_PASSWORD_NNNOTNULL,CONSTRAINTUSERS_USERID_PKPRIMARYKEYUSERID聯(lián)系信息表CONTACTINFOCREATETABLECONTACTINFOCONTACTIDINT20AUTO_INCREMENTPRIMARYKEY,USERIDVARCHAR16,STREET1VARCHAR64DEFAULTNULL,STREET2VARCHAR64DEFAULTNULL,CITYVARCHAR32DEFAULTNULL,PROVINCEIDINT10,COUNTRYIDINT10,ZIPVARCHAR8DEFAULTNULL,EMAILVARCHAR32DEFAULTNULL,HOMEPHONEVARCHAR16DEFAULTNULL,CELLPHONEVARCHAR16DEFAULTNULL,OFFICEPHONEVARCHAR16DEFAULTNULL442代碼的實(shí)現(xiàn)這里實(shí)現(xiàn)如下1首先建好POJO類,這是一個(gè)基本類,它定義的屬性對應(yīng)表中的字段。2然后寫好對POJO類的數(shù)據(jù)持久化層的接口以及實(shí)現(xiàn)類,接口里有一些方法可以對數(shù)據(jù)進(jìn)行增、刪、查、改,它的實(shí)現(xiàn)類就是對接口里的方法進(jìn)行具體代碼的實(shí)現(xiàn)。然后寫好業(yè)務(wù)的接口以及實(shí)現(xiàn)類,業(yè)務(wù)的接口以及實(shí)現(xiàn)類與數(shù)據(jù)持久化層的接口和實(shí)現(xiàn)類相似,業(yè)務(wù)接口里面的方法會調(diào)用持久層接口里的方法對數(shù)據(jù)進(jìn)行操作,而它的實(shí)現(xiàn)類也是對接口里的方法進(jìn)行具體代碼的實(shí)現(xiàn)。4最后寫好一個(gè)控制器,負(fù)責(zé)建立與用戶交流的表現(xiàn)層和對數(shù)據(jù)操作的業(yè)務(wù)層的聯(lián)系,這里用到了STRUTS里面的MAPPINGDISPATCHACTION控制器,我所定義的類為MAPPINGUSERACTION繼承與MAPPINGDISPATCHACTION。代碼如下PACKAGECNCOMTARENAECPORTACTIONIMPORTJAVAUTILITERATORIMPORTJAVAUTILLISTIMPORTJAVAXSERVLETHTTPHTTPSERVLETREQUESTIMPORTJAVAXSERVLETHTTPHTTPSERVLETRESPONSEIMPORTJAVAXSERVLETHTTPHTTPSESSIONIMPORTORGAPACHESTRUTSACTIONACTIONFORMIMPORTORGAPACHESTRUTSACTIONACTIONFORWARDIMPORTORGAPACHESTRUTSACTIONACTIONMAPPINGIMPORTORGAPACHESTRUTSACTIONSMAPPINGDISPATCHACTIONIMPORTCNCOMTARENAECPORTBIZIUSERBUSINESSIMPORTCNCOMTARENAECPORTBIZFACTORYBUSINESSFACTORYIMPORTCNCOMTARENAECPORTBIZIMPLUSERBUSINESSIMPLIMPORTCNCOMTARENAECPORTPOJOCONTACTINFOIMPORTCNCOMTARENAECPORTPOJOUSERPUBLICCLASSMAPPINGUSERACTIONEXTENDSMAPPINGDISPATCHACTION/這是注冊用戶時(shí)調(diào)用的方法(SAVEUSER方法)會根據(jù)用戶在系統(tǒng)頁面輸入的信息,然后點(diǎn)擊提交按鈕,這時(shí)服務(wù)器會調(diào)用一個(gè)SERVLET把數(shù)據(jù)轉(zhuǎn)發(fā)給MAPPINGUSERACTION類,而這各類會調(diào)用SAVEUSER方法把數(shù)據(jù)封裝成一個(gè)對象,再通過調(diào)用業(yè)務(wù)層的方法把這個(gè)對象保存到數(shù)據(jù)庫中,然后根據(jù)調(diào)用業(yè)務(wù)方法的返回結(jié)果做出相應(yīng)的反應(yīng),告訴服務(wù)器應(yīng)該跳轉(zhuǎn)到那個(gè)頁面,最后服務(wù)器作出響應(yīng),這時(shí)用戶會看到相應(yīng)的頁面跳轉(zhuǎn)。PUBLICACTIONFORWARDSAVEUSERACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONSYSTEMOUTPRINTLN“進(jìn)來“USERUSERNEWUSERCONTACTINFOCINEWCONTACTINFOUSERBUSINESSIMPLUBLUSERBUSINESSIMPLBUSINESSFACTORYGETBUSINESSIUSERBUSINESSCLASSGETNAMEUSERSETUSERIDREQUESTGETPARAMETER“USERID“USERSETPASSWORDREQUESTGETPARAMETER“PASSWORD“CISETSTREET1REQUESTGETPARAMETER“STREET1“CISETSTREET2REQUESTGETPARAMETER“STREET2“CISETZIPREQUESTGETPARAMETER“ZIP“CISETHOMEPHONEREQUESTGETPARAMETER“HOMEPHONE“CISETOFFICEPHONEREQUESTGETPARAMETER“OFFICEPHONE“CISETCELLPHONEREQUESTGETPARAMETER“CELLPHONE“CISETEMAILREQUESTGETPARAMETER“EMAIL“USERSETCONTACTINFOCICISETUSERSUSERUBLSAVEUSERRETURNMAPPINGFINDFORWARD“SAVEUSER“/這是用戶登錄時(shí)用到的方法(LOGIN方法),用戶登錄時(shí)輸入用戶名和密碼,然后提交過程與上面的過程一樣,首先該方法會根據(jù)從數(shù)據(jù)庫中返回的數(shù)據(jù)進(jìn)行對比,如果用戶存在而且密碼正確,該方法就會告訴服務(wù)器可以登陸,并跳轉(zhuǎn)到登陸后的頁面,否則會給出相應(yīng)的錯(cuò)誤提示(如用戶名或密碼錯(cuò)誤)。PUBLICACTIONFORWARDLOGINACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONHTTPSESSIONSESSIONREQUESTGETSESSIONTRUEUSERBUSINESSIMPLUBLUSERBUSINESSIMPLBUSINESSFACTORYGETBUSINESSIUSERBUSINESSCLASSGETNAMELISTUSERLISTUBLFINDALLUSERSSTRINGNAMEREQUESTGETPARAMETER“NAME“STRINGPASSWORDREQUESTGETPARAMETER“PWD“ITERATORITUSERLISTITERATORWHILEITHASNEXTUSERUSERUSERITNEXTIFUSERGETUSERIDEQUALSNAMERETURNMAPPINGFINDFORWARD“LOGIN“SESSIONSETATTRIBUTE“ERROR“,“用戶名或密碼輸入錯(cuò)誤“RETURNMAPPINGFINDFORWARD“DOLOGIN“/這是用戶修改信息是調(diào)用的方法(MODIFYUSER)方法,用在修改頁面修改完個(gè)人信息后,點(diǎn)擊提交,該方法會重新把這些信息包裝,然后發(fā)送到數(shù)據(jù)庫中并對其進(jìn)行更新。PUBLICACTIONFORWARDMODIFYUSERACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONHTTPSESSIONSESSIONREQUESTGETSESSIONFALSEUSERBUSINESSIMPLUBLUSERBUSINESSIMPLBUSINESSFACTORYGETBUSINESSIUSERBUSINESSCLASSGETNAMEUSERUSERUSERSESSIONGETATTRIBUTE“USER“CONTACTINFOCIUSERGETCONTACTINFOUSERSETUSERIDREQUESTGETPARAMETER“USERID“USERSETPASSWORDRE

溫馨提示

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

最新文檔

評論

0/150

提交評論