版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
畢業(yè)設計(論文)題目:基于web的SH圖書管理系統(tǒng)學生姓名____________學號_201022030125_____班級__計算機102201H___所屬院(系)_計算機科學與技術(shù)__指導教師____________2014年5月20日-PAGEIV--PAGEI- 目錄摘要……………………………ⅢAbstract…………………………Ⅳ第1章概述 11.1課題背景 11.2課題意義 11.3文獻綜述 21.3.1技術(shù)綜述 21.4總體設計原則 2第2章JSP技術(shù)概述1.JSP技術(shù)的產(chǎn)生背景……………………42.JSP技術(shù)的優(yōu)勢和弱勢
………………42.1JSP技術(shù)的優(yōu)勢……………………42.2JSP技術(shù)的弱勢……………………42.3JSP內(nèi)置對象………………………43.JSP技術(shù)的工作原理………………………5第3章Struts概述1.Struts的由來和發(fā)展……………61.1Struts的MVC模式簡介…………………62.Struts的優(yōu)缺點
………………83.Struts的工作流程………………9第4章Hibernate數(shù)據(jù)庫持久化技術(shù)1.Hibernate簡介…………102.Hibernate的工作流程……………………10第5章系統(tǒng)需求分析5.1系統(tǒng)的需求分析 125.2業(yè)務流程分析 135.2.1系統(tǒng)管理員業(yè)務流程分析 135.3數(shù)據(jù)流程分析 155.3.1圖書類別管理模塊 155.3.2圖書管理模塊 155.3.3讀者管理模塊 165.3.4圖書借閱模塊 165.3.5修改密碼模塊 175.4數(shù)據(jù)字典 175.4.1數(shù)據(jù)項的描述 175.4.2數(shù)據(jù)流的描述 19第6章系統(tǒng)設計 206.1系統(tǒng)體系結(jié)構(gòu)設計 206.2系統(tǒng)子模塊功能介紹 206.3數(shù)據(jù)庫設計 216.3.1數(shù)據(jù)庫概念設計——E-R模型 216.3.2數(shù)據(jù)庫邏輯設計——關(guān)系模型 216.3.3數(shù)據(jù)庫選型 226.3.4數(shù)據(jù)庫表結(jié)構(gòu)設計 226.3.5數(shù)據(jù)庫表間關(guān)系設計 246.4系統(tǒng)開發(fā)工具與開發(fā)模式的選擇 256.4.1系統(tǒng)開發(fā)工具 256.4.2系統(tǒng)設計模式 26第7章系統(tǒng)實現(xiàn) 297.1登陸模塊 297.2圖書類別管理模塊 327.3圖書管理模塊 357.4讀者管理模塊 377.5圖書借閱管理模塊 39第8章系統(tǒng)測試 428.1測試目的 428.2測試方法 428.3測試結(jié)果 42第9章總結(jié) 43參考文獻 44致謝 45基于web的SH圖書管理系統(tǒng)學院(直屬系):計算機科學與技術(shù)專業(yè)班級:102201H姓名:王懿指導教師:崔略摘要:本文對圖書館管理系統(tǒng)的設計與開發(fā)過程進行了分析與敘述。依照系統(tǒng)開發(fā)的實際操作步驟,文章從系統(tǒng)概述、系統(tǒng)分析、系統(tǒng)設計和系統(tǒng)實現(xiàn)這四大章節(jié)對系統(tǒng)開發(fā)過程進行分別闡述。系統(tǒng)概述中主要進行了課題背景、課題意義和現(xiàn)狀分析;系統(tǒng)分析中主要包括了系統(tǒng)設計前的需求分析、業(yè)務流程分析、數(shù)據(jù)流程分析和數(shù)據(jù)字典分析;而系統(tǒng)設計則是對系統(tǒng)體系結(jié)構(gòu)、各功能模塊、數(shù)據(jù)庫結(jié)構(gòu)設計等具體的系統(tǒng)實現(xiàn)過程進行剖析展示,在系統(tǒng)設計章節(jié)中有詳細的文字解釋并配有表圖說明。文章還列舉了關(guān)鍵的功能模塊實現(xiàn)代碼。本文力求可以為圖書館管理系統(tǒng)的開發(fā)設計找到一種切實可行的解決方案,在分析了目前國內(nèi)外圖書館管理系統(tǒng)的現(xiàn)狀的基礎上,并經(jīng)過反復摸索和學習研究后,借助編程語言JSP和SQL數(shù)據(jù)庫最終實現(xiàn)了圖書館管理的開發(fā),并在一系列測試后,達成了人性化、所需功能完善、操作清晰的設計目標。關(guān)鍵詞:JSP,SQLServer2005,Struts+Hibernate,圖書太原科技大學華科學院畢業(yè)設計(論文)web,SH-basedlibrarymanagementsystemcollege(professional):computerscienceandtechnologyclass:102201Hname:WangYiDirector:CuilueAbstract:Inthispaper,bookmanagementsystemdesignanddevelopmentprocessisanalyzedanddescribed.Inaccordancewiththeactualstepsofsystemdevelopment,thearticlefromthesystemoverview,systemanalysis,systemdesignandsystemrealizationofthesefoursectionsofthesystemdevelopmentprocessaredescribed.Systemwerethemainissuesoutlinedinthebackground,meaningandstatusofthesubjectanalysis;systemanalysis,systemdesignincludesapre-needsanalysis,businessprocessanalysis,dataflowanalysisanddatadictionaryanalysis;andsystemdesignisthesystemarchitecture,variousfunctionalmodules,databasestructuredesigntoachievespecificprocesstoanalyzethesystemdisplay,thesystemdesignsectiontoexplaininmoredetailandwithatablediagramshows.ThearticlealsoliststhekeyfunctionmodulecodeThispaperseekstobookmanagementsystemfordevelopmentanddesigntofindapracticalsolutionintheanalysisof-Boathomeandabroadonthebasisofthestatusofthesystem,andafterrepeatedexplorationandstudyafterstudy,usingJSPandsoftSQLprogramminglanguageServerdatabaseandultimatelythebookmanagementsystemdevelopment,andinaseriesoftests,reachedauser-friendly,functionalrequirements,operationsdesignedtoclearKeyWords:JSP,SQL,Struts+Hibernate,Book太原科技大學華科學院畢業(yè)設計(論文)-PAGE59-第1章概述1.1課題背景隨著社會的發(fā)展,人們對知識的需求也不斷地增長。在這種形勢下,書籍就漸漸地成為人們獲取并增長知識的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)了一定的位置,如何科學地管理圖書館不但關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書館管理系統(tǒng)就必不可少了,本文介紹了在Windows7及Java、JSP、SQL、MyEclipse環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應用開發(fā)”的策略開發(fā)本系統(tǒng)的詳細過程,提出實現(xiàn)圖書館信息管理、資源共享的基本目標,從而推動邁向數(shù)字化圖書館的步伐,并闡述系統(tǒng)結(jié)構(gòu)設計和功能設計,從圖書的入庫登記到查詢?yōu)g覽,從借書證發(fā)放到圖書的借閱,形成了一個整體自動化管理模式,從軟件工程的角度進行了科學而嚴謹?shù)年U述。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找。總的來說,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計算機,但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是圖書館管理系統(tǒng)的開發(fā)的基本環(huán)境。1.2課題意義數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采取手工方式對圖書借閱情況進行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當時對它比較清楚,時間一長,如再要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的圖書進行更改就更加困難了?;诖嬖诘倪@一問題,我認為有必要建立一個圖書館管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書情況1.3文獻綜述目前的圖書館管理系統(tǒng)種類繁多,但依據(jù)各自不同的規(guī)模和功能需要,大體上所采取的技術(shù)體系采用VB+microsoftAccess/SQLServer技術(shù),或者DEPHI+SQLServer,幾乎有很少使用JSP體系結(jié)構(gòu)技術(shù)。1.3.1技術(shù)綜述盡管有著眾多的網(wǎng)絡開發(fā)體系,但如何決定一個系統(tǒng)使用何種方法開發(fā)仍然是基于系統(tǒng)的基本需求,本文不詳細描述各種開發(fā)體系的性能優(yōu)劣,這里選取了二家不同規(guī)模的圖書館管理系統(tǒng),將各系統(tǒng)選用的開發(fā)體系列表比較如下:表1.1各系統(tǒng)選用的開發(fā)體系列表系統(tǒng)名稱開發(fā)語言數(shù)據(jù)庫Web服務器操作系統(tǒng)青島大學圖書管管理系統(tǒng)VBMicrosoftAccessIIS6.0WindowsServer2000海爾圖書館管理系統(tǒng)ASP.NETMicrosoftSQLServer2005IIS6.0WindowsServer20001.4總體設計原則本系統(tǒng)為了設計、實現(xiàn)和后期維護的方便,以及系統(tǒng)用戶使用的便利,所以必須采取一定的設計原則。其主要設計原則有:簡單性:在實現(xiàn)系統(tǒng)的功能的同時,盡量讓系統(tǒng)操作簡單易懂,這對于一個系統(tǒng)來說是非常重要的。針對性:本系統(tǒng)設計是針對圖書館管理的需求定向開發(fā)設計,所以具有專業(yè)突出和很強的針對性。實用性:要求本系統(tǒng)能夠滿足圖書館管理的需求,因此具有良好的實用性。一致性:頁面整體設計風格以及命名規(guī)則的一致性:整體頁面布局和用圖用色風格及變量、類名和其他元素的命名規(guī)則保持一致。功能一致性:完成同樣的功能應該盡量使用同樣的元素。元素風格一致性:界面元素的美觀風格、擺放位置在同一個界面和不同界面之間都應該是一致的。變量命名規(guī)則的一致性:變量應該用統(tǒng)一的規(guī)則進行命名,做到任意變量均能從上下文推斷其義。先進性:本系統(tǒng)采用JSP技術(shù)、SQL等被廣泛采用系統(tǒng)開發(fā)技術(shù)和數(shù)據(jù)庫,因此本設計具有良好的先進性,具體表現(xiàn)在其具有良好的可擴展性,可開發(fā)性。太原科技大學華科學院畢業(yè)設計(論文)第2章JSP技術(shù)概述1.JSP技術(shù)的產(chǎn)生背景JSP(JavaServerPages)是由SunMicrosystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準,該技術(shù)為創(chuàng)建顯示動態(tài)生成內(nèi)容的Web頁面提供了一個簡捷而快速的方法。JSP技術(shù)的設計目的是使得構(gòu)造基于Web的應用程序更加容易和快捷,而這些應用程序能夠與各種Web服務器,應用服務器,瀏覽器和開發(fā)工具共同工作。JSP規(guī)范是Web服務器、應用服務器、交易系統(tǒng)、以及開發(fā)工具供應商間廣泛合作的結(jié)果。在傳統(tǒng)的網(wǎng)頁HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構(gòu)成了JSP網(wǎng)頁(*.jsp)。由于JSP構(gòu)建在Servlet上,所以它有Servlet所有強大的功能。JSP基于強大的Java語言,具有良好的伸縮性,與JavaEnterpriseAPI緊密地集成在一起,在網(wǎng)絡數(shù)據(jù)庫應用開發(fā)領域具有得天獨厚的優(yōu)勢。從JSP這幾年的發(fā)展來看,JSP已經(jīng)取得了巨大的成功,它通過和EJB等J2EE組件進行集成,可以編寫出具有大的伸縮性、高負載的企業(yè)級應用,它從多個方面加速了動態(tài)Web應用頁面的開發(fā)[2]。2.JSP技術(shù)的優(yōu)勢和弱勢2.1JSP技術(shù)的優(yōu)勢1、一次編寫,到處運行。2、系統(tǒng)的多平臺支持。3、強大的可伸縮性。4、多樣化和功能強大的開發(fā)工具支持。2.2JSP技術(shù)的弱勢1、跨平臺的功能和極度的伸縮能力,極大地增加了產(chǎn)品的復雜性。2、它需要一定的硬盤空間來存儲一系列的.Java文件、.class文件及對應的版本文件。2.3JSP內(nèi)置對象
JSP包括九種內(nèi)置對象:request對象、response對象、pageContext對象、Session對象、application對象、out對象、config對象、page對象以及exception對象,其中通過application對象和session對象可以實現(xiàn)不同頁面間的數(shù)據(jù)共享。3.JSP的工作原理Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送email等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Plugin,無ActiveX,無JavaApplet,甚至無Frame。第3章Struts概述1.Struts的由來和發(fā)展Struts框架工具是Apache基金會Jakarta項目中推出的一個子項目。Struts在英文中是支架、支撐的意思,這也體現(xiàn)出Struts在開發(fā)Web應用程序過程所起到的重要作用,Struts為Web應用提供了通用的框架,讓開發(fā)人員可以把主要精力集中在如何解決實際業(yè)務問題上,與此同時Struts框架也允許開發(fā)人員根據(jù)實際需要進行擴展和定制,從而可以更好的適應用戶的需求。采用Struts可以簡化遵循MVC設計模式的Web應用的開發(fā)工作,很好地實現(xiàn)代碼重用,使開發(fā)人員從一些繁瑣的工作中解脫出來,快速開發(fā)能夠充分發(fā)揮JSP/Servlet優(yōu)點、并具有強可擴展性的Web應用??傊?,Struts的出現(xiàn)使得Web應用的開發(fā)過程大大簡化,從而能夠縮短開發(fā)周期、提高開發(fā)效率。1.1Struts的MVC模式簡介模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設計模式,現(xiàn)在已經(jīng)被廣泛的使用。
1、模型(Model)
模型是應用程序的主體部分。模型表示業(yè)務數(shù)據(jù),或者業(yè)務邏輯.
2、視圖(View)
視圖是應用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。
3、控制器(controller)
控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對象狀態(tài)。
MVC式的出現(xiàn)不僅實現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應用系統(tǒng)的可維護性、可擴展性、可移植性和組件的可復用性。盡管MVC設計模式很早就提出,但由于缺乏相關(guān)支持,在Web開發(fā)中引入MVC卻相當困難,直到基于J2EE的JSPModel2問世時才得以改觀。下面對JSPModel1與JSPModel2進行簡單介紹。
圖2:JSPModel1(JSP+JavaBean)的數(shù)據(jù)傳遞關(guān)系
圖3JSPModel2(JSP+JavaBean+Servlet)的數(shù)據(jù)傳遞關(guān)系比較兩種模式,我們不難發(fā)現(xiàn)JSPModel2顯然比JSPModel1層次關(guān)系更加清楚,開發(fā)的頁面也更易于維護。在這種模式中,各組件的分工關(guān)系非常明確,JSP技術(shù)用于顯示,充當了視圖的角色,Servlet用于執(zhí)行業(yè)務邏輯,它相當于控制器的角色,JavaBean組件用于表示數(shù)據(jù),相當于模型的角色。盡管如此,JSPModel2仍不夠好,它容易使系統(tǒng)出現(xiàn)多個Controller,并且對頁面導航的處理比較復雜。Struts就是在JSPModel2的基礎上實現(xiàn)的一個MVC架構(gòu)。它只有一個中心控制器,他采用XML定制轉(zhuǎn)向的URL。采用Action來處理邏輯,是對JSPModel2的一個極大改進[3]。2.Struts的優(yōu)缺點優(yōu)點:Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制,這是它的一大優(yōu)點。
除此之外,Struts的優(yōu)點主要集中體現(xiàn)在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發(fā)效率;而頁面導航則使系統(tǒng)的脈絡更加清晰,通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護有著莫大的好處‘尤其是當另一批開發(fā)者接手這個項目時,這種優(yōu)勢體現(xiàn)得更加明顯。
缺點:Taglib是Struts的一大優(yōu)勢,但對于初學者而言,卻需要一個持續(xù)學習的過程,甚至還會打亂你網(wǎng)頁編寫的習慣,但是,當你習慣了它時,你會覺得它真的很棒。
Struts將MVC的Controller一分為三,在獲得結(jié)構(gòu)更加清晰的同時,也增加了系統(tǒng)的復雜度。
Struts從產(chǎn)生到現(xiàn)在還不到半年,但已逐步越來越多運用于商業(yè)軟件。雖然它現(xiàn)在還有不少缺點,但它是一種非常優(yōu)秀的J2EE
MVC實現(xiàn)方式。3.Struts的工作流程在WEB啟動時就會中載并初始化ActionServlet。ActionServlet從struts-config.xml文件中讀取配置信息,把它們存放到各種配置對象中。當ActionServlet接收到一個客戶請求時,它的執(zhí)行過程大致如下:1、檢索和用戶請求匹配的ActionMapping實例,如果不存在,就返回用戶請求路徑無效。
2、如果ActionForm實例不存在,就創(chuàng)建一個ActionForm對象,把客戶提交表單數(shù)據(jù)保存到ActionForm對象中。3、根據(jù)配置住處決定是否需要表單驗證,如果需要驗證,就調(diào)用ActionForm扔validate()方法。
4、如果ActionForm的validate()方法返回null或返回一個不包含ActionMessage的ActionError對象,就表示表單驗證成功。
5、ActionServlet根據(jù)ActionMapping實例包含的映射住處決定將請求轉(zhuǎn)發(fā)給哪個Action。如果相應的Action實例不存在,就先創(chuàng)建這個實例,然后調(diào)用Action的execrte()方法。
6、Action的execute()方法返回一個ActionForward對象,ActionServlet再把客戶請求轉(zhuǎn)發(fā)給ActionForward對象指向的JSP組件。
7、ActionForward對象指向的JSP組件生成動態(tài)網(wǎng)頁,返回給客戶[4]。下圖是Struts的工作流程,所有的請求都提交給ActionServlet圖4struts相應用戶操作的工作流程第4章Hibernate數(shù)據(jù)庫持久化技術(shù)1.Hibernate簡介Hibernate是一個面向Java環(huán)境的對象/關(guān)系數(shù)據(jù)庫映射工具。它是使用GNU寬通用公共許可證發(fā)行的自由、開源的軟件,它為面向?qū)ο蟮念I域模型到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的映射,提供了一個使用方便的框架。Hibernate不僅僅管理Java類到數(shù)據(jù)庫表的映射(包括Java數(shù)據(jù)類型到SQL數(shù)據(jù)類型的映射),還提供了面向?qū)ο蟮臄?shù)據(jù)查詢檢索機制,可以大幅度減少開發(fā)時人工使用SQL和JDBC處理數(shù)據(jù)的時間。Hibernate的目標是對于開發(fā)者通常的數(shù)據(jù)持久化相關(guān)的編程任務,解放其中的95%。對于以數(shù)據(jù)為中心的程序來說,它們往往只在數(shù)據(jù)庫中使用存儲過程來實現(xiàn)商業(yè)邏輯。Hibernate可能不是最好的解決方案,但對于那些在基于Java的中間層應用中實現(xiàn)面向?qū)ο蟮臉I(yè)務模型和商業(yè)邏輯的應用Hibernate是最有用的。Hibernate的工作流程在Java應用中使用Hibernate,大致包括以下步驟:1、創(chuàng)建Hibernate配置文件。2、創(chuàng)建持久類。3、創(chuàng)建對象-關(guān)系-映射文件。4、通過HibernateAPI編寫訪問數(shù)據(jù)庫的代碼[5]。第5章基于Web的圖書管理系統(tǒng)分析5.1系統(tǒng)的需求分析本系統(tǒng)致力于建立靈活、方便的圖書館管理系統(tǒng),主要有五大功能模塊:類別管理模塊、圖書管理模塊、讀者管理、借閱管理和歸還管理模塊。圖5.1系統(tǒng)需求分析圖1.圖書類別信息管理:作為一個社區(qū)的圖書館,涉及到的圖書是很多的,這就有必要對圖書進行分門別類,這樣有利于對圖書的查詢和管理,管理員登陸系統(tǒng)后可以對圖書類別進行添加,更新和刪除操作。2.圖書信息管理:當管理員對圖書類別信息添加完成后,就可以開始進行圖書信息的錄入了。3.讀者信息管理:管理員可以添加新的讀者信息,修改已經(jīng)存在的讀者信息,刪除讀者信息。4.圖書借閱管理:管理員登陸系統(tǒng)后??梢怨芾碜x者的借閱信息。首先輸入讀者的借書證號,然后輸入要借閱的圖書和借閱時間,完成借閱的管理。5.圖書歸還管理:當讀者看完了書或需要歸還時,管理員通過系統(tǒng)提供的接口完成圖書歸還操作。5.2業(yè)務流程分析5.2.1系統(tǒng)管理員業(yè)務流程分析系統(tǒng)管理員進入用戶登錄界面后,在登錄功能區(qū)輸入系統(tǒng)管理員的用戶賬號與密碼,登錄成功后跳轉(zhuǎn)到系統(tǒng)主窗體。系統(tǒng)可以查看圖書信息,并對其進行查找或刪除等操作;查看讀者信息,對不符合系統(tǒng)規(guī)定的進行刪除操作;添加圖書借閱信息,并對其進行編輯或刪除等操作。結(jié)束各項操作后退出,回到系統(tǒng)主窗體。圖5.2系統(tǒng)管理員業(yè)務流程圖5.3數(shù)據(jù)流程分析5.3.1圖書類別管理模塊圖5.3圖書類別管理模塊數(shù)據(jù)流程圖5.3.2圖書管理模塊圖5.4圖書管理模塊數(shù)據(jù)流程圖5.3.3讀者管理模塊圖5.5讀者信息管理模塊數(shù)據(jù)流程圖5.3.4圖書借閱模塊圖5.6圖書借閱模塊數(shù)據(jù)流程圖5.3.5修改密碼模塊圖5.7修改密碼模塊數(shù)據(jù)流程圖5.4數(shù)據(jù)字典5.4.1數(shù)據(jù)項的描述表5.8圖書類別數(shù)據(jù)項描述數(shù)據(jù)項類型長度值范圍ID數(shù)字40000000000至9999999999之間類別名稱文本50最多25個字符類別介紹文本5000-500個漢字表5.9圖書信息數(shù)據(jù)項描述數(shù)據(jù)項類型長度值范圍ID數(shù)字40000000000至9999999999之間名稱文本42~100個漢字作者文本502~100個漢字出版社文本42~100個漢字出版日期日期50年-月-日,形如“2011-5-19”ISBN文本102~100個漢字單價文本2~100個漢字類別ID數(shù)字0000000000至9999999999之間表5.10讀者信息數(shù)據(jù)項描述數(shù)據(jù)項類型長度值范圍ID數(shù)字40000000000至9999999999之間姓名數(shù)字42~50個漢字性別文本202~50個漢字年齡數(shù)字101-100住址文本42~50個漢字聯(lián)系方式文本502~50個漢字借書證號文本502~50個漢字表5.11借閱信息數(shù)據(jù)項描述數(shù)據(jù)項類型長度值范圍ID數(shù)字40000000000至9999999999之間用戶ID數(shù)字40000000000至9999999999之間圖書ID文本200000000000至9999999999之間借閱數(shù)量數(shù)字101-100借閱時間日期4年-月-日,形如“2011-5-19”歸還時間日期4年-月-日,形如“2011-5-19”表5.12管理員信息數(shù)據(jù)項描述數(shù)據(jù)項類型長度值范圍ID數(shù)字100000000000至9999999999之間登陸賬號文本102~50個字符登陸密碼文本5002~500個字符5.4.2數(shù)據(jù)流的描述(1)數(shù)據(jù)流名:圖書類別信息簡述:用戶登錄成功后可以添加、編輯和刪除圖書類別信息組成:圖書類別參數(shù)=類別名稱+備注數(shù)據(jù)量:約100次/日(2)數(shù)據(jù)流名:圖書信息簡述:系統(tǒng)管理員登錄成功后可以瀏覽、刪除、增加圖書收費信息組成:圖書信息=圖書名稱+作者+出版社+出版日期+圖書ISBN+單價+庫存數(shù)量+頁碼+類別編號數(shù)據(jù)量:約5000次/日(3)數(shù)據(jù)流名:讀者信息簡述:系統(tǒng)管理員登錄成功后可以添加、編輯和刪除讀者信息組成:讀者信息=姓名+性別+年齡+住址+聯(lián)系方式+借書證號數(shù)據(jù)量:約100次/日(4)數(shù)據(jù)流名:借閱信息簡述:系統(tǒng)管理員登錄成功后可以添加、編輯和刪除圖書借閱信息組成:借閱信息=讀者編號+圖書編號+借閱天數(shù)+借閱時間+歸還時間+備注數(shù)據(jù)量:約100次/日太原科技大學華科學院畢業(yè)設計(論文)第6章系統(tǒng)設計6.1系統(tǒng)體系結(jié)構(gòu)設計本系統(tǒng)的系統(tǒng)結(jié)構(gòu)是按照了自上向下的設計理念完成的。第一層是用戶登錄界面。第二層是系統(tǒng)主頁,主要包括圖書類別管理,圖書信息管理、讀者管理、借閱信息管理、修改密碼等,用戶登錄成功后可以轉(zhuǎn)至各個管理功能。第四層即各個管理功能的所有功能。圖6.1系統(tǒng)體系結(jié)構(gòu)設計6.2系統(tǒng)子模塊功能介紹(1)圖書類別管理模塊:主要功能是系統(tǒng)管理員登入后,添加、編輯和刪除圖書類別的功能。(2)圖書管理模塊:主要功能是系統(tǒng)管理員登入后,添加、編輯和刪除圖書信息的功能。(3)讀者管理模塊:主要功能是管理員登入后,維護讀者的信息。包括錄入新的讀者,刪除不符合規(guī)定的讀者,編輯現(xiàn)有的讀者信息。(4)借閱管理模塊:主要功能是管理員登入后,維護圖書借閱的信息。包括增加新的,刪除不符合規(guī)定的借閱,編輯現(xiàn)有的借閱信息。(5)修改密碼模塊:主要功能是管理員為了保證安全性。重設密碼的功能6.3數(shù)據(jù)庫設計6.3.1數(shù)據(jù)庫概念設計——E-R模型概念模型是對信息世界建模,其表示方法有很多,其中最為常用的是實體-聯(lián)系模型,即E-R模型,它是用E-R圖來描述現(xiàn)實世界的概念模型。下列E-R圖清楚簡便的描述出了本系統(tǒng)實體與其屬性之間的關(guān)系。圖6.2數(shù)據(jù)庫概念模型E-R圖6.3.2數(shù)據(jù)庫邏輯設計——關(guān)系模型下面將圖3.2數(shù)據(jù)庫E-R圖轉(zhuǎn)換為關(guān)系模型。圖書類別信息(ID,類別名稱,備注信息)圖書信息(ID,名稱,出版社,出版日期,ISBN,頁碼,庫存,類別ID)讀者信息(ID,姓名,性別,年齡,住址,聯(lián)系方式,借書證號)借閱信息(ID,圖書ID,讀者ID,借閱數(shù)量,借閱時間,歸還時間)管理員信息(用戶名,密碼)6.3.3數(shù)據(jù)庫選型本系統(tǒng)使用SQLSERVER關(guān)系型數(shù)據(jù)庫。SQLSERVER是由微軟公司出品,基于關(guān)系型數(shù)據(jù)庫的大型數(shù)據(jù)庫系統(tǒng),該版本數(shù)據(jù)庫具有獨立于硬件平臺、對稱的多處理器結(jié)構(gòu)、搶占式多任務管理、完善的安全系統(tǒng)和容錯功能,更具有使用方便、可收縮性好與相關(guān)軟件集成程度高等優(yōu)點。6.3.4數(shù)據(jù)庫表結(jié)構(gòu)設計本系統(tǒng)后臺數(shù)據(jù)庫中總共設計了5張數(shù)據(jù)表,分別為黑名稱圖書類別信息表(t_catelog)、圖書信息表(t_book)、讀者信息表(t_user)、借閱表(t_jieyue)和管理員信息表(t_admin)。具體結(jié)構(gòu)設計如下:(1)圖書類別信息表(t_catelog)圖書類別信息表主要用于存放圖書類別的信息,主要字段包括:ID,類別名稱,備注信息等。表6.3圖書類別信息表(t_catelog)字段名數(shù)據(jù)類型字段描述長度主鍵IDintID4√Mingchengvarchar類別名稱50Beizhuvarchar備注信息500(2)圖書信息表(t_book)圖書信息表主要用于存儲圖書信息,主要字段有ID、圖書名稱、出版社、出版日期、ISBN號、頁碼、庫存數(shù)量、類別ID等表6.4圖書信息表(t_book)字段名數(shù)據(jù)類型字段描述長度主鍵IDInt編號4√NameVarchar圖書名稱50ChubansheVarchar出版社50ChubanriqiVarchar出版日期4IsbnVarchar圖書ISBN50PriceVarchar單價50Kucunint庫存數(shù)量50Catalog_idVarchar類別ID50(3)讀者信息表(t_user)讀者信息表主要用于存儲讀者信息,主要字段有姓名、性別、年齡、住址、聯(lián)系方式、借書證號等表6.5讀者信息表(t_user)字段名數(shù)據(jù)類型字段描述長度主鍵IDInt編號4√NameVarchar姓名50SexVarchar性別50AgeInt年齡4AddressVarchar住址50TelVarchar聯(lián)系方式50JiehaoVarchar借書證號50(4)借閱信息表(t_jieyue)讀者信息表主要用于存讀者借閱圖書的信息,主要字段有ID、圖書ID、讀者ID、借閱時間、歸還時間、借閱數(shù)量等表6.6借閱信息表(t_jieyue)字段名數(shù)據(jù)類型字段描述長度主鍵IDInt編號4√Book_idInt圖書編號50User_idInt讀者編號50JieyueshijianVarchar借閱時間4JieyueshuliangVarchar借閱數(shù)量50GuihuanshijianVarchar歸還時間50BeizhuVarchar備注50(5)管理員信息表(admin)管理員信息表主要用于系統(tǒng)管理員的信息,主要字段包括:編號、登陸賬號、登陸密碼。表6.7管理員信息表(admin)字段名數(shù)據(jù)類型字段描述長度主鍵IDInt編號10√Namevarchar登陸賬號50Pwdvarchar登陸密碼506.3.5數(shù)據(jù)庫表間關(guān)系設計圖6.8數(shù)據(jù)庫表間關(guān)系圖6.4系統(tǒng)開發(fā)工具與開發(fā)模式的選擇6.4.1系統(tǒng)開發(fā)工具本系統(tǒng)主要使用JSP、SERVLET技術(shù)對系統(tǒng)進行設計和開發(fā)。JSP,即JavaServerPage,Java應用頁面程序。作為開發(fā)動態(tài)頁面的一種技術(shù),JSP是當前大中型企業(yè)應用軟件首選的開發(fā)路線之一。而且JSP是J2EE的重要組成部分,開發(fā)人員可以在JSP中獲得J2EE的眾多優(yōu)點。學習JSP也是J2EE入門的必經(jīng)之路。JSP既依賴于也得益于J2EE技術(shù)?!耙淮尉帉?,隨處運行”的可移植性使用戶可以專注于JSP的開發(fā),而無須考慮系統(tǒng)層面的問題;Java的開放特性使市面上涌現(xiàn)出了眾多的Web框架可供采納;面向?qū)ο蟮脑O計,為更加輕松地構(gòu)筑安全穩(wěn)定的Web在線系統(tǒng)提供了基礎保障。JSP秉承了J2EE高貴的血統(tǒng),卻又帶著平易近人的個性。JSP本質(zhì)上是一個Java程序,具備Java語言一切無與倫比的優(yōu)勢。相比依賴于VBScript代碼的ASP,以及依賴于Perl語言的PHP等其他Web編程語言,JSP有著嚴格的Java語法支持,可以和JavaBean無縫整合。ASP采用了解析執(zhí)行的機制,而JSP則是先編譯后執(zhí)行。因此,在第一次訪問時JSP比ASP要慢,但是JSP的執(zhí)行則比每次都解析執(zhí)行的ASP快若干個數(shù)量級。微軟隨后推出了ASP.NET,號稱提供了豐富的面向?qū)ο箢悗?,引入中間語言的概念來支持多種語言,完整地集成了XML及WebService的支持,利用代碼托管機制避免危害服務器,并期盼以此代替ASP。事實上ASP.NET的框架設計與J2EE框架十分類似,雖然彌補了ASP之前的缺陷,但是,其對于Windows平臺的依賴性以及.NET本身的封閉性卻依然存在。盡管現(xiàn)在有Mono計劃將所有的開發(fā)轉(zhuǎn)移到Linux,但是由于各種原因,Mono有著眾多的制肘,并不被業(yè)界看好。當然,對于Windows環(huán)境下的中小型應用程序,ASP.NET確實是不錯的選擇。JSP是線程高度并行的,可以充分利用硬件資源。另外,Java語言與平臺無關(guān),開發(fā)者可以將JSP部署在幾乎任何操作系統(tǒng)上,UNIX系統(tǒng)可以為JSP提供穩(wěn)定可靠的安全運行環(huán)境;利用集群技術(shù)還可以把多臺主機聯(lián)合起來服務于JSP應用程序。因此,JSP對于高可靠性、高性能要求的企業(yè)級應用系統(tǒng)有較強的吸引力。從開發(fā)者的角度考慮,JSP是開發(fā)Web應用程序的首選。JSP支持JavaBean組件,也就獲得了眾多Java廠商的有力支持,開發(fā)者可以利用JavaBean來完成所有Java能實現(xiàn)的功能,如數(shù)據(jù)庫連接池、圖形繪制、文件IO操作、XML解析、WebService調(diào)用與發(fā)布等。Java的開放性也使系統(tǒng)框架如雨后春筍般涌現(xiàn),Struts,Webwork,Tapstry,Velocity,Hibernate等開源框架為Web應用開發(fā)者簡化了開發(fā)流程,提高了代碼質(zhì)量,從而降低了學習門檻和開發(fā)成本。JSP遵循J2EE規(guī)范所采用的分層結(jié)構(gòu)也使得代碼容易組織維護,各個獨立的層次分別針對特定的編程領域,在某個領域發(fā)生變化的時候,只需要在對應層次進行針對性的修改,而不會影響到其他層次的代碼。而相對于Servlet這種Java類,JSP又有著特定的優(yōu)勢。從前面的例子可以看出,要完成一個簡單JSP頁面具有的功能,需要編寫大量的Servlet代碼,而且,從代碼上根本看不出來生成的HTML文檔結(jié)構(gòu)。另外,JSP中雙引號等特殊字符,在Servlet中都需要進行轉(zhuǎn)義處理,又進一步降低了程序的可讀性。Servlet不能有效地利用原型頁面。事實上,在JSP中,還可以使用標簽等特性,進一步將JSP中的Java代碼導致的不利因素削弱??傊?,使用JSP可以降低開發(fā)門檻,提高程序可讀性,開發(fā)出高性能的跨平臺企業(yè)級軟件。所以在線汽車銷售網(wǎng)站采用了JSP技術(shù)。6.4.2系統(tǒng)設計模式B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn),形成所謂3-tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實現(xiàn)了原來需要復雜專用軟件才能實現(xiàn)的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著Windows98/Windows2000將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當今應用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應用程序相對于傳統(tǒng)的C/S結(jié)構(gòu)應用程序?qū)⑹蔷薮蟮倪M步。B/S結(jié)構(gòu)采用星形拓撲結(jié)構(gòu)建立企業(yè)內(nèi)部通信網(wǎng)絡或利用Internet虛擬專網(wǎng)(VPN)。前者的特點是安全、快捷、準確。后者則具有節(jié)省投資、跨地域廣的優(yōu)點。須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部通過防火墻接入Internet,再整個網(wǎng)絡采TCP/IP協(xié)議。C/S與B/S區(qū)別:Client/Server是建立在局域網(wǎng)的基礎上的.Browser/Server是建立在廣域網(wǎng)的基礎上的。1.硬件環(huán)境不同:C/S一般建立在專用的網(wǎng)絡上,小范圍里的網(wǎng)絡環(huán)境,局域網(wǎng)之間再通過專門服務器提供連接和數(shù)據(jù)交換服務.B/S建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡硬件環(huán)境,例與電話上網(wǎng),租用設備.信息自己管理.有比C/S更強的適應范圍,一般只要有操作系統(tǒng)和瀏覽器就行2.對安全要求不同C/S一般面向相對固定的用戶群,對信息安全的控制能力很強.一般高度機密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜.可以通過B/S發(fā)布部分可公開信息.B/S建立在廣域網(wǎng)之上,對安全的控制能力相對弱,面向是不可知的用戶群.3.對程序架構(gòu)不同C/S程序可以更加注重流程,可以對權(quán)限多層次校驗,對系統(tǒng)運行速度可以較少考慮.B/S對安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎之上.比C/S有更高的要求B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢,從MS的.Net系列的BizTalk2000Exchange2000等,全面支持網(wǎng)絡的構(gòu)件搭建的系統(tǒng).SUN和IBM推的JavaBean構(gòu)件技術(shù)等,使B/S更加成熟.4.軟件重用不同C/S程序可以不可避免的整體性考慮,構(gòu)件的重用性不如在B/S要求下的構(gòu)件的重用性好.B/S對的多重結(jié)構(gòu),要求構(gòu)件相對獨立的功能.能夠相對較好的重用.就入買來的餐桌可以再利用,而不是做在墻上的石頭桌子5.系統(tǒng)維護不同系統(tǒng)維護是軟件生存周期中,開銷大,重要C/S程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級.升級難.可能是再做一個全新的系統(tǒng)B/S構(gòu)件組成,方面構(gòu)件個別的更換,實現(xiàn)系統(tǒng)的無縫升級.系統(tǒng)維護開銷減到最小.用戶從網(wǎng)上自己下載安裝就可以實現(xiàn)升級.6.處理問題不同C/S程序可以處理用戶面固定,并且在相同區(qū)域,安全要求高需求,與操作系統(tǒng)相關(guān).應該都是相同的系統(tǒng)B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無法作到的.與操作系統(tǒng)平臺關(guān)系最小.7.用戶接口不同C/S多是建立的Window平臺上,表現(xiàn)方法有限,對程序員普遍要求較高B/S建立在瀏覽器上,有更加豐富和生動的表現(xiàn)方式與用戶交流.并且大部分難度減低,減低開發(fā)成本.8.信息流不同C/S程序一般是典型的中央集權(quán)的機械式處理,交互性相對低B/S信息流向可變化,B-BB-CB-G等信息、流向的變化,更像交易中心。第7章系統(tǒng)實現(xiàn)7.1登陸模塊(1)登陸界面要想使用本系統(tǒng),必須先登陸到系統(tǒng)中,在登陸頁面,首先將從前臺頁面提交的用戶名和密碼進行接受,之后在后臺進行處理,按照用戶名在數(shù)據(jù)庫中進行查詢?nèi)绻榈皆撚脩魟t將該用戶的權(quán)限和密碼全都取出來分別賦給兩個字符串變量,判斷從數(shù)據(jù)庫中讀出的密碼與登錄時輸入的密碼是否配比上,若兩個密碼相同則根據(jù)權(quán)限的值進入相應的頁面,否則輸出密碼錯誤。圖7.1登陸模塊界面(2)登陸模塊關(guān)鍵代碼publicStringlogin(StringuserName,StringuserPw,intuserType) { try { Thread.sleep(700); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringresult="no"; if(userType==0)//系統(tǒng)管理員登陸 { Stringsql="select*fromt_adminwhereuserName=?anduserPw=?"; Object[]params={userName,userPw}; DBmydb=newDB(); mydb.doPstm(sql,params); try { ResultSetrs=mydb.getRs(); booleanmark=(rs==null||!rs.next()?false:true); if(mark==false) { result="no"; } else { result="yes"; TAdminadmin=newTAdmin(); admin.setUserId(rs.getInt("userId")); admin.setUserName(rs.getString("userName")); admin.setUserPw(rs.getString("userPw")); WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",0); session.setAttribute("admin",admin); } rs.close(); } catch(SQLExceptione) { System.out.println("登錄失敗!"); e.printStackTrace(); } finally { mydb.closed(); } } if(userType==1) { Stringsql="select*fromt_yuangongwheredel='no'andloginName=?andloginPw=?"; Object[]params={userName,userPw}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); booleanmark=(rs==null||!rs.next()?false:true); if(mark==false) { result="no"; } if(mark==true) { TYuangongyuangong=newTYuangong(); yuangong.setId(rs.getInt("id")); yuangong.setName(rs.getString("name")); yuangong.setSex(rs.getString("sex")); yuangong.setAge(rs.getString("age")); yuangong.setTel(rs.getString("tel")); yuangong.setAddress(rs.getString("address")); yuangong.setLoginName(rs.getString("loginName")); yuangong.setLoginPw(rs.getString("loginPw")); result="yes"; WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",1); session.setAttribute("yuangong",yuangong); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); } if(userType==2) { } returnresult; } 7.2圖書類別管理模塊(1)圖書類別管理模塊界面管理員登陸系統(tǒng)后,點擊左面的菜單“圖書類別管理”,頁面調(diào)轉(zhuǎn)到圖書類別管理界面,錄入圖書類別的基本信息。如類別名稱、備注信息等,點擊保存按鈕,調(diào)用后臺的java類catelogServlett把圖書類別信息保存到數(shù)據(jù)庫。操作員管理界面如下圖圖7.2圖書類別管理模塊界面(2)圖書類別管理模塊關(guān)鍵代碼publicvoidcatelogAdd(HttpServletRequestreq,HttpServletResponseres) { Stringname=req.getParameter("name"); Stringjieshao=req.getParameter("jieshao"); Stringdel="no"; Stringsql="insertintot_catelogvalues(?,?,?)"; Object[]params={name,jieshao,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","catelog?type=catelogMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidcatelogDel(HttpServletRequestreq,HttpServletResponseres) { Stringsql="updatet_catelogsetdel='yes'whereid="+Integer.parseInt(req.getParameter("id")); Object[]params={}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","catelog?type=catelogMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidcatelogMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListcatelogList=newArrayList(); Stringsql="select*fromt_catelogwheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { Tcatelogcatelog=newTcatelog(); catelog.setId(rs.getInt("id")); catelog.setName(rs.getString("name")); catelog.setJieshao(rs.getString("jieshao")); catelogList.add(catelog); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("catelogList",catelogList); req.getRequestDispatcher("admin/catelog/catelogMana.jsp").forward(req,res); } 7.3圖書管理模塊(1)圖書管理界面管理員登陸系統(tǒng)后,點擊左面的菜單“圖書管理”,頁面調(diào)轉(zhuǎn)到圖書管理界面,錄入圖書的基本信息。包括名稱、出版社、出版日期、ISBN、庫存數(shù)量、單價等,點擊保存按鈕,調(diào)用后臺的java類BookServet把圖書信息保存到數(shù)據(jù)庫。圖書管理界面如下圖圖7.3圖書管理模塊界面(2)圖書管理模塊關(guān)鍵代碼Stringname=req.getParameter("name"); Stringzuozhe=req.getParameter("zuozhe"); Stringchubanshe=req.getParameter("chubanshe"); Stringchubanriqi=req.getParameter("chubanriqi"); Stringisbm=req.getParameter("isbm"); Stringprice=req.getParameter("price"); Stringyeshu=req.getParameter("yeshu"); Stringkucun=req.getParameter("kucun"); Stringcatelog_id=req.getParameter("catelog_id"); Stringsql="insertintot_bookvalues(?,?,?,?,?,?,?,?,?,?)"; Object[]params={name,zuozhe,chubanshe,chubanriqi, isbm,price,yeshu,kucun, catelog_id,"no"}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed();ListbookList=newArrayList(); Stringsql="select*fromt_bookwheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { TBookbook=newTBook(); book.setId(rs.getInt("id")); book.setName(rs.getString("name")); book.setZuozhe(rs.getString("zuozhe")); book.setChubanshe(rs.getString("chubanshe")); book.setChubanriqi(rs.getString("chubanriqi")); book.setIsbm(rs.getString("isbm")); book.setPrice(rs.getString("price")); book.setYeshu(rs.getString("yeshu")); book.setKucun(rs.getString("kucun")); book.setCatelog_id(rs.getInt("catelog_id")); book.setDel(rs.getString("del")); bookList.add(book); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("bookList",bookList); req.getRequestDispatcher("admin/book/bookMana.jsp").forward(req,res); 7.4讀者管理模塊(1)讀者模塊界面在該界面中首先輸入讀者基本信息。單擊“提交”按鈕,即可完成讀者錄入操作。圖4.3讀者模塊界面(2)讀者管理關(guān)鍵代碼publicvoidservice(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException {Stringtype=req.getParameter("type"); if(type.endsWith("userMana")) { userMana(req,res); } if(type.endsWith("userAdd")) { userAdd(req,res); } if(type.endsWith("userDel")) { userDel(req,res); } if(type.endsWith("userAll")) { userAll(req,res); } } publicvoiduserAdd(HttpServletRequestreq,HttpServletResponseres) { Stringname=req.getParameter("name"); Stringsex=req.getParameter("sex"); Stringage=req.getParameter("age"); Stringaddress=req.getParameter("address"); Stringtel=req.getParameter("tel"); Stringemail=req.getParameter("email"); Stringjiehao=req.getParameter("jiehao"); Stringdel="no"; Stringsql="insertintot_uservalues(?,?,?,?,?,?,?,?)"; Object[]params={name,sex,age,address,tel,email,jiehao,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","user?type=userMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoiduserDel(HttpServletRequestreq,HttpServletResponseres) { Stringsql="updatet_usersetdel='yes'whereid="+Integer.parseInt(req.getParameter("id")); Object[]params={}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","user?type=userMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } 7.5圖書借閱管理模塊(1)圖書借閱模塊界面管理員登陸系統(tǒng)后,點擊左面的菜單“圖書借閱管理”,頁面調(diào)轉(zhuǎn)到圖書借閱管理界面,錄入圖書借閱的基本信息。如圖書ID、讀者ID、借閱數(shù)量、借閱時間等,點擊保存按鈕,調(diào)用后臺的java類JieyueServlett把圖書借閱信息保存到數(shù)據(jù)庫。圖書借閱管理界面如下圖圖7.3圖書借閱模塊界面(2)借閱管理關(guān)鍵代碼Stringuser_id=req.getParameter("user_id"); Stringbook_id=req.getParameter("book_id"); Stringjieyueshuliang=req.getParameter("jieyueshuliang"); StringjieyueShijian=req.getParameter("jieyueShijian"); Stringshifouguihuan="否"; Stringguihuanshij
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)洗車工2024年服務協(xié)議樣本版B版
- 夏至節(jié)氣文化探討模板
- 二零二五年度虛擬現(xiàn)實(VR)應用開發(fā)框架合作協(xié)議3篇
- 2025年度健康養(yǎng)生產(chǎn)品全國代理合同范本4篇
- 2025年度工程車輛柴油補給服務協(xié)議4篇
- 個人借款企業(yè)合作合同書樣本版B版
- 《XX創(chuàng)意廣告欣賞》課件
- 專業(yè)足球教練2024聘任協(xié)議精簡文本版A版
- 2025年度高新技術(shù)企業(yè)研發(fā)場地租賃協(xié)議書4篇
- 2024育兒嫂安全保障合同范本:育兒嫂職責與權(quán)益3篇
- MOOC 電工學(電氣工程學概論)-天津大學 中國大學慕課答案
- 2019級水電站動力設備專業(yè)三年制人才培養(yǎng)方案
- 室內(nèi)裝飾裝修施工組織設計方案
- 洗浴中心活動方案
- 送電線路工程施工流程及組織措施
- 肝素誘導的血小板減少癥培訓課件
- 韓國文化特征課件
- 抖音認證承諾函
- 清潔劑知識培訓課件
- 新技術(shù)知識及軍事應用教案
- 高等數(shù)學(第二版)
評論
0/150
提交評論