基于JSP的圖書管理系統(tǒng)設(shè)計_第1頁
基于JSP的圖書管理系統(tǒng)設(shè)計_第2頁
基于JSP的圖書管理系統(tǒng)設(shè)計_第3頁
基于JSP的圖書管理系統(tǒng)設(shè)計_第4頁
基于JSP的圖書管理系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 緒論1.1 選題意義在現(xiàn)代社會,信息化技術(shù)不斷提高,各行各業(yè)都向信息化發(fā)展。圖書館也隨之進入信息化階段,利用信息科學(xué)技術(shù)進行科學(xué)管理,改變運行模式,而且使之各高校的圖書館也向數(shù)字化發(fā)展。圖書館管理系統(tǒng)開發(fā)主要包括了管理員對服務(wù)器端強大的數(shù)據(jù)管理的服務(wù)平臺以及服務(wù)器端強大的數(shù)據(jù)庫??蛻舳艘蠊δ荦R全,滿足客戶的需要,能體現(xiàn)出圖書館風(fēng)格;對于管理員的數(shù)據(jù)管理平臺,要求數(shù)據(jù)管理功能齊全,界面友好并易于使用的平臺;對于服務(wù)器端的數(shù)據(jù)庫,要求建立起一個數(shù)據(jù)一致性和完整性強,數(shù)據(jù)安全性好,保密功能強大,并適用于圖書館的管理系統(tǒng)。1.2 系統(tǒng)概況1.2.1 系統(tǒng)的開發(fā)背景在現(xiàn)代社會,信息化技術(shù)不斷提

2、高,各行各業(yè)都向信息化發(fā)展。圖書館行業(yè)也隨之進入信息化階段,利用信息科學(xué)技術(shù)進行科學(xué)管理,改變運行模式,而且使之各高校的圖書館也向數(shù)字化發(fā)展。圖書館管理系統(tǒng)的開發(fā)主要包括了管理員對服務(wù)器端強大的數(shù)據(jù)管理的服務(wù)平臺以及服務(wù)器端強大的數(shù)據(jù)庫。服務(wù)端要求功能齊全,滿足需要,系統(tǒng)的風(fēng)格能體驗出圖書館風(fēng)格,讓瀏覽者瀏覽舒適;對于管理員的數(shù)據(jù)管理平臺,要求數(shù)據(jù)管理功能齊全,界面友好并易于使用的平臺;對于服務(wù)器端的數(shù)據(jù)庫,要求建立起一個數(shù)據(jù)一致性和完整性強,數(shù)據(jù)安全性好,保密功能強大,并適用于圖書館管理系統(tǒng)的數(shù)據(jù)庫。通過上述的分析,構(gòu)建好網(wǎng)站的客戶端平臺、數(shù)據(jù)管理平臺以及數(shù)據(jù)庫將會是本次畢業(yè)設(shè)計的主要工作。

3、我們使用JSP對網(wǎng)站進行頁面外觀設(shè)計,使用JSP對網(wǎng)站進行設(shè)計,用MySQLServer5.0網(wǎng)絡(luò)型數(shù)據(jù)庫作為后臺服務(wù)器并在其中架設(shè)本系統(tǒng)的數(shù)據(jù)庫。首先對圖書館進行需求分析,確立了系統(tǒng)的功能,建立起原型,然后對初建立的原型進行系統(tǒng)分析,再建立數(shù)據(jù)庫原型,然后不斷設(shè)計、修正和改進,完善數(shù)據(jù)庫結(jié)構(gòu),直到成形,瀏覽舒適、方便,能滿足需求,形成友好界面,操作直觀、方便的數(shù)據(jù)庫管理平臺。根據(jù)圖書館的特點而設(shè)計的,能讓圖書館管理員方便管理圖書館資源,提高管理人員的工作量,以達到科學(xué)化、標(biāo)準(zhǔn)化的管理。1.2.2 應(yīng)用技術(shù)1.Java Web技術(shù)Java Web應(yīng)用的核心技術(shù)是JSP和Servlet。此外,開

4、發(fā)一個完整的Java Web應(yīng)用還涉及以下的概念:JavaBean組件,EJB組件,自定義JSP標(biāo)簽,XML,Web服務(wù)器和應(yīng)用服務(wù)器。(1) JSP在傳統(tǒng)的HTML文件中加入Java程序片段和JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁。Java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,實現(xiàn)建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給用戶端的僅為輸出結(jié)果。JSP技術(shù)大大降低了對用戶瀏覽器的要求,即使用戶瀏覽器端不支持Java,也可以訪問JSP網(wǎng)頁。當(dāng)JSP容器接收到Web用戶的一個JSP文件請求時,它對JSP文件進行語法分析產(chǎn)生并生成JavaServlet源文件,

5、然后對其編譯。一般情況下,Servlet源文件的生成和編譯僅在初次調(diào)用JSP時發(fā)生。如果原始的JSP文件被更新,JSP容器將檢測所做的更新,在執(zhí)行之前重新生成Servlet并進行編譯。圖1-1顯示了JSP容器初次執(zhí)行JSP的過程:圖1-1 JSP容器初次執(zhí)行JSP的過程(2) ServletServlet在Web應(yīng)用中擔(dān)任重要角色。Servlet運行與Servlet運行于Servlet容器中,可以被Servelt容器動態(tài)加載,來擴展服務(wù)器的功能,并提供特定的服務(wù)。Servlet按照請求/響應(yīng)的方式工作。在Struts框架中,控制器組件就是由Servlet來構(gòu)成的。當(dāng)用戶請求訪問某個Servle

6、t時,Servlet容器將創(chuàng)建一個ServletRequest對象和ServletResponse對象。在ServletResponse對象中封裝了用戶請求信息,然后Servlet容器把ServletRequest對象和ServletResponse對象傳給用戶所請求的Servlet。Servlet把響應(yīng)結(jié)果寫到ServletResponse中,然后由Servlet容器把相應(yīng)結(jié)果傳給用戶。圖1-2顯示了Servlet容器響應(yīng)用戶請求的過程。圖1-2 Servlet容器響應(yīng)用戶請求的過程在JavaServlet API中有以下幾個比較重要的類,它們決定了Web應(yīng)用的請求/響應(yīng)方式及各種共享數(shù)據(jù)的

7、存放地點:HttpServletRequest、HttpServletResponse、HttpSession、ServletContext。2.Java語言Java是一個更簡單的面向?qū)ο?Object-Oriented)程序語言,具有更高的跨平臺可能性。Java是一個支持面向?qū)ο笥^點的程序語言,在使用上比C+更為簡單。它限制或簡化了C+語言在開發(fā)程序時的一些功能,最然犧牲了某系存取或彈性,但讓開發(fā)人員避免開發(fā)軟件時可能發(fā)生的錯誤,并讓程序語言本身的使用上更為方便,而用Java所編寫出來的程序在不同的平臺間具有更高的可移植性。對于“一次編寫,處處運行”這樣的夢想Java提供了更高的可能性。3.

8、My SQL 數(shù)據(jù)庫1.3 系統(tǒng)特征1.3.1 采用Web技術(shù)的操作界面本平臺利用現(xiàn)在比較廣泛的JSP+MYSQL數(shù)據(jù)庫的架構(gòu)實現(xiàn)的,此系統(tǒng)采用了友好的操作界面,供管理員使用。包括:系統(tǒng)設(shè)置、讀者管理、圖書管理、圖書借還、系統(tǒng)查詢等功能。使管理員從繁瑣的手工操作中解脫出來,并提高了辦公效率。1.3.2基于B/S的體系結(jié)構(gòu)在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機的工作,客戶機上只需配置少量的客戶端軟件。服務(wù)器將擔(dān)負(fù)更多的工作,對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出

9、請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成等工作全部由Web Server完成。實際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機的任務(wù)中分離出來,由Web服務(wù)器單獨組成一層來負(fù)擔(dān)其任務(wù),這樣客戶機的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器。這種三層體系結(jié)構(gòu)如圖2-2所示。圖1-3 B/S三層架構(gòu)1.3.3 基于MVC的應(yīng)用開發(fā)模式在傳統(tǒng)的基于Web的應(yīng)用系統(tǒng)中,例如ASP,CGI等,通常開發(fā)者將業(yè)務(wù)邏輯,數(shù)據(jù)邏輯、展示邏輯等混雜在一起,在同一個界面面里既進行后臺數(shù)據(jù)庫的訪問和操作,同時還包含業(yè)務(wù)流程和頁面表示。這樣編寫出來的程序,既不利于程序員對業(yè)務(wù)代碼的調(diào)試,同時也

10、不利于編輯人員進行交互頁面的設(shè)計。同時系統(tǒng)也不具備可擴展性,當(dāng)我們要在現(xiàn)有業(yè)務(wù)上進行擴展的時候,通常無法借助于現(xiàn)有的資源和應(yīng)用,而只能夠重新編寫,大大增加了投資,延長了系統(tǒng)上線的時間,失去了競爭市場的優(yōu)勢。在本網(wǎng)上購物系統(tǒng)中,將采用通行的MVC模式來構(gòu)建應(yīng)用。這種結(jié)構(gòu)解決了前面所述的所有問題,在我們的應(yīng)用集成網(wǎng)絡(luò)中,通過企業(yè)級高端J2EE應(yīng)用服務(wù)器實現(xiàn)MVC開發(fā)模型。MVC的邏輯圖如下:圖1-4應(yīng)用服務(wù)器之上采用MVC開發(fā)的邏輯示意圖Control服務(wù)控制View顯示方式Model業(yè)務(wù)邏輯模型輸入請求輸出Html其他圖1-5 MVC流程示意圖通過這種方案,我們可以迅速地實現(xiàn)整個業(yè)務(wù),其優(yōu)勢和特

11、點如下:Model(模型)層:代表應(yīng)用程序的數(shù)據(jù)以及用于訪問控制和修改這些數(shù)據(jù)的業(yè)務(wù)規(guī)則。當(dāng)模型發(fā)生改變時,它回同時視圖,并為視圖提供查詢模型相關(guān)狀態(tài)的能力。同時,它也為控制器提供訪問封裝在模型內(nèi)部的應(yīng)用程序功能的能力。View(視圖)層:由JSP、HTML組成。這一層次的特點是能夠真實地展示和客戶交互的界面,具備可描繪的功能。同時能夠嵌套動態(tài)數(shù)據(jù),可以進行動態(tài)頁面的展示。同時可以方便地進行客戶端的個性化定制。根據(jù)每個客戶的需求來展示不同風(fēng)格的界面。Controller(控制器)層:是非常重要的一層,這一層是連接View和Model的紐帶,同時也是將這兩層進行最大限度分離的工具。通常由Serv

12、let來實現(xiàn),Servlet和JSP雖然同樣都屬于頁面展示工具,但分屬兩層。主要在于JSP以腳本語言的形式存在, 它的主要優(yōu)勢是進行動態(tài)數(shù)據(jù)的Web展示,而Servlet是一個完整的Java程序,進行業(yè)務(wù)的調(diào)用和流程的處理是它的長處。通過這種模型的建立,我們的應(yīng)用系統(tǒng)具備了非常好的性能和可擴展性。將業(yè)務(wù)組件和展示頁面進行分離,并通過Controller來描述調(diào)用關(guān)系,一方面可以提高效率,另一方面也可以增加系統(tǒng)擴充的能力,使我們的系統(tǒng)可以進行最快速度的業(yè)務(wù)擴展,以滿足不同用戶、不同階段、各種各樣的業(yè)務(wù)需求。1.4本文所做的主要工作緒論部分對系統(tǒng)的結(jié)構(gòu)、開發(fā)以及所用到的相關(guān)技術(shù)進行了簡要介紹,分析

13、了圖書館管理系統(tǒng)設(shè)計的特點和任務(wù)。第二章介紹了為了開發(fā)本系統(tǒng)所用到的開發(fā)工具,包括了MyECLIPSE 7.0 MySQL 5.0 和Tomcat 6.0。詳細(xì)介紹了這幾種工具的背景以及功能。第三章分析了圖書館管理系統(tǒng)的應(yīng)用需求,設(shè)計了系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu),并根據(jù)需求對系統(tǒng)功能進行了劃分和細(xì)化。第四章設(shè)計了本系統(tǒng)的數(shù)據(jù)庫。第五章利用MyECLIPSE 7.0進行了具體的應(yīng)用程序設(shè)計??偨Y(jié)部分介紹了設(shè)計體會和編程體會,并指出了系統(tǒng)設(shè)計中的不足和改進的方向。第2章 應(yīng)用系統(tǒng)開發(fā)工具2.1 MyECLIPSE 7.02.1.1 Eclipse的簡介Eclipse是一個非常優(yōu)秀的集成開發(fā)環(huán)境,IBM已經(jīng)花

14、了多年的時間開發(fā)基于Java的公開源代碼軟件Eclipse,并在其中投資了4000萬美元。這個在IBM支持下的開放源代碼項目已經(jīng)為廣大Java開發(fā)者所熟悉。Eclipse的出現(xiàn),為Java開發(fā)者提供了免費使用強大的JavaIDE的機會,通過集成大量的插件,Eclipse的功能可以不斷擴展,以支持各種不同的應(yīng)用。Eclipse軟件可以用于管理多種開發(fā)任務(wù),包括測試、性能調(diào)整及程序調(diào)試等,而且還可以集成來自多個供貨商的第三方應(yīng)用程序開發(fā)工具。此外,Eclipse軟件非常適合開發(fā)電子商務(wù)應(yīng)用程序,例如IBM公司自己的面向Web服務(wù)的WebSphse應(yīng)用程序開發(fā)工具就是建立在Eclipse基礎(chǔ)之上。除

15、此之外,Eclipse平臺時一個成熟的、精心設(shè)計的及可擴展的體系結(jié)構(gòu)。Eclipse的價值還在與它為創(chuàng)建可擴展的集成開發(fā)環(huán)境提供了一個開放源代碼平臺。這個平臺允許任何人構(gòu)建與環(huán)境和其他工具無縫集成的工具,而工具與Eclipse無縫集成的關(guān)鍵便是插件。2.1.2 Eclipse的下載及安裝使用Eclipse,必須先安裝JDK。如果已經(jīng)安裝了JDK,那就可以直接安裝Eclipse。安裝JDK可選擇的SUN的或IBM的都可以,應(yīng)該安裝1.3以上版本,推薦使用1.4以上版本,應(yīng)為只有使用1.4以上版本的JDK才可以享受到新增的功能給測試帶來的方便。Eclipse是個免費的軟件,到Eclipse的官方網(wǎng)

16、站可以得到它。其中包括了開發(fā)Java應(yīng)用的所有內(nèi)容和Eclipse項目的所有成果。2.2 MySQL 5.02.2.1 MySQL的概念及體系結(jié)構(gòu)MySQL是最流行的開放源碼SQL數(shù)據(jù)庫管理系統(tǒng),MySQL軟件是一種開放源碼軟件,具有快速及可靠和易于使用的特點。MySQL數(shù)據(jù)庫軟件還是一種客戶端/服務(wù)器系統(tǒng),由支持不同后端的1個多線程SQL服務(wù)器,數(shù)種不同的客戶端程序和庫,眾多管理工具和廣泛的應(yīng)用編程接口API組成。有大量的共享MySQL軟件。圖2-1 MySQL的體系結(jié)構(gòu)2.2.2 MySQL的發(fā)展MySQL最早起始于1979年,開始是Micheal “Monty” Widenius為瑞典的

17、TcX公司創(chuàng)建的UNIREG數(shù)據(jù)庫工具。1996年5月MySQL 1.0出品。到2008年1月16日SUN公司出價10億美元收購了MySQL。MySQL的當(dāng)前版本是MySQL 5.0.67 。MySQL在全球范圍內(nèi)有很多著名的用戶,其中包括GOOGLE,雅虎財經(jīng)網(wǎng)站的數(shù)據(jù)庫以及在國內(nèi)非常出名的騰訊QQ。2.2.3 MySQL的下載、安裝及配置首先,要到MySQL的官方網(wǎng)站去下載安裝程序,地址是:圖2-2 MySQL的下載然后是安裝和配置,根據(jù)軟件的提示就可以實現(xiàn)安裝,在安裝過程中根據(jù)個人需要選擇語言和各服務(wù)懸想便可以了。下面用圖片展示安裝和配置的過程:圖2-3 MySQL的安裝圖2-4 MyS

18、QL的安裝圖2-5 MySQL的配置2.3 Tomcat 6.0直接運行下載的apache-tomcat-6.0.18.rar.exe文件,按照一般的Windows程序安裝步驟即可安裝好Tomcat,安裝時它會自動尋找JDK的位置。安裝過程中需要選擇一個文件夾作為Tomcat的安裝目錄。具體如下圖所示:圖2-6 服務(wù)器的安裝圖2-7 服務(wù)器的安裝安裝完成以后,添加一個Tomcat的環(huán)境變量,添加方法和JDK的環(huán)境變量的添加方法相同,設(shè)置變量名為TOMCAT_HOME,變量值為D:Program FilesApache Software FoundationTomcat 6.0。設(shè)置完畢后就可以

19、運行Tomcat服務(wù)器了。Tomcat成功啟動后,在瀏覽器中輸入http:/localhost:8080/,如果出現(xiàn)歡迎界面,則說明Tomcat安裝成功.圖2-8 服務(wù)器的配置第3章 需求分析3.1應(yīng)用需求分析圖書館管理系統(tǒng)的需求具體體現(xiàn)在圖書的借閱、歸還以及對讀者和圖書信息的添加、修改和刪除等操作。這就要求系統(tǒng)整體的層次清晰,功能完備、合理,操作界面要簡潔明了,易于操作;系統(tǒng)對于各個主要功能要有所劃分,讓圖書館的管理人員的工作分工明確,提高工作效率。根據(jù)以上的需求分析,我們得到以下的圖3-1系統(tǒng)的功能圖圖3-1系統(tǒng)的功能圖3.2功能模塊劃分3.2.1 系統(tǒng)設(shè)置圖書館的系統(tǒng)設(shè)置是一個獨立的管理

20、權(quán)限,它應(yīng)該只能由高級管理員可以修改,包括以下幾個個方面的內(nèi)容:1圖書館信息設(shè)置2參數(shù)設(shè)置3管理員設(shè)置4. 書架設(shè)置3.2.2 讀者管理這一功能模塊需要對圖書館的所有讀者進行管理,它可以分為讀者類型管理和讀者信息管理兩個部分,每一部分都具有添加、修改和刪除的具體功能3.2.3 圖書管理這個模塊需要對圖書館的所有圖書進行管理,它又分為兩個子模塊:圖書類型管理模塊和圖書信息管理模塊,每一子模塊都具有添加、刪除和修改的功能。3.2.4 圖書借還這個模塊是整個圖書館管理系統(tǒng)的核心功能模塊,需要完成對圖書的借閱和歸還的功能。1. 借閱流程這個流程的分析入下圖所示:圖3-2 借書流程圖2.歸還流程這個流程

21、的分析入下圖所示:圖3-3 還書流程圖3.2.5 系統(tǒng)查詢在這個模塊中應(yīng)該實現(xiàn)圖書信息查詢、圖書借閱查詢等幾個子模塊的功能。1.圖書信息查詢這一子模塊應(yīng)該具備多種查詢條件下的查詢,例如按書名、類型、出版社、編碼等條件都可以完成查詢,滿足不同查詢的需要。2.圖書借閱查詢這一子模塊要滿足對已借出的圖書的信息的查詢,包括查看都有哪些圖書被借出,又是被哪些讀者借走的,方便管理員的管理。第4章 數(shù)據(jù)庫設(shè)計4.1 數(shù)據(jù)庫分析信息的數(shù)量越來越大,數(shù)據(jù)庫的作用越發(fā)突出,所以數(shù)據(jù)庫的建立是系統(tǒng)施實的主要部分之一,它關(guān)系到整個系統(tǒng)的運行情況,是整個系統(tǒng)的重要組成部分。本系統(tǒng)使用MySQL5.0作為應(yīng)用程序的數(shù)據(jù)庫

22、??紤]到系統(tǒng)的實際需求,系統(tǒng)至少需要9張數(shù)據(jù)庫表,具體為:管理員表、圖書表、書架表、圖書類型表、讀者表、讀者類型表、圖書證表、借書表、還書表。4.2 數(shù)據(jù)庫的實現(xiàn)1.E-R功能圖的實現(xiàn)根據(jù)上面的分析畫出個表的E-R圖。圖如下:圖 4-1 數(shù)據(jù)庫E-R功能圖2.SQL語句的實現(xiàn)創(chuàng)建數(shù)據(jù)庫名為db_librarySysCREATE DATABASE db_librarySys(1)創(chuàng)建書架表CREATE TABLE IF NOT EXISTS tb_bookcase ( id int(10) unsigned NOT NULL auto_increment, name varchar(30) de

23、fault NULL, Column_3 char(10) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;(2)創(chuàng)建圖書表CREATE TABLE IF NOT EXISTS tb_bookinfo ( barcode varchar(30) default NULL, bookname varchar(70) default NULL, typeid int(10) unsigned default NULL, author varchar(30) default N

24、ULL, translator varchar(30) default NULL, ISBN varchar(20) default NULL, price float(8,2) default NULL, page int(10) unsigned default NULL, bookcase int(10) unsigned default NULL, inTime date default NULL, operator varchar(30) default NULL, del tinyint(1) default 0, id int(11) NOT NULL auto_incremen

25、t, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;(3)創(chuàng)建圖書類型表CREATE TABLE IF NOT EXISTS tb_booktype ( id int(10) unsigned NOT NULL auto_increment, typename varchar(30) default NULL, days int(10) unsigned default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO

26、_INCREMENT=4 ;(4)創(chuàng)建借書表CREATE TABLE IF NOT EXISTS tb_borrow ( id int(10) unsigned NOT NULL auto_increment, readerid int(10) unsigned default NULL, bookid int(10) default NULL, borrowTime date default NULL, backTime date default NULL, operator varchar(30) default NULL, ifback tinyint(1) default 0, PRI

27、MARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;(5)創(chuàng)建還書表CREATE TABLE IF NOT EXISTS tb_giveback ( id int(10) unsigned NOT NULL auto_increment, readerid int(11) default NULL, bookid int(11) default NULL, backTime date default NULL, operator varchar(30) default NULL, PRIMARY KEY (i

28、d) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;(6)創(chuàng)建管理員表CREATE TABLE IF NOT EXISTS tb_manager ( id int(10) unsigned NOT NULL auto_increment, name varchar(30) default NULL, PWD varchar(30) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;(7)創(chuàng)建圖書證參數(shù)表CREA

29、TE TABLE IF NOT EXISTS tb_parameter ( id int(10) unsigned NOT NULL auto_increment, cost int(10) unsigned default NULL, validity int(10) unsigned default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;(8)創(chuàng)建讀者表CREATE TABLE IF NOT EXISTS tb_reader ( id int(10) unsigned NO

30、T NULL auto_increment, name varchar(20) default NULL, sex varchar(4) default NULL, barcode varchar(30) default NULL, vocation varchar(50) default NULL, birthday date default NULL, paperType varchar(10) default NULL, paperNO varchar(20) default NULL, tel varchar(20) default NULL, email varchar(100) d

31、efault NULL, createDate date default NULL, operator varchar(30) default NULL, remark text, typeid int(11) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;(9)創(chuàng)建讀者類型表CREATE TABLE IF NOT EXISTS tb_readertype ( id int(10) unsigned NOT NULL auto_increment, name varch

32、ar(50) default NULL, number int(4) default NULL, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;3.創(chuàng)建數(shù)據(jù)庫根據(jù)E-R功能圖和SQL語句完成系統(tǒng)所需要的數(shù)據(jù)庫圖 4-2 數(shù)據(jù)庫的圖形界面4.3數(shù)據(jù)庫中主要表的介紹1. 圖書信息表此表主要是存放圖書的基本信息,字段包括:標(biāo)識、編號、書名、類型、作者、譯者、ISBN、價格、頁數(shù)、所屬書架、入館時間、操作員。數(shù)據(jù)結(jié)構(gòu)如下表:字段名數(shù)據(jù)類型數(shù)據(jù)長度標(biāo)識int11編號Varchar30書名Varchar70類

33、型Varchar30作者Varchar30譯者Varchar30ISBNInt10價格Foalt8,2頁數(shù)Varchar10所屬書架Int10操作員Varchar30表4-1 圖書信息表2. 讀者信息表這張表是存放讀者的基本信息,字段包括:標(biāo)識、姓名、性別、編碼、類型、職業(yè)、生日、證件類型、證件號、電話、郵箱、日期、操作員。數(shù)據(jù)結(jié)構(gòu)如下表:字段名數(shù)據(jù)類型數(shù)據(jù)長度標(biāo)識Int11姓名Varchar30性別Varchar10編碼Varchar30類型Int11職業(yè)Varchar40生日Date證件類型Varchar10證件號Varchar30電話Varchar20郵箱Varchar50日期Date表

34、 4-2 讀者信息表3. 借書表此表存放的是借出的所有圖書信息,字段包括:標(biāo)識、讀者標(biāo)識、圖書標(biāo)識、借書時間、歸還時間、操作員、是否歸還。字段名數(shù)據(jù)類型數(shù)據(jù)長度標(biāo)識Int11讀者標(biāo)識Int11圖書標(biāo)識Int11借書時間Date歸還時間Date操作員Varchar30表 4-3 借書表4. 還書表詞表存放的是還書的信息,字段包括:標(biāo)識、讀者標(biāo)識、圖書標(biāo)識、歸還時間、操作員。字段名數(shù)據(jù)類型數(shù)據(jù)長度標(biāo)識Int11讀者標(biāo)識Int11圖書標(biāo)識Int11歸還時間Date操作員Varchar30表 4-4 還書表第5章 程序設(shè)計5.1 系統(tǒng)模塊組成系統(tǒng)模塊組成如下圖所示:圖書館管理系統(tǒng)系統(tǒng)設(shè)置讀者管理圖書借

35、閱系統(tǒng)查詢口令修改退出系統(tǒng)圖書管理圖書館信息管理員設(shè)置參數(shù)設(shè)置書架設(shè)置類型管理檔案管理類型管理檔案管理圖書借閱圖書續(xù)借圖書歸還檔案查詢借閱查詢修改退出圖 5-1 系統(tǒng)功能模塊圖5.2 登陸窗口的實現(xiàn)整個系統(tǒng)的初始程序就是登陸界面,好的登陸界面給人的感覺應(yīng)該簡單,友好,這是軟件設(shè)計的基本要求。為此設(shè)計如下圖5-2所示的登陸界面。圖 5-2 登陸界面在這里系統(tǒng)執(zhí)行的是login.jsp頁面,頁面提示需要輸入管理員名稱和密碼,然后點擊確定執(zhí)行登陸。登陸頁面的代碼是:               管理員名稱:   &nbs

36、p; 管理員密碼:               5.3 登錄密碼的認(rèn)證在登陸界面中,主要處理的是判斷當(dāng)前管理員輸入的信息是否正確。如果不正確則彈出失敗頁面,下面是登陸失敗的頁面:圖5-3 登陸失敗頁面如果正確,那么判斷它屬于哪種權(quán)限的管理員。因為此管理系統(tǒng)在登錄后不同權(quán)限的管理員顯示的窗體與實現(xiàn)的功能都不是一樣的,它們會有所差別!登陸時對管理員名稱和密碼的判斷由Manager類中的方法去控制跳轉(zhuǎn),然后調(diào)用DAO中的方法去訪問數(shù)據(jù)庫,查詢數(shù)據(jù)庫中是否有與其匹配的數(shù)據(jù)。實現(xiàn)這段功能的代碼是:/ 管理員身份驗證public Act

37、ionForward managerLogin(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) ManagerForm managerForm = (ManagerForm) form;managerForm.setName(managerForm.getName();managerForm.setPwd(managerForm.getPwd();int ret = managerDAO.checkManager(managerForm);Syste

38、m.out.print(驗證結(jié)果ret的值: + ret);if (ret = 1) HttpSession session = request.getSession();session.setAttribute(manager, managerForm.getName();return mapping.findForward(managerLoginok); else request.setAttribute(error, 您輸入的管理員名稱或密碼錯誤!);return mapping.findForward(error);5.4 主頁面的實現(xiàn)若管理員登陸成功,系統(tǒng)將轉(zhuǎn)入主界面,系統(tǒng)會根據(jù)管

39、理員的權(quán)限顯示對應(yīng)的模塊區(qū)域。這是管理員進行操作的主要界面,各種功能都集中在上面。管理員根據(jù)界面上的不同功能區(qū)進行不同需求的的操作,主界面如下圖5-4所示。 圖 5-4 主頁面主界面包含了系統(tǒng)設(shè)置、讀者管理、圖書管理、圖書借還、系統(tǒng)查詢更改口令、退出系統(tǒng)等功能。還有一些輔助的工具例如刷新頁面、關(guān)閉系統(tǒng)、日歷、時鐘等。此頁面集中了本系統(tǒng)的大多數(shù)主要的功能選項。制作這樣一個頁面是為了提高用戶的效率。因為此窗體中的功能在后面逐一實現(xiàn),所有在這里就不在解釋其中的代碼了。5.5 各個功能模塊的實現(xiàn)5.5.1 系統(tǒng)設(shè)置功能的實現(xiàn) 在這個模塊中包括了圖書館信息、管理員設(shè)置、參數(shù)設(shè)置、書架設(shè)置四項功能。頁面如

40、圖 5-5所示:圖 5-5 系統(tǒng)設(shè)置1.圖書館信息管理員點擊這個選項時跳出圖5-6的頁面,在這個頁面中可以修改圖書館信息,但這個信息不應(yīng)該隨意修改,所以應(yīng)屬于高級權(quán)限的功能。圖 5-6 圖書館信息修改圖書館的信息需要通過程序中的Library去控制跳轉(zhuǎn)到library_modify.jsp頁面,再從頁面去獲得修改的信息然后通過DAO方法把獲得到的信息保存到數(shù)據(jù)庫去。實現(xiàn)功能的代碼是:public class Library extends Action LibraryDAO libraryDAO=null; public Library() libraryDAO=new LibraryDAO(

41、); public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) LibraryForm libraryForm=(LibraryForm) form; String str=request.getParameter(action); if(libraryQuery.equals(str) return libraryModifyQuery(mapping,form,request,response);

42、 else if(libraryModify.equals(str) return libraryModify(mapping,form,request,response); request.setAttribute(error,您的操作有誤!); return mapping.findForward(error); private ActionForward libraryModify(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) Librar

43、yForm libraryForm = (LibraryForm) form; libraryForm.setId(libraryForm.getId(); libraryForm.setLibraryname(libraryForm.getLibraryname(); libraryForm.setCurator(libraryForm.getCurator(); libraryForm.setTel(libraryForm.getTel(); libraryForm.setAddress(libraryForm.getAddress(); libraryForm.setEmail(libr

44、aryForm.getEmail(); libraryForm.setUrl(libraryForm.getUrl(); libraryForm.setCreateDate(libraryForm.getCreateDate(); libraryForm.setIntroduce(libraryForm.getIntroduce(); int ret = libraryDAO.update(libraryForm); if (ret =0) request.setAttribute(error, 圖書館信息修改失??!); return mapping.findForward(error); else return mapping.findForward(librarymodify); private A

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論