2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)</b></p><p>  題 目 基于Android平臺(tái)的圖書(shū)管理系統(tǒng)手機(jī)客戶(hù)端開(kāi)發(fā) </p><p>  學(xué)生姓名 xxx </p><p>  學(xué) 號(hào) </p><p>  專(zhuān)業(yè)班級(jí) 通信工程 </p>

2、;<p>  指導(dǎo)教師 xxx </p><p>  學(xué) 院 計(jì)算機(jī)與通信 </p><p>  答辯日期 2012年6月 </p><p><b>  摘 要</b></p><p>  傳統(tǒng)WEB應(yīng)用只能在PC機(jī)上使用,不能做到隨時(shí)隨地的使用,為了解決這樣的不足,基于Android

3、平臺(tái)的圖書(shū)館管理系統(tǒng)客戶(hù)端就應(yīng)運(yùn)而生。本設(shè)計(jì)闡述了在Android平臺(tái)下圖書(shū)館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,其目的是讓人們能夠在基于Google Android平臺(tái)的移動(dòng)設(shè)備上享用傳統(tǒng)WEB上圖書(shū)館管理系統(tǒng)的基本功能。本系統(tǒng)采用C/S結(jié)構(gòu), MVC軟件開(kāi)發(fā)模式,使用android布局技術(shù)完成UI的設(shè)計(jì),基于Java語(yǔ)言開(kāi)發(fā)完成,在不同型號(hào)的設(shè)備模擬器上測(cè)試通過(guò)。系統(tǒng)實(shí)現(xiàn)了用戶(hù)注冊(cè)、登錄、查詢(xún)圖書(shū)以及學(xué)生用戶(hù)管理和圖書(shū)管理等功能。“操作簡(jiǎn)單,

4、功能實(shí)用”這是本軟件設(shè)計(jì)的核心理念,本系統(tǒng)力求創(chuàng)造最好的用戶(hù)體驗(yàn)。</p><p>  關(guān)鍵詞:圖書(shū)館管理系統(tǒng);ANDROID;客戶(hù)端;數(shù)據(jù)庫(kù)設(shè)計(jì);服務(wù)器端</p><p><b>  Abstract</b></p><p>  The WEB application can only in traditional PC use, can&#

5、39;t do it at any time and place to use, in order to solve the shortage of such, based on the Android platform of library management system client is made. This paper expounds the workbench Android library management sys

6、tem design and implementation process, and its purpose is to let people can be based on the Google Android platform of mobile devices to enjoy the traditional WEB on the basic functions of the library management system.

7、The sys</p><p>  Key words : library management system; ANDROID; client; database design; server </p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p&

8、gt;  AbstractII</p><p><b>  第1章 前 言1</b></p><p>  1.1 課題研究的目的及意義1</p><p>  1.2 課題的現(xiàn)狀1</p><p>  1.3 課題的內(nèi)容1</p><p>  第2章 軟件設(shè)計(jì)及開(kāi)發(fā)工具介紹3</p

9、><p>  2.1 總體設(shè)計(jì)3</p><p>  2.2 系統(tǒng)結(jié)構(gòu)3</p><p>  2.3 開(kāi)發(fā)工具介紹和關(guān)鍵技術(shù)3</p><p>  2.3.1 Eclipse的介紹3</p><p>  2.3.2 MyEclipse與Tomcat介紹6</p><p>  2.3.3 關(guān)

10、鍵技術(shù)介紹7</p><p>  第3章 系統(tǒng)功能設(shè)計(jì)8</p><p>  3.1 前臺(tái)管理8</p><p>  3.1.1 注冊(cè)8</p><p>  3.1.2 用戶(hù)登錄8</p><p>  3.1.3 圖書(shū)查詢(xún)8</p><p>  3.1.4 用戶(hù)管理9</p&

11、gt;<p>  3.1.5 圖書(shū)管理9</p><p>  3.2 后臺(tái)管理9</p><p>  3.2.1 注冊(cè)管理9</p><p>  3.2.2 登錄管理9</p><p>  3.2.3 圖書(shū)查詢(xún)管理10</p><p>  3.2.4 用戶(hù)管理10</p><

12、;p>  3.2.5 圖書(shū)管理10</p><p>  第4章 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)11</p><p>  4.1 服務(wù)器端數(shù)據(jù)庫(kù)設(shè)計(jì)11</p><p>  4.1.1 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)11</p><p>  4.1.2 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)13</p><p>  第5章 模塊開(kāi)發(fā)及編碼實(shí)現(xiàn)15&l

13、t;/p><p>  5.1 服務(wù)器端的設(shè)計(jì)---搭建java web服務(wù)器15</p><p>  5.2 連接數(shù)據(jù)庫(kù)模塊15</p><p>  5.3 服務(wù)器功能模塊16</p><p>  5.3.1 注冊(cè)模塊16</p><p>  5.3.2 登錄模塊17</p><p>  

14、5.3.3 書(shū)籍查詢(xún)模塊18</p><p>  5.3.4 特定用戶(hù)查詢(xún)模塊19</p><p>  5.3.5 查詢(xún)所有用戶(hù)模塊20</p><p>  5.3.6 添加書(shū)籍模塊21</p><p>  5.4 客戶(hù)端的設(shè)計(jì)---設(shè)計(jì)ANDROID UI界面22</p><p>  5.5 具體功能模塊

15、23</p><p>  5.5.1 注冊(cè)界面23</p><p>  5.5.2 登錄界面26</p><p>  5.5.3 學(xué)生用戶(hù)書(shū)籍查詢(xún)界面28</p><p>  5.5.4 管理員界面29</p><p>  5.5.5 管理學(xué)生用戶(hù)界面30</p><p>  5.5.

16、6 管理圖書(shū)界面31</p><p>  5.5.7 圖書(shū)增加界面32</p><p>  第6章 系統(tǒng)測(cè)試34</p><p>  6.1 用戶(hù)注冊(cè)測(cè)試34</p><p>  6.2 用戶(hù)登錄測(cè)試34</p><p>  6.3 圖書(shū)查詢(xún)測(cè)試36</p><p>  6.4 用戶(hù)

17、管理測(cè)試36</p><p>  6.5 書(shū)籍管理測(cè)試37</p><p><b>  總 結(jié)39</b></p><p><b>  參考文獻(xiàn)41</b></p><p>  附錄一 核心代碼42</p><p>  附錄二 外文文獻(xiàn)(原文)43</p&g

18、t;<p>  附錄三 外文文獻(xiàn)(譯文)52</p><p><b>  致 謝60</b></p><p><b>  第1章 前 言</b></p><p>  1.1 課題研究的目的及意義</p><p>  移動(dòng)互聯(lián)網(wǎng)時(shí)代的來(lái)臨,說(shuō)明一個(gè)嶄新的時(shí)代開(kāi)始了。所謂移動(dòng)互聯(lián)網(wǎng)是

19、將移動(dòng)通信和互聯(lián)網(wǎng)整合在一起,移動(dòng)設(shè)備(包括手機(jī)和上網(wǎng)本)可以隨時(shí)隨地地訪(fǎng)問(wèn)互聯(lián)網(wǎng)資源和應(yīng)用。</p><p>  智能手機(jī)是移動(dòng)互聯(lián)網(wǎng)時(shí)代一個(gè)標(biāo)志性的客戶(hù)端工具,它和傳統(tǒng)的手機(jī)是有區(qū)別的,它就像一臺(tái)“小電腦”,具有獨(dú)立的操作系統(tǒng),可以自由安裝、卸載軟件,具有強(qiáng)大的計(jì)算和存儲(chǔ)能力,可以通過(guò)移動(dòng)通信網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)無(wú)線(xiàn)網(wǎng)絡(luò)接入。</p><p>  對(duì)于移動(dòng)終端設(shè)備飛速發(fā)展的今天,傳統(tǒng)WEB上的應(yīng)

20、用出現(xiàn)在手機(jī)終端是一個(gè)大的趨勢(shì)。而基于Android開(kāi)發(fā)的圖書(shū)館管理系統(tǒng)手機(jī)客戶(hù)端,正是對(duì)這一趨勢(shì)的良好體現(xiàn),Android平臺(tái)下的圖書(shū)館管理系統(tǒng)的開(kāi)發(fā),能很好的為用戶(hù)提供方便,用戶(hù)能通過(guò)它能隨時(shí)隨地的了解系統(tǒng)的實(shí)時(shí)信息,做到信息的實(shí)時(shí)化。通過(guò)Android平臺(tái)下的圖書(shū)館管理系統(tǒng)客戶(hù)端的開(kāi)發(fā),與傳統(tǒng)WEB應(yīng)用進(jìn)行良好的互補(bǔ)。</p><p>  同時(shí),對(duì)于校內(nèi)的圖書(shū)館管理系統(tǒng)來(lái)說(shuō),手機(jī)對(duì)于學(xué)生是必不可少的一個(gè)物品

21、,手機(jī)客戶(hù)端這種形式的圖書(shū)館管理系統(tǒng),能更加貼近學(xué)生的生活習(xí)慣,并且適合學(xué)生年齡段的習(xí)性,這對(duì)學(xué)生更多的接觸到圖書(shū)館的信息有一定得促進(jìn)作用。</p><p><b>  1.2 課題的現(xiàn)狀</b></p><p>  目前國(guó)內(nèi)的基于Android平臺(tái)的圖書(shū)館管理系統(tǒng)客戶(hù)端還不成熟,大多數(shù)的圖書(shū)館管理系統(tǒng)都出現(xiàn)在傳統(tǒng)的WEB應(yīng)用上,在這個(gè)環(huán)境下,基于Android平臺(tái)的

22、圖書(shū)館管理系統(tǒng)客戶(hù)端屬于一個(gè)嶄新的應(yīng)用。作為一個(gè)不太成熟的應(yīng)用,大多數(shù)圖書(shū)館管理系統(tǒng)都是出現(xiàn)在學(xué)習(xí)android開(kāi)發(fā)的一個(gè)項(xiàng)目中,作為學(xué)習(xí)中的一個(gè)練習(xí)項(xiàng)目。目前,絕大部分的網(wǎng)絡(luò)應(yīng)用都還是傳統(tǒng)的WEB應(yīng)用,但面對(duì)Android手機(jī)如此迅速發(fā)展的今天,傳統(tǒng)WEB的應(yīng)用不能滿(mǎn)足人們隨時(shí)隨地體驗(yàn)網(wǎng)絡(luò)應(yīng)用的想法,所以,出現(xiàn)在手機(jī)終端的應(yīng)用將會(huì)越來(lái)越多,同時(shí)其發(fā)展的速度也會(huì)越來(lái)越快。校內(nèi)圖書(shū)館管理系統(tǒng)作為傳統(tǒng)WEB應(yīng)用,也必將在手機(jī)客戶(hù)端上得到應(yīng)用

23、。</p><p><b>  1.3 課題的內(nèi)容</b></p><p>  由此出現(xiàn)大量的應(yīng)用出現(xiàn)在手機(jī)上,基于Android平臺(tái)的圖書(shū)館管理系統(tǒng)手機(jī)客戶(hù)端是依據(jù)現(xiàn)在的形式所開(kāi)發(fā)的,它是一套基于開(kāi)放性的圖書(shū)館管理系統(tǒng),它有傳統(tǒng)WEB上圖書(shū)館管理系統(tǒng)的大部分功能。整個(gè)系統(tǒng)分為前臺(tái)界面管理和后臺(tái)服務(wù)器管理兩部分,劃分為用戶(hù)管理、圖書(shū)管理、信息管理等三個(gè)部分。在前臺(tái)管理

24、中,用戶(hù)進(jìn)行注冊(cè)、登錄、查詢(xún)特定圖書(shū)等功能;后臺(tái)管理模塊,負(fù)責(zé)控制前臺(tái)界面管理的所有功能;本系統(tǒng)設(shè)置了學(xué)生用戶(hù)和管理員兩類(lèi),兩類(lèi)用戶(hù)都是使用同一個(gè)平臺(tái),只是權(quán)限不同。學(xué)生用戶(hù)只能注冊(cè)、查詢(xún)圖書(shū)等功能;管理員擁有最高權(quán)限,可以對(duì)已經(jīng)畢業(yè)的學(xué)生用戶(hù)賬號(hào)進(jìn)行刪除,查詢(xún)學(xué)生用戶(hù)信息,實(shí)時(shí)更新圖書(shū)館的新書(shū),發(fā)布圖書(shū)館最新信息等權(quán)限。</p><p>  本圖書(shū)館管理系統(tǒng),能夠適用于各類(lèi)圖書(shū)館,具有良好的可操作性,可以隨時(shí)的

25、查詢(xún)你所需要的圖書(shū)信息,只要你的智能手機(jī)安裝了本系統(tǒng)客戶(hù)端,系統(tǒng)大大的方便了學(xué)生的圖書(shū)查詢(xún)的。</p><p>  本系統(tǒng)采用C/S結(jié)構(gòu),后臺(tái)服務(wù)器使用Servlet編寫(xiě)服務(wù)器,同時(shí)用Tomcat發(fā)布服務(wù),前臺(tái)客戶(hù)端環(huán)境使用的是ANDROID控件。通過(guò)JDBC來(lái)調(diào)用Oracle數(shù)據(jù)庫(kù),來(lái)實(shí)現(xiàn)手機(jī)客戶(hù)端與服務(wù)器之間數(shù)據(jù)傳輸。</p><p>  第2章 軟件設(shè)計(jì)及開(kāi)發(fā)工具介紹</p&g

26、t;<p>  為了使軟件開(kāi)發(fā)能夠順利進(jìn)行,使開(kāi)發(fā)人員對(duì)系統(tǒng)各個(gè)模塊的性能、系統(tǒng)接口、系統(tǒng)開(kāi)發(fā)及運(yùn)行環(huán)境和計(jì)算機(jī)內(nèi)部處理的邏輯及物理流程有更清晰的認(rèn)識(shí),更利于源程序的開(kāi)發(fā),現(xiàn)對(duì)系統(tǒng)的總體設(shè)計(jì)和系統(tǒng)結(jié)構(gòu)設(shè)計(jì)及開(kāi)發(fā)工具和關(guān)鍵技術(shù)做詳細(xì)說(shuō)明。</p><p><b>  2.1 總體設(shè)計(jì)</b></p><p>  基于ANDROID平臺(tái)開(kāi)發(fā)的圖書(shū)館管理系統(tǒng)客

27、戶(hù)端從設(shè)計(jì)者的角度來(lái)看,用戶(hù)角色分為學(xué)生用戶(hù)和管理員兩類(lèi);功能包括注冊(cè)、登錄、密碼找回、書(shū)籍查詢(xún)、圖書(shū)實(shí)時(shí)更新、普通用戶(hù)管理共六大部分。其中系統(tǒng)管理中的學(xué)生用戶(hù)權(quán)限包括注冊(cè)、登錄、密碼找回、書(shū)籍查詢(xún)等四個(gè)模塊;管理員的權(quán)限則是除了學(xué)生用戶(hù)具有的權(quán)限外還有實(shí)時(shí)更新圖書(shū)信息、學(xué)生用戶(hù)管理等模塊。從使用者的角度來(lái)看分為前臺(tái)和后臺(tái)管理兩大部分。后臺(tái)管理模塊是本系統(tǒng)的關(guān)鍵部分之一,它是系統(tǒng)維護(hù)和信息管理平臺(tái)。根據(jù)現(xiàn)實(shí)需要,本系統(tǒng)后臺(tái)管理用戶(hù)有兩類(lèi)

28、:管理員和學(xué)生用戶(hù)。這兩類(lèi)用戶(hù)使用的系統(tǒng)管理平臺(tái)都是同一個(gè)平臺(tái)上,只不過(guò)他們執(zhí)行的權(quán)限不同。</p><p><b>  2.2 系統(tǒng)結(jié)構(gòu)</b></p><p>  本系統(tǒng)總體邏輯結(jié)構(gòu)為C/S結(jié)構(gòu),結(jié)構(gòu)圖如圖2-1所示:</p><p>  圖2.1 C/S結(jié)構(gòu)圖</p><p>  2.3 開(kāi)發(fā)工具介紹和關(guān)鍵技術(shù)&l

29、t;/p><p>  2.3.1 Eclipse的介紹</p><p>  Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開(kāi)發(fā)工具(Java Development Kit,JDK)。  </p><p>  E

30、clipse的發(fā)展史,版本代號(hào) 平臺(tái)版本 主要版本發(fā)行日期 SR1發(fā)行日期 SR2發(fā)行日期,如下:</p><p>  表2-1 Eclipse的版本號(hào)</p><p>  Eclipse是一個(gè)開(kāi)放源代碼的軟件開(kāi)發(fā)項(xiàng)目,專(zhuān)注于為高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分

31、組成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java開(kāi)發(fā)、CDT支持C開(kāi)發(fā)、PDE用來(lái)支持插件開(kāi)發(fā),Eclipse Platform則是一個(gè)開(kāi)放的可擴(kuò)展IDE,提供了一個(gè)通用的開(kāi)發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開(kāi)發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開(kāi)發(fā)與他人工具無(wú)縫集成的工具從而無(wú)須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開(kāi)始。</p><

32、p>  Android工程是在Eclipse工具上編寫(xiě)的,進(jìn)行android工程的編寫(xiě),首先需要在Eclipse上安裝ADT插件,然后指定SDK所在的路徑,便可以創(chuàng)建android虛擬機(jī)了。</p><p>  在Eclipse下創(chuàng)建虛擬機(jī)的步驟如下:</p><p><b>  安裝ADT插件</b></p><p>  在Eclips

33、e單擊菜單欄的Help,在Help里面選中Install NewSoftware選項(xiàng),之后便可以出現(xiàn)如下界面:</p><p>  圖2.2 ADT安裝步驟界面</p><p>  指定好你的ADT路徑后,便可以安裝好ADT插件。</p><p>  導(dǎo)入AndroidSDK</p><p>  安裝好ADT插件后,單擊Eclipse菜單欄W

34、indows下找到preperence,點(diǎn)擊進(jìn)入,得到如下界面:</p><p>  圖2.3 AndroidSDK安裝界面</p><p>  在左邊選項(xiàng)選中Android,在SDK Location下導(dǎo)入AndroidSDK路徑,點(diǎn)擊Apply應(yīng)用,便會(huì)導(dǎo)入Android的各個(gè)版本。</p><p><b>  創(chuàng)建虛擬機(jī)</b></

35、p><p>  安裝好ADT和導(dǎo)入AndroidSDK成功后,便可以在菜單欄Windows下找到AVD manage選項(xiàng),單擊進(jìn)入后便有新建android虛擬機(jī)界面,在創(chuàng)建界面設(shè)置好虛擬機(jī)參數(shù)點(diǎn)擊確定后,就創(chuàng)建好了一個(gè)android虛擬機(jī)。</p><p>  創(chuàng)建好虛擬機(jī)后,點(diǎn)擊開(kāi)始便可以運(yùn)行一個(gè)android虛擬機(jī),虛擬機(jī)運(yùn)行成功界面如下:</p><p>  圖2

36、.4 android虛擬機(jī)視圖</p><p>  虛擬機(jī)模擬的是android智能手機(jī)的界面,通過(guò)操作虛擬機(jī)可以體驗(yàn)到android智能手機(jī)的部分應(yīng)用。同時(shí)虛擬機(jī)是作為開(kāi)發(fā)的android應(yīng)用運(yùn)行的場(chǎng)所,他提供基本的人機(jī)交互功能。</p><p>  2.3.2 MyEclipse與Tomcat介紹</p><p>  MyEclipse是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)J

37、ava, J2EE的Eclipse插件集合。MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱(chēng)MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,支持HTML,Struts,JSP,Javascript, Hib

38、ernate,MyEclipse,CSS, Spring,SQL的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò)。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類(lèi): 1. JavaEE模型 2. WEB開(kāi)發(fā)工具 3. EJB開(kāi)發(fā)工具 4. 應(yīng)用程序服務(wù)器的連接器 5. JavaEE項(xiàng)目部署服務(wù) 6. 數(shù)據(jù)庫(kù)服務(wù) 7. MyEclipse整合幫助

39、 對(duì)于以上每一種功能上的類(lèi)別,在Eclipse中都有相應(yīng)的功能部件,并通</p><p>  本系統(tǒng)是基于C/S架構(gòu)的,所以需要在MyEclipse上創(chuàng)建服務(wù)器端,利用Java EE中的servlet來(lái)提供服務(wù),并將其部署在Tomcat下。需要解決的是創(chuàng)建不同的servlet來(lái)提供不同的服務(wù)。</p><p>  Tomcat是Apache 軟件基金會(huì)(Apache Software

40、Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門(mén)omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器

41、。目前最新版本是7.0。</p><p>  Tomcat 很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。</p><p>  Tomcat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪(fǎng)問(wèn)用戶(hù)不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程

42、序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML 頁(yè)面的訪(fǎng)問(wèn)請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你 Apache Tomcat運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。而Tomcat 實(shí)際上運(yùn)行JSP 頁(yè)面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HT

43、ML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過(guò),Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。目前Tomcat最新版本為7.0.27 Released。</p><p>  2.3.3 關(guān)鍵技術(shù)介紹</p><p>  本軟件采用java作為開(kāi)發(fā)語(yǔ)言,布局和數(shù)據(jù)存儲(chǔ)是開(kāi)發(fā)本軟件的關(guān)鍵技術(shù),布局用來(lái)設(shè)計(jì)用戶(hù)交互界面

44、,用戶(hù)界面的設(shè)計(jì)是否美觀(guān)和合理直接影響用戶(hù)體驗(yàn),因此運(yùn)用好布局技術(shù)是直接和用戶(hù)相關(guān)的,而數(shù)據(jù)存儲(chǔ)技術(shù)則記錄了用戶(hù)所有的操作數(shù)據(jù)和用戶(hù)所需要提取的數(shù)據(jù)。</p><p>  在android中,軟件UI通常使用xml技術(shù)設(shè)計(jì),而xml中控件的位置和狀態(tài)則離不開(kāi)布局的使用,android中常用的布局有5種,分別是:AbsoluteLayout、LinearLayout、RelativeLayout、FrameLayo

45、ut、TableLayout,由于布局的使用,并且布局之間可以互相嵌套,使得android軟件UI的設(shè)計(jì)變得非常靈活,即使是一些非常復(fù)雜的界面設(shè)計(jì),只要合理的使用布局,也會(huì)使開(kāi)發(fā)變得很容易。</p><p>  Android中數(shù)據(jù)存儲(chǔ)技術(shù)主要有:文件存儲(chǔ)、preference、sqlite、ContentProvider和網(wǎng)絡(luò)存儲(chǔ),文件存儲(chǔ)是以流的形式讀寫(xiě)文件,可以以文格的格式,也可以以二進(jìn)制的形式,在java

46、語(yǔ)言中要使用流,則寫(xiě)入文件的對(duì)象必須進(jìn)行序列化,sqlite是嵌入式移動(dòng)設(shè)備中常用的輕量級(jí)數(shù)據(jù)庫(kù),可看作計(jì)算機(jī)上使用的sql server、oracle數(shù)據(jù)庫(kù)。本系統(tǒng)中,采用的是Oracle數(shù)據(jù)庫(kù)進(jìn)行儲(chǔ)存圖書(shū)館里的基本信息。</p><p>  第3章 系統(tǒng)功能設(shè)計(jì)</p><p>  本系統(tǒng)采用C/S模式開(kāi)發(fā)的,該系統(tǒng)的客戶(hù)端和服務(wù)器端是獨(dú)立分開(kāi)的,這樣的分開(kāi)也就形成了前臺(tái)管理和后臺(tái)管理

47、。前臺(tái)管理注重用戶(hù)的交互是否簡(jiǎn)便,后臺(tái)管理注重功能的邏輯和與數(shù)據(jù)庫(kù)數(shù)據(jù)交互的功能。</p><p><b>  3.1 前臺(tái)管理</b></p><p>  前臺(tái)客戶(hù)端的所有功能畫(huà)出的功能流程圖如下:</p><p>  圖3.1 前臺(tái)客戶(hù)端流程圖</p><p><b>  3.1.1 注冊(cè)</b>

48、;</p><p>  用戶(hù)通過(guò)手機(jī)客戶(hù)端主界面上的注冊(cè)按鈕注冊(cè)新的學(xué)生用戶(hù),注冊(cè)用戶(hù)的信息通過(guò)服務(wù)器端和數(shù)據(jù)庫(kù)連接,數(shù)據(jù)庫(kù)中的用戶(hù)表則會(huì)生成你注冊(cè)的信息,同時(shí)在手機(jī)客戶(hù)端提示注冊(cè)成功。</p><p>  3.1.2 用戶(hù)登錄</p><p>  用戶(hù)登錄分為兩類(lèi)用戶(hù):管理員和學(xué)生用戶(hù)??梢酝ㄟ^(guò)登錄界面中選定身份登錄,服務(wù)器根據(jù)登錄選定的信息選擇數(shù)據(jù)庫(kù)中的數(shù)據(jù)表進(jìn)

49、行匹配,用戶(hù)名和密碼正確則登錄成功。</p><p>  3.1.3 圖書(shū)查詢(xún)</p><p>  在查詢(xún)界面輸入所需查詢(xún)書(shū)籍的書(shū)名和作者名,通過(guò)服務(wù)器端查詢(xún)數(shù)據(jù)庫(kù)返回你所查詢(xún)的書(shū)籍信息,書(shū)籍信息包括:書(shū)名、作者、出版社名、是否被接、剩余本數(shù)等信息。</p><p>  在圖書(shū)查詢(xún)功能中,運(yùn)用到了ANDROID的一個(gè)自動(dòng)完成文本的控件,該控件可以通過(guò)你輸入的查詢(xún)信息

50、列出帶有你輸入字的書(shū)名,以方便你的檢索。通過(guò)此控件,大大的提高了用戶(hù)檢索書(shū)籍的效率,同時(shí)滿(mǎn)足了模糊查詢(xún)的功能,是用戶(hù)查詢(xún)書(shū)籍方便、快捷。</p><p>  3.1.4 用戶(hù)管理</p><p>  用戶(hù)管理模塊是管理員對(duì)學(xué)生用戶(hù)賬號(hào)的管理,對(duì)于某些特殊原因賬號(hào)不使用了,比如:學(xué)生畢業(yè)等原因不再使用賬號(hào)的問(wèn)題,管理員有權(quán)利對(duì)這類(lèi)賬號(hào)進(jìn)行刪除,同時(shí)可以學(xué)生用戶(hù)的用戶(hù)名查詢(xún)學(xué)生用戶(hù)的信息。&l

51、t;/p><p>  3.1.5 圖書(shū)管理</p><p>  這個(gè)功能也只有管理員身份才能擁有,管理員通過(guò)此功能,可以對(duì)圖書(shū)進(jìn)行增加、刪出功能。</p><p>  通過(guò)這個(gè)模塊,管理員可以對(duì)新進(jìn)的圖書(shū)進(jìn)行添加處理,并能實(shí)時(shí)發(fā)布新增書(shū)籍。對(duì)于刪除功能,管理員可以把一些已經(jīng)下架,不再外借的書(shū)籍進(jìn)行刪除,以便造成不必要的麻煩。</p><p>&l

52、t;b>  3.2 后臺(tái)管理</b></p><p>  后臺(tái)服務(wù)器端的任務(wù)是根據(jù)客戶(hù)端送發(fā)送過(guò)來(lái)的請(qǐng)求,根據(jù)客戶(hù)端不同功能模塊,通過(guò)檢索數(shù)據(jù)庫(kù)不同表格,把檢索結(jié)果返回給客戶(hù)端顯示給以用戶(hù),其基本流程圖如下:</p><p>  圖3.2 后臺(tái)服務(wù)器端流程圖</p><p>  3.2.1 注冊(cè)管理</p><p>  注冊(cè)

53、用戶(hù)提交:向服務(wù)器提交用戶(hù)注冊(cè)的信息,同時(shí)更新到數(shù)據(jù)庫(kù)。 </p><p>  注冊(cè)管理是后臺(tái)的一個(gè)重要內(nèi)容,注冊(cè)只提供學(xué)生用戶(hù)的注冊(cè),這樣可以保證圖書(shū)館用戶(hù)權(quán)限的穩(wěn)定和安全。通過(guò)注冊(cè)用戶(hù),用戶(hù)才能享受來(lái)自手機(jī)客戶(hù)端的所有功能。通過(guò)手機(jī)客戶(hù)端注冊(cè)用戶(hù),來(lái)作為以后通過(guò)手機(jī)客戶(hù)端登錄圖書(shū)館管理系統(tǒng)的唯一身份認(rèn)證。</p><p>  3.2.2 登錄管理</p><p>

54、;  登錄管理:根據(jù)你登錄的信息向服務(wù)器發(fā)送請(qǐng)求,然后和數(shù)據(jù)庫(kù)信息進(jìn)行對(duì)比,來(lái)確認(rèn)用戶(hù)登錄的成功與否。 </p><p>  登錄時(shí)候,首先你必須選定你的登錄身份,是以學(xué)生用戶(hù)還是管理員身份登錄,根據(jù)你選擇的不同身份,服務(wù)器向不同的數(shù)據(jù)庫(kù)表來(lái)核對(duì)信息,以通過(guò)對(duì)用戶(hù)信息的核對(duì),以確定所登錄的賬號(hào)密碼是否正確。</p><p>  3.2.3 圖書(shū)查詢(xún)管理</p><p&g

55、t;  圖書(shū)查詢(xún)管理主要通過(guò)圖書(shū)的幾個(gè)關(guān)鍵信息進(jìn)行查詢(xún),根據(jù)圖書(shū)名字和圖書(shū)作者向數(shù)據(jù)庫(kù)提交信息進(jìn)行條件檢索。通過(guò)輸入信息的檢索,返回檢索書(shū)籍的基本信息,比如:圖書(shū)名字、圖書(shū)作者、出版社名、是否被借、剩余數(shù)量等基本信息。</p><p>  3.2.4 用戶(hù)管理</p><p>  后臺(tái)的用戶(hù)管理,是處理管理員對(duì)有特殊情況的學(xué)生用戶(hù)和查詢(xún)特定學(xué)生用戶(hù)的服務(wù),是與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)更新與交互的服務(wù)

56、。</p><p>  3.2.5 圖書(shū)管理</p><p>  后臺(tái)的圖書(shū)管理,是處理管理員把新書(shū)添加到書(shū)籍?dāng)?shù)據(jù)庫(kù)表的服務(wù),通過(guò)添加到數(shù)據(jù)庫(kù)表,學(xué)生用戶(hù)才能在書(shū)籍查詢(xún)功能中查詢(xún)到新更新的書(shū)籍信息。同時(shí),對(duì)于不再外借的書(shū)籍從數(shù)據(jù)庫(kù)刪除,以此來(lái)更新數(shù)據(jù)庫(kù)中的書(shū)籍名稱(chēng)。</p><p>  第4章 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)</p><p>  4.1 服務(wù)

57、器端數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p>  采用的是Oracle數(shù)據(jù)庫(kù)。在本系統(tǒng)中采用了簡(jiǎn)易版的Oracle,即數(shù)據(jù)庫(kù)的名字為Oracle XE,首先要解決的是在該數(shù)據(jù)庫(kù)里某個(gè)用戶(hù)下創(chuàng)建表。</p><p>  首先配置Oracle數(shù)據(jù)庫(kù),步驟如下: </p><p>  (1) 以O(shè)racle管理員身份進(jìn)入Oracle,在終端輸入的命令為:sqlplus "/a

58、s sysdba";</p><p>  (2) 啟動(dòng)Oracle,在終端輸入的命令為:startup;</p><p>  (3) 創(chuàng)建新的用戶(hù),在終端的命令為:先以管理員身份登錄數(shù)據(jù)庫(kù),然后創(chuàng)建新的用戶(hù)的命令為:</p><p>  create user liuyujuan identified by liuyujuan;</p>&l

59、t;p>  grant resource,connect to liuyujuan;</p><p>  所創(chuàng)建的用戶(hù)賬號(hào)和密碼分別為:liuyujuan,liuyujuan;</p><p>  (4)然后以liuyujuan用戶(hù)登錄,命令為:sqlplus liuyujuan/liuyujuan。</p><p>  在賬戶(hù)liuyujuan下創(chuàng)建數(shù)據(jù)表,

60、以滿(mǎn)足圖書(shū)館管理的日常需要,表格名稱(chēng)分別為: lib_admin,lib_user,lib_books,lib_ret,各個(gè)數(shù)據(jù)表的儲(chǔ)存的信息分別為:管理員信息、普通用戶(hù)信息、書(shū)籍信息、書(shū)籍外借信息表。</p><p>  4.1.1 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念模型,已經(jīng)得出滿(mǎn)足系統(tǒng)設(shè)計(jì)要求的幾個(gè)關(guān)系描述,該階段

61、的主要工作就是把前一階段的成果轉(zhuǎn)化為具體的數(shù)據(jù)庫(kù)。</p><p>  管理員用戶(hù)有用戶(hù)名和密碼兩個(gè)屬性,通過(guò)這兩個(gè)屬性來(lái)確定管理員用戶(hù)的身份是否合法,其中ID為主鍵,其E-R圖如下:</p><p>  圖4.1 管理員E-R圖</p><p>  學(xué)生用戶(hù)有用戶(hù)名、密碼身份證號(hào)、入學(xué)年份、性別、所在學(xué)院名稱(chēng)等屬性,通過(guò)這些屬性,來(lái)確認(rèn)學(xué)生信息表的信息,其中主鍵為

62、ID,其E-R圖如下:</p><p>  圖4.2 學(xué)生用戶(hù)E-R圖</p><p>  書(shū)籍信息表,是用來(lái)存儲(chǔ)書(shū)籍的基本信息,其數(shù)星星包括書(shū)名、作者名、書(shū)籍位置、出版社名稱(chēng)、所屬科目、是否借出、最大借閱時(shí)間等,其中自動(dòng)分配的ID和書(shū)名作為聯(lián)合主鍵,其E-R圖如下:</p><p>  圖4.3 書(shū)籍信息E-R圖</p><p>  外借書(shū)

63、籍信息表是用來(lái)存儲(chǔ)外借書(shū)籍的有關(guān)信息,通過(guò)此表格,來(lái)獲取該外借書(shū)籍的基本狀態(tài),其屬性有書(shū)籍編號(hào)、書(shū)籍名、書(shū)籍作者、最大外借時(shí)間、實(shí)際外借時(shí)間、外借時(shí)間、借閱者ID,其E-R圖如下:</p><p>  圖4.4書(shū)籍外借信息E-R圖</p><p>  對(duì)于各個(gè)實(shí)體之間的關(guān)系E-R圖如下:</p><p>  圖 4.5 實(shí)體關(guān)系圖</p><p&

64、gt;  4.1.2 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)</p><p>  依據(jù)數(shù)據(jù)庫(kù)的原理,并結(jié)合以上E-R圖,經(jīng)過(guò)轉(zhuǎn)化,即可進(jìn)行數(shù)據(jù)庫(kù)的物理設(shè)計(jì)?;谝陨蠑?shù)據(jù)庫(kù)的邏輯設(shè)計(jì),考慮程序設(shè)計(jì)的簡(jiǎn)易性,同時(shí)考慮題目的時(shí)間,該系統(tǒng)的數(shù)據(jù)庫(kù)采用Oracle簡(jiǎn)易版本建立一個(gè)數(shù)據(jù)庫(kù),在其下創(chuàng)建4個(gè)數(shù)據(jù)表,其結(jié)構(gòu)分別如下各表:</p><p>  表4-1 數(shù)據(jù)表清單</p><p>  表4

65、-2 管理員用戶(hù)信息表</p><p>  表4-3 普通用戶(hù)信息表</p><p>  表4-4 書(shū)籍信息表</p><p>  表4-5 外借書(shū)籍信息表</p><p>  第5章 模塊開(kāi)發(fā)及編碼實(shí)現(xiàn)</p><p>  5.1 服務(wù)器端的設(shè)計(jì)---搭建java web服務(wù)器</p><p>

66、;  本軟件是C/S結(jié)構(gòu)的系統(tǒng),因此要先搭建服務(wù)器端,利用Java EE中的servlet來(lái)提供服務(wù),并將其部署在Tomcat下。需要解決的是創(chuàng)建不同的servlet來(lái)提供不同的服務(wù)。</p><p>  Web服務(wù)的名稱(chēng):LibraryService</p><p>  在MyEclipse中新建一個(gè)web project,取名為L(zhǎng)ibraryService,其結(jié)構(gòu)如下圖:</p&

67、gt;<p>  圖5.1 服務(wù)器端代碼結(jié)構(gòu)</p><p>  5.2 連接數(shù)據(jù)庫(kù)模塊</p><p>  com.briup.jdbc是CVM模式中的低層,數(shù)據(jù)庫(kù)層,包中的類(lèi)是用來(lái)連接數(shù)據(jù)庫(kù)和操作數(shù)據(jù)庫(kù)的,其中JDBCConnectionFactory.java用來(lái)連接數(shù)據(jù)庫(kù)的,連接數(shù)據(jù)庫(kù)的三個(gè)變量為:</p><p>  private stat

68、ic String url;</p><p>  private static String userName;</p><p>  private static String userPwd;</p><p>  連接數(shù)據(jù)庫(kù)需要url,username,userPassword這三個(gè)值,而這三個(gè)值放入到j(luò)dbcinfo中,通過(guò)Properties來(lái)獲取,部分代碼如

69、下:</p><p>  Properties pro = new Properties();</p><p>  pro.load(new FileInputStream("E:\Myeclipse6.5 workspace\</p><p>  LibraryService\src\com\briup\jdbc\ jdbcinfo"));&l

70、t;/p><p>  url=pro.getProperty(“url”);</p><p>  userName = pro.getProperty(“userName”);</p><p>  userPwd = pro.getProperty(“userPwd”);</p><p>  new oracle.jdbc.driver.Orac

71、leDriver();</p><p>  Connection conn = DriverManager.getConnection(url,userName,userPwd);</p><p>  5.3 服務(wù)器功能模塊</p><p>  com.briup.dao是CVM模式中的Dao層,為service提供服務(wù),封裝對(duì)數(shù)據(jù)庫(kù)的操作的方法。</p>

72、;<p>  com.briup.servlet包中就各個(gè)不同的Servlet類(lèi),其具體情況如下:</p><p>  5.3.1 注冊(cè)模塊</p><p>  提供用戶(hù)注冊(cè)servlet為RegisterServlet,重寫(xiě)其doPost()和doGet()方法,該servlet是用來(lái)處理學(xué)生用戶(hù)注冊(cè)請(qǐng)求。注冊(cè)的參數(shù)有username、password、indentityi

73、d、year、gender、college,其url為:</p><p>  http://192.168.19.1:8088/LibraryService/servlet/registerservlet</p><p><b>  部分代碼如下:</b></p><p>  PrintWriter out = response.getWrit

74、er();</p><p>  String username = request.getParameter("username");</p><p>  String password = request.getParameter("password");</p><p>  String indentityid = req

75、uest.getParameter("indentityid");</p><p>  String year = request.getParameter("year");</p><p>  String gender = request.getParameter("gender");</p><p>

76、  String college = request.getParameter("college");</p><p>  LibraryDao dao =new LibraryDaoImpl();</p><p>  try {User user1=(User)dao.findByUsername(username);</p><p>  if

77、(user1!=null)</p><p>  {xml=MakeXML.makeXml("該用戶(hù)名已存在了",false);</p><p><b>  }else{</b></p><p>  User user=new User();</p><p>  user.setUsername(use

78、rname);</p><p>  user.setPassword(password);</p><p>  user.setIndentityid(indentityid);</p><p>  user.setYear(year);</p><p>  user.setGender(gender);</p><p&g

79、t;  user.setCollege(college);</p><p>  dao.save(user);</p><p>  xml=MakeXML.makeXml("恭喜您注冊(cè)成功了",true);</p><p><b>  }</b></p><p>  5.3.2 登錄模塊</p&

80、gt;<p>  提供用戶(hù)登錄的servlet為L(zhǎng)oginServlet,重寫(xiě)其doPost()和doGet()方法,該servlet是用來(lái)處理學(xué)生用戶(hù)和管理員登錄的請(qǐng)求。登錄的參數(shù)有username、password,其url為:</p><p>  http://192.168.19.1:8088/LibraryService/servlet/loginservlet</p>&l

81、t;p><b>  部分代碼如下:</b></p><p>  PrintWriter out = response.getWriter();</p><p>  System.out.println("welcome clientlogin");</p><p>  String xml=null;</p>

82、;<p><b>  //獲得帳號(hào)</b></p><p>  String flag=request.getParameter("flag").trim();</p><p>  String username = </p><p>  request.getParameter("username&

83、quot;).trim();</p><p>  String password=</p><p>  (String)request.getParameter("password").trim();</p><p>  LibraryDao dao=new LibraryDaoImpl();</p><p>  if(f

84、lag.equals("normal")){</p><p>  if(username!=null)</p><p><b>  {</b></p><p><b>  try {</b></p><p>  com.briup.pojo.User user=dao.findB

85、yUsername(username);</p><p>  if(user!=null)</p><p><b>  {</b></p><p>  if(user.getPassword().equalsIgnoreCase(password))</p><p><b>  {</b></

86、p><p>  xml=MakeXML.makeXml("恭喜您登錄成功了",true);</p><p><b>  }else{</b></p><p>  xml=MakeXML.makeXml("密碼不對(duì)",false);</p><p><b>  }</b&

87、gt;</p><p><b>  }else{</b></p><p>  xml=MakeXML.makeXml("用戶(hù)名不正確",false);</p><p><b>  }</b></p><p>  } catch (Exception e) {</p>

88、<p>  // TODO Auto-generated catch block</p><p>  System.out.println("網(wǎng)絡(luò)異常");</p><p>  out.println("<font color='red' size='5'>");</p><

89、p>  out.println("網(wǎng)絡(luò)異常</font>");</p><p><b>  }</b></p><p><b>  }</b></p><p>  }else if(flag.equals("admin")){</p><p>

90、;<b>  try {</b></p><p>  Admin admin=dao.findByAdminname(username);</p><p>  if(admin!=null)</p><p><b>  {</b></p><p>  if(admin.getPassword().e

91、quals(password))</p><p><b>  {</b></p><p>  xml=MakeXML.makeXml("恭喜您登錄成功了",true);</p><p><b>  }else{</b></p><p>  xml=MakeXML.makeXml(

92、"密碼不對(duì)",false);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else{</b></p><p>  xml=MakeXML.makeXml("用戶(hù)名不存在",f

93、alse);</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><

94、b>  }</b></p><p>  5.3.3 書(shū)籍查詢(xún)模塊</p><p>  提供特定書(shū)籍查詢(xún)servlet為findBookServlet,重寫(xiě)其doPost()和doGet()方法,該servlet是用來(lái)處理學(xué)生用戶(hù)查詢(xún)特定書(shū)籍的請(qǐng)求。查詢(xún)書(shū)籍參數(shù)有bookname、bookauthor,其url為:</p><p>  http://

95、192.168.19.1:8088/LibraryService/servlet/findbooksservlet</p><p><b>  部分代碼如下:</b></p><p>  String bookname=request.getParameter("bookname").trim();</p><p>  St

96、ring authorname=request.getParameter("authorname").trim();</p><p>  String status=request.getParameter("status").trim();</p><p>  //status 為yes表示被借出了 為no表示沒(méi)被借出沒(méi)</p>&l

97、t;p>  System.out.println("----hello i am in findBooksServlet----");</p><p>  String xml=null;</p><p>  List list=null;</p><p>  LibraryDao dao=new LibraryDaoImpl();<

98、/p><p>  if(status.equals(""))</p><p><b>  {</b></p><p><b>  try {</b></p><p>  list=dao.findBookByName(bookname, authorname);</p>

99、<p>  if(list!=null)</p><p><b>  {</b></p><p>  xml=MakeXML.makeXml(list,list.size()+"");</p><p><b>  }</b></p><p><b>  el

100、se{</b></p><p>  xml=MakeXML.makeXml(list,"抱歉圖書(shū)館沒(méi)有該書(shū)了");</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  // TODO Auto-generated

101、catch block</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }else{</b></p><p><b>  try {</b></p><p>  list=

102、dao.findBookByName(bookname, authorname,status);</p><p>  if(list!=null)</p><p><b>  {</b></p><p>  xml=MakeXML.makeXml(list,list.size()+"");</p><p&

103、gt;<b>  }</b></p><p><b>  else{</b></p><p>  xml=MakeXML.makeXml(list,"抱歉圖書(shū)館沒(méi)有該書(shū)了");</p><p><b>  }</b></p><p>  } catch (E

104、xception e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  5.3.4 特定用戶(hù)查詢(xún)模塊</p><p>  提供特

105、定用戶(hù)查詢(xún)servlet為findUserServlet,重寫(xiě)其doPost()和doGet()方法,該servlet是用來(lái)處理管理員用戶(hù)查詢(xún)特定學(xué)生用戶(hù)信息的請(qǐng)求。管理員查詢(xún)特定學(xué)生用戶(hù)參數(shù)有username,其url為:</p><p>  http://192.168.19.1:8088/LibraryService/servlet/finduserservlet</p><p>&

106、lt;b>  部分代碼如下:</b></p><p>  PrintWriter out = response.getWriter();</p><p>  String username = </p><p>  request.getParameter("username").trim();</p><p

107、>  String xml=null;</p><p>  LibraryDao dao=new LibraryDaoImpl();</p><p><b>  try {</b></p><p>  com.briup.pojo.User user=dao.findByUsername(username);</p><

108、;p>  if(user!=null)</p><p><b>  {</b></p><p><b>  try {</b></p><p>  xml=MakeXML.makeXml(user,"");</p><p>  } catch (Exception e) {

109、</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }else{</b></p><p><b>

110、;  try {</b></p><p>  xml=MakeXML.makeXml("密碼不對(duì)",false);</p><p>  } catch (Exception e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printSt

111、ackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  } catch (DataAccessException e) {</p><p>  // TODO Auto-generated catch block</p>

112、<p>  e.printStackTrace();</p><p><b>  }</b></p><p>  5.3.5 查詢(xún)所有用戶(hù)模塊</p><p>  提供所有用戶(hù)查詢(xún)servlet為findAllUserServlet,重寫(xiě)其doPost()和doGet()方法,該servlet是用來(lái)處理管理員用戶(hù)查詢(xún)所有學(xué)生用戶(hù)信

113、息的請(qǐng)求。查詢(xún)所有學(xué)生用戶(hù)信息不需要提供任何參數(shù),只需要點(diǎn)擊查詢(xún)所有按鈕便可以查詢(xún)出所有,其url為:</p><p>  http://192.168.19.1:8088/LibraryService/servlet/findalluserservlet</p><p><b>  部分代碼如下:</b></p><p>  PrintWri

114、ter out = response.getWriter();</p><p>  String xml=null;</p><p>  List list=null;</p><p>  LibraryDao dao=new LibraryDaoImpl();</p><p><b>  try {</b></p

115、><p>  list=dao.findAlluser();</p><p>  xml=MakeXML.makeXml(list,"");</p><p>  } catch (Exception e) {</p><p>  // TODO Auto-generated catch block</p><

116、;p><b>  try {</b></p><p>  xml=MakeXML.makeXml("網(wǎng)絡(luò)異常",false);</p><p>  } catch (Exception e1) {</p><p>  // TODO Auto-generated catch block</p><p

117、>  e1.printStackTrace();</p><p><b>  }</b></p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  5.3.6 添加書(shū)籍模塊</p><p>  提供管理員添

118、加書(shū)籍servlet為saveBookServlet,重寫(xiě)其doPost()和doGet()方法,該servlet是用來(lái)處理管理員用戶(hù)對(duì)新書(shū)籍進(jìn)行添加上架的請(qǐng)求。對(duì)需要上架處理的書(shū)籍需要提供參數(shù)有書(shū)籍名、書(shū)籍作者、書(shū)籍所屬科目、書(shū)籍所在位置,書(shū)籍出版社名字、最大借閱時(shí)間等參數(shù),其url為:</p><p>  http://192.168.19.1:8088/LibraryService/servlet/save

119、bookservlet</p><p><b>  部分代碼如下:</b></p><p>  PrintWriter out = response.getWriter();</p><p>  String bookname=request.getParameter("bookname").trim();</p>

120、;<p>  String authorname=request.getParameter("authorname").trim();</p><p>  String phname=request.getParameter("phname").trim();</p><p>  String location=request.getP

121、arameter("location").trim();</p><p>  String category=request.getParameter("category").trim();</p><p>  //String status=request.getParameter("status").trim();</p

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論