課程設(shè)計(jì) J2ME圖書(shū)館無(wú)線(xiàn)輔助管理系統(tǒng)_第1頁(yè)
課程設(shè)計(jì) J2ME圖書(shū)館無(wú)線(xiàn)輔助管理系統(tǒng)_第2頁(yè)
課程設(shè)計(jì) J2ME圖書(shū)館無(wú)線(xiàn)輔助管理系統(tǒng)_第3頁(yè)
課程設(shè)計(jì) J2ME圖書(shū)館無(wú)線(xiàn)輔助管理系統(tǒng)_第4頁(yè)
課程設(shè)計(jì) J2ME圖書(shū)館無(wú)線(xiàn)輔助管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(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、j2mej2me 課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告 j2mej2me 圖書(shū)館無(wú)線(xiàn)輔助管理系統(tǒng)圖書(shū)館無(wú)線(xiàn)輔助管理系統(tǒng) 專(zhuān)專(zhuān) 業(yè):業(yè): 班班 級(jí):級(jí): 組組 號(hào):號(hào): 指導(dǎo)教師:指導(dǎo)教師: 二二 0000 九年九年 月月 日日 j2mej2me 圖書(shū)館無(wú)線(xiàn)輔助管理系統(tǒng)圖書(shū)館無(wú)線(xiàn)輔助管理系統(tǒng) 摘摘 要要 隨著 3g 時(shí)代的到來(lái),3g 無(wú)線(xiàn)網(wǎng)絡(luò)規(guī)模逐漸擴(kuò)大,移動(dòng)電子通訊設(shè)備將不 僅僅只是打電話(huà)和發(fā)短信的工具,屆時(shí)將會(huì)有更多的更豐富的移動(dòng)應(yīng)用程序應(yīng) 用在移動(dòng)電子通訊設(shè)備的終端上,而移動(dòng)商務(wù)以及移動(dòng)辦公作為 3g 無(wú)線(xiàn)網(wǎng)絡(luò) 傳輸應(yīng)用的重要分支,將會(huì)廣泛地流行起來(lái)。 本系統(tǒng)為圖書(shū)館文獻(xiàn)查詢(xún)輔助系統(tǒng)(手機(jī)客戶(hù)端) ,

2、使用 c/s 結(jié)構(gòu),實(shí)現(xiàn)了 無(wú)線(xiàn)網(wǎng)絡(luò)傳輸 http 協(xié)議、udp 傳輸協(xié)議、以及套接字傳輸協(xié)議。本文完整地 描述了在 eclipse 平臺(tái)應(yīng)用 j2me 技術(shù),利用 tomcat 服務(wù)器,使用 oracle 數(shù) 據(jù)庫(kù),開(kāi)發(fā)本手機(jī)軟件的過(guò)程。其中主要涉及的技術(shù)有java servlet 技術(shù)、java socket 技術(shù)等。第一章介紹了系統(tǒng)背景,使用的開(kāi)發(fā)平臺(tái)及主要技術(shù),對(duì)論文中 術(shù)語(yǔ)的約定;第二章介紹了系統(tǒng)需求及系統(tǒng)的設(shè)計(jì)方案;第三章介紹了系統(tǒng)具 體實(shí)現(xiàn),并描述一些關(guān)鍵性技術(shù)和核心模塊的設(shè)計(jì);第四章介紹了對(duì)本系統(tǒng)進(jìn) 行的測(cè)試及測(cè)試結(jié)果。 關(guān)鍵詞:關(guān)鍵詞:j2me;無(wú)線(xiàn)網(wǎng)絡(luò)傳輸;gcf;http

3、;移動(dòng)圖書(shū)館 目目 錄錄 論文總頁(yè)數(shù):42 頁(yè) 1引言.1 1.1系統(tǒng)背景 .1 1.2開(kāi)發(fā)平臺(tái) .1 1.2.1eclipse.1 1.2.2eclipse me.2 1.2.3proguard.2 1.2.4tomcat.3 1.2.5oracle 10g.3 1.2.6rational rose.3 1.3主要技術(shù) .4 1.3.1j2me 技術(shù).4 1.3.2gcf 框架.5 1.3.3rsm.5 1.3.4mvc.5 1.3.5javabean 技術(shù).6 1.3.6java servlet 技術(shù).6 1.3.7java socket 技術(shù).7 1.4術(shù)語(yǔ)與縮寫(xiě)解釋 .7 2需求分析及

4、項(xiàng)目方案.8 2.1目標(biāo) .8 2.2假定和約束 .8 2.3需求規(guī)定 .8 2.3.1對(duì)新能的規(guī)定.8 2.3.2對(duì)性能的規(guī)定.8 2.3.3輸入輸出要求.9 2.4數(shù)據(jù)結(jié)構(gòu)及表的定義 .9 2.5運(yùn)行環(huán)境規(guī)定 .13 2.5.1設(shè)備.13 2.5.2支持軟件.13 3項(xiàng)目設(shè)計(jì)及開(kāi)發(fā).14 3.1整體框架 .14 3.1.1系統(tǒng)總體結(jié)構(gòu)圖.14 3.1.2系統(tǒng)總體流程圖.15 3.2程序核心功能 .15 3.2.1 讀者信息查詢(xún)(借閱查詢(xún)).15 3.2.2讀者信息查詢(xún)(密碼修改).18 3.2.3書(shū)刊檢索.20 3.2.4公告查詢(xún)(查詢(xún)新書(shū)發(fā)布).23 3.2.5書(shū)籍信息修改(查詢(xún)書(shū)籍增訂

5、信息).24 3.2.6書(shū)籍信息修改(新書(shū)發(fā)布).27 3.2.7書(shū)籍信息修改(舊書(shū)刪除).29 3.2.8管理員信息查詢(xún)(密碼修改).31 3.2.9書(shū)籍討論區(qū).32 3.2.10 幫助.34 3.3兼容性 .35 3.4打包與混淆 .35 3.5特殊問(wèn)題與解決方法 .36 3.5.1書(shū)籍討論區(qū)同名用戶(hù)的處理.36 3.5.2midlet 與 servlet 的通訊.37 4結(jié)果測(cè)試及性能分析.37 4.1測(cè)試思路 .37 4.2測(cè)試結(jié)果 .38 結(jié) 束 語(yǔ).39 參考文獻(xiàn).40 致 謝.41 聲 明.42 第 1 頁(yè) 共 42 頁(yè) 1 1引言引言 3g,是指第三代移動(dòng)通訊技術(shù)。隨著 3g

6、的到來(lái),移動(dòng)終端不僅僅是打電話(huà), 發(fā)短信的工具,屆時(shí)會(huì)有更多豐富的移動(dòng)應(yīng)用程序出現(xiàn)。國(guó)家工信部 3g 牌照已 經(jīng)正式發(fā)放,標(biāo)志著中國(guó) 3g 元年的到來(lái),現(xiàn)已經(jīng)有多家 3g 網(wǎng)絡(luò)牌照運(yùn)營(yíng)商進(jìn) 行發(fā)放 3g 牌照,3g 網(wǎng)絡(luò)已經(jīng)正式覆蓋全國(guó)多個(gè)省會(huì)城市,將有多家移動(dòng)網(wǎng)絡(luò) 門(mén)戶(hù)運(yùn)營(yíng)商提供低費(fèi)用高傳輸速度的無(wú)線(xiàn)網(wǎng)絡(luò)服務(wù)。移動(dòng)商務(wù),移動(dòng)辦公作為 無(wú)線(xiàn)網(wǎng)絡(luò)傳輸應(yīng)用的重要分支,將會(huì)廣泛流行。無(wú)線(xiàn)網(wǎng)絡(luò)傳輸程序包括 http 協(xié) 議下的 web 頁(yè)面數(shù)據(jù)傳輸,基于 udp 傳輸協(xié)議的數(shù)據(jù)包傳輸,基于套接字連接 的數(shù)據(jù)傳輸。在這三種無(wú)線(xiàn)網(wǎng)絡(luò)傳輸基礎(chǔ)上設(shè)計(jì)實(shí)現(xiàn)的手機(jī)程序,將在 3g 廣泛 盛行起來(lái)的同時(shí),發(fā)揮出重大

7、作用,提高人們的生活水平和生活質(zhì)量。 1.11.1 系統(tǒng)背景系統(tǒng)背景 本程序的設(shè)計(jì)實(shí)現(xiàn)了 http 協(xié)議,udp 傳輸協(xié)議,套接字傳輸協(xié)議。本作品 采用移動(dòng)無(wú)線(xiàn)網(wǎng)絡(luò)傳輸?shù)膱D書(shū)館輔助系統(tǒng)(手機(jī)客戶(hù)端)的形式整體實(shí)現(xiàn)了上 述協(xié)議,并且具有使用價(jià)值,因?yàn)楝F(xiàn)在移動(dòng)通訊使用的范圍已經(jīng)愈來(lái)愈廣泛, 移動(dòng)手機(jī)的用戶(hù)界面也越來(lái)越友好,移動(dòng)通訊的網(wǎng)絡(luò)傳輸質(zhì)量也越來(lái)越優(yōu)越, 所以使用手機(jī)客戶(hù)端的形式將用戶(hù)從繁瑣的計(jì)算機(jī)使用中解脫出來(lái),使得用戶(hù) 能在隨時(shí)隨地登入到圖書(shū)館系統(tǒng),進(jìn)行自己期望的操作;而且同時(shí)也使得管理 員對(duì)圖書(shū)館的管理越來(lái)越靈活,提高了管理員的能動(dòng)性,加快了對(duì)書(shū)籍的整合 和管理的效率。本作品主要采用 j

8、2me 技術(shù)進(jìn)行設(shè)計(jì)和實(shí)現(xiàn),因?yàn)?udp 協(xié)議的實(shí) 現(xiàn)與套接字傳輸協(xié)議的實(shí)現(xiàn)基本一致,所以在設(shè)計(jì)程序時(shí),考慮到時(shí)間以及程 序模塊的因素,將其縮減。 1.21.2 開(kāi)發(fā)平臺(tái)開(kāi)發(fā)平臺(tái) 本作品的開(kāi)發(fā)平臺(tái)為 eclipse3.2 + eclipseme1.2.1 + jdk1.6 + wireless toolkit 2.5 + proguard3.6,模擬測(cè)試平臺(tái)為 wtk 模擬器,真機(jī)測(cè) 試平臺(tái)為諾基亞 5300。 .1 eclipseeclipse eclipse 是替代 ibm visual age for java(以下簡(jiǎn)稱(chēng) ivj)的下一代 ide 開(kāi)發(fā)環(huán)境,但它未來(lái)的目標(biāo)

9、不僅僅是成為專(zhuān)門(mén)開(kāi)發(fā) java 程序的 ide 環(huán)境,根據(jù) eclipse 的體系結(jié)構(gòu),通過(guò)開(kāi)發(fā)插件,它能擴(kuò)展到任何語(yǔ)言的開(kāi)發(fā),甚至能成 為圖片繪制的工具。更難能可貴的是 eclipse 是一個(gè)開(kāi)放源代碼的項(xiàng)目,任何 人都可以下載 eclipse 的源代碼,并且在此基礎(chǔ)上開(kāi)發(fā)自己的功能插件。也就 是說(shuō)未來(lái)只要有人需要,就會(huì)有建立在 eclipse 之上的 cobol,perl,python 等語(yǔ)言的開(kāi)發(fā)插件出現(xiàn)。同時(shí)可以通過(guò)開(kāi)發(fā)新的插件擴(kuò)展現(xiàn)有插件的功能,比 第 2 頁(yè) 共 42 頁(yè) 如在現(xiàn)有的 java 開(kāi)發(fā)環(huán)境中加入 tomcat 服務(wù)器插件??梢詿o(wú)限擴(kuò)展,而且有 著統(tǒng)一的外觀,操作和系統(tǒng)

10、資源管理,這也正是 eclipse 的潛力所在。在本項(xiàng) 目中,eclipse 正是通過(guò)第三方插件eclipse me 實(shí)現(xiàn)了開(kāi)發(fā) j2me 應(yīng)用。 .2 eclipseeclipse meme eclipseme 是幫助你開(kāi)發(fā) j2me midlet 的 eclipse 插件。 eclipseme 幫助 你輕松的把無(wú)線(xiàn)工具包整合到 eclipse 開(kāi)發(fā)環(huán)境中,使你不必再擔(dān)心 j2me 開(kāi)發(fā) 有何特殊需求,而可以把所有精力集中在應(yīng)用開(kāi)發(fā)上。eclipseme 提供了下列 功能以幫助開(kāi)發(fā)者輕松的創(chuàng)建 midlets: 無(wú)線(xiàn)工具包首選項(xiàng) 創(chuàng)建新的 j2me midlet 套件項(xiàng)目 創(chuàng)

11、建新的 midlet java 應(yīng)用描述文件(jad)編輯器 對(duì) class 文件進(jìn)行增量的/自動(dòng)的預(yù)檢驗(yàn) 支持從 eclipse 中啟動(dòng)運(yùn)行 j2me 模擬器 打包以及部署(包括無(wú)線(xiàn)下載方式)測(cè)試,可以使用 proguard 對(duì)輸出 包進(jìn)行混淆 .3 proguardproguard proguard 是一個(gè)出色的混淆器,用以增加程序被破譯的難度,并可以減小 最后生成 jar 的體積,proguard,除了在壓縮操作刪除的無(wú)用類(lèi)、字段和方法 外,也能在字節(jié)碼級(jí)提供性能優(yōu)化,內(nèi)部方法有: 常量表達(dá)式求值 刪除不必要的字段存取 刪除不必要的方法調(diào)用 刪除不必要的分支 刪除不必要的

12、比較和 instanceof 驗(yàn)證 刪除未使用的代碼 刪除只寫(xiě)字段 刪除未使用的方法參數(shù) 像 push/pop 簡(jiǎn)化一樣的各種各樣的 peephole 優(yōu)化 在可能的情況下為類(lèi)添加 static 和 final 修飾符 在可能的情況下為方法添加 private, static 和 final 修飾符 在可能的情況下使 get/set 方法成為內(nèi)聯(lián)的 當(dāng)接口只有一個(gè)實(shí)現(xiàn)類(lèi)的時(shí)候,就取代它 選擇性的刪除日志代碼 第 3 頁(yè) 共 42 頁(yè) .4 tomcattomcat tomcat 服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的 web 應(yīng)用服務(wù)器,tomcat 是 apache 軟件基金會(huì)(ap

13、ache software 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)?tomcat 技術(shù)先進(jìn)、 性能穩(wěn)定,而且免費(fèi),因而深受 java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商 的認(rèn)可,成為目前比較流行的 web 應(yīng)用服務(wù)器。 tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪(fǎng)問(wèn)用戶(hù)不 是很多的場(chǎng)合下被普遍使用

14、,是開(kāi)發(fā)和調(diào)試 jsp 程序的首選。對(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)運(yùn)行 tomcat 時(shí),它實(shí)際上作為一個(gè)與 apache 獨(dú)立的進(jìn) 程單獨(dú)運(yùn)行的。 本系統(tǒng)采用 tomcat 服務(wù)器,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好, 支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn) 和完善中。手機(jī)客戶(hù)端可以通過(guò)與 tomcat 的訪(fǎng)問(wèn)連接來(lái)實(shí)現(xiàn)各個(gè)模塊功能。 .5 oracleoracle

15、10g10g oracle database 10g 提供了 4 個(gè)版本分別是 oracle database 10g 標(biāo)準(zhǔn) 版 1、oracle database 10g 標(biāo)準(zhǔn)版、oracle database 10g 企業(yè)版和 oracle database 10g 個(gè)人版。提供了一系列常見(jiàn)的應(yīng)用程序開(kāi)發(fā)功能,包括與 sql 對(duì) 象相關(guān)的功能、用于編寫(xiě)存儲(chǔ)過(guò)程和觸發(fā)器的 pl/sql 語(yǔ)言和 java 編程接口。 企業(yè)版還提供了額外的性能、可伸縮性、可用性、和安全性,這些功能一般對(duì) 應(yīng)用程序開(kāi)發(fā)人員是透明的。oracle database 10g 企業(yè)版主持的 api,oracle dat

16、abase 10g 個(gè)人版和標(biāo)準(zhǔn)版也支持。oracle database 10g 產(chǎn) 品全部是用同一個(gè)健壯和可靠地?cái)?shù)據(jù)庫(kù)引擎體系結(jié)構(gòu)構(gòu)建的。在許多不同的平 臺(tái)上,oracle database 10g 標(biāo)準(zhǔn)版和 oracle database 10g 個(gè)人版都和 oracle database 10g 企業(yè)版完全兼容,因此用戶(hù)的數(shù)據(jù)庫(kù)應(yīng)用程序可以從筆 記本電腦簡(jiǎn)單地?cái)U(kuò)展到臺(tái)式電腦,然后再擴(kuò)展到整個(gè)企業(yè)網(wǎng)絡(luò),而不需要重新 設(shè)計(jì)。 1.2.6rationalrational rosrose rational rose 是一個(gè)完全的,具有能滿(mǎn)足所有建模環(huán)境需求能力和靈活 性的一套解決方案。rose

17、允許開(kāi)發(fā)人員,項(xiàng)目經(jīng)理,系統(tǒng)工程師和分析人員在 軟件開(kāi)發(fā)周期內(nèi)在將需求和系統(tǒng)的體系架構(gòu)轉(zhuǎn)換成代碼,消除浪費(fèi)的消耗,對(duì) 第 4 頁(yè) 共 42 頁(yè) 需求和系統(tǒng)的體系架構(gòu)進(jìn)行可視化,理解和精練。通過(guò)在軟件開(kāi)發(fā)周期內(nèi)使用 同一種建模工具可以確保更快更好的創(chuàng)建滿(mǎn)足客戶(hù)需求的可擴(kuò)展的、靈活的并 且可靠的應(yīng)用系統(tǒng)。 rose 是美國(guó)的 rational 公司的面向?qū)ο蠼9ぞ?,利用這個(gè)工具,可以 建立用 uml 描述的軟件系統(tǒng)的模型,而且可以自動(dòng)生成和維護(hù) c+、java、vb 和 oracle 等語(yǔ)言和系統(tǒng)的代碼。rational rose 包括了統(tǒng)一建模語(yǔ)言(uml) , oose,以及 omt。本系統(tǒng)

18、采用 rose 進(jìn)行 uml 用例建模。 1.31.3 主要技術(shù)主要技術(shù) 本作品分為服務(wù)器端和手機(jī)客戶(hù)端兩個(gè)部分,采用 c/s 結(jié)構(gòu)設(shè)計(jì)系統(tǒng),采 用 gcf 框架中定義的網(wǎng)絡(luò)連接類(lèi)和方法,制定雙方都能理解的協(xié)議來(lái)交換數(shù)據(jù), 前后臺(tái)通過(guò) servlet 進(jìn)行數(shù)據(jù)傳輸及頁(yè)面顯示,整個(gè)系統(tǒng)采用 mvc 模式進(jìn)行模 塊劃分,實(shí)現(xiàn)界面和模型數(shù)據(jù)的分離,結(jié)構(gòu)清晰,便于維護(hù)。 1.3.1j2me 技術(shù)技術(shù) java 技術(shù)是一系列產(chǎn)品的集合,目前主要包括 java2 平臺(tái)標(biāo)準(zhǔn)版(java 2 platform standard edition, j2se) 、java2 平臺(tái)企業(yè)版(java 2 platfo

19、rm enterprise edition, j2ee) 、java2 平臺(tái)微型版(java 2 platform micro edition, j2me)和 java 卡平臺(tái)。 j2me 為運(yùn)行在嵌入式消費(fèi)類(lèi)電子產(chǎn)品的設(shè)備,如移動(dòng)電話(huà)、pda、游戲終 端之上的應(yīng)用程序提供了一個(gè)健壯的、靈活的環(huán)境。與 j2se、j2ee 和 java card 一樣,j2me 同樣包含一個(gè)小型的虛擬機(jī)和一系列的 java api。j2me 還 提供了靈活的圖形用戶(hù)界面、健壯的安全模型、廣泛的聯(lián)網(wǎng)協(xié)議支持。目前 j2me 平臺(tái)已經(jīng)部署到上億個(gè)的設(shè)備上,前景非常看好。 j2me 平臺(tái)由多種配置(configura

20、tion) 、簡(jiǎn)表(profile)和可選包 (optionalpackage)組成。平臺(tái)的實(shí)現(xiàn)者和應(yīng)用程序的開(kāi)發(fā)者可以從中選擇并 組合出一個(gè)完整的 java 運(yùn)行環(huán)境來(lái)滿(mǎn)足特定范圍內(nèi)的設(shè)備需求。每種組合都應(yīng) 該使這一系列設(shè)備的內(nèi)存、處理器和 i/o 能力達(dá)到最優(yōu)化。 本系統(tǒng)選擇的配置是 cldc,選擇的簡(jiǎn)表是 mipd v2.0.主要原因:cldc 使 用 kvm 虛擬機(jī),面向處理能力較小的移動(dòng)設(shè)備。在類(lèi)的集合方面,只保留了一 些基本的必要類(lèi),可我們能夠通過(guò)簡(jiǎn)表進(jìn)行補(bǔ)充。mipd 是目前 j2me 平臺(tái)上發(fā) 展最成熟、應(yīng)用最廣泛的簡(jiǎn)表,專(zhuān)門(mén)針對(duì)移動(dòng)電話(huà)或者 pda,mipd v1.0 版本的

21、 功能包括應(yīng)用程序下載、網(wǎng)絡(luò)連接和傳輸、數(shù)據(jù)庫(kù)存儲(chǔ)、計(jì)時(shí)器和用戶(hù)界面; mipd v2.0 版本擴(kuò)展功能包括應(yīng)用下載的計(jì)費(fèi)、網(wǎng)絡(luò)安全傳輸、數(shù)字簽名、域 的安全模式、注冊(cè)和音頻處理。目前大多數(shù)移動(dòng)手機(jī)都支持 mipd v2.0 的簡(jiǎn)表。 第 5 頁(yè) 共 42 頁(yè) .2 gcf 框架框架 gcf(通用連接框架 generic connection framework)是基于 cldc 及其對(duì) 應(yīng)簡(jiǎn)表,提供了各種連接的基礎(chǔ) api,包括基于數(shù)據(jù)包和基于數(shù)據(jù)流的輸入/輸 出方法。它按照層次的形式組織各種連接接口,使用 url 表示不同的連接。通 用連接框架定義了 7 種接口:conne

22、ction 接口、cintentconnection 接口、 datagramconnection 接口、inputconnection 接口,outputconnection 接口, streamconnection 接口和 streamconnectionnotifier 接口。connection 接口是所 有接口的基類(lèi),它產(chǎn)生了用于數(shù)據(jù)包連接的 datagramconnection 連接接口、用 于數(shù)據(jù)流連接的 inputconnection 接口、outputconnection 接口和 streamconnectionnotifier 接口。其中 streamconnection

23、接口繼承自數(shù)據(jù)流連接 的輸入/輸出接口,并派生了用于數(shù)據(jù)內(nèi)容解析的 cintentconnection 接口。 gcf 是一個(gè)容易擴(kuò)展的框架結(jié)構(gòu),用戶(hù)可以根據(jù)自身的需要在現(xiàn)有的類(lèi)和 接口上建立自己的類(lèi)或者實(shí)現(xiàn)自己的接口。 1.3.3rsm rms(記錄管理系統(tǒng) record management system)類(lèi)似于普通計(jì)算機(jī)的文 件管理系統(tǒng)。在手持電子設(shè)備中,用以統(tǒng)一的機(jī)制管理持續(xù)性存儲(chǔ)資源。記錄 管理系統(tǒng)具有數(shù)據(jù)庫(kù)管理系統(tǒng)的特征,即記錄管理系統(tǒng)組織數(shù)據(jù)是按照行列的 方式進(jìn)行組織的,每條信息在記錄管理系統(tǒng)中都表現(xiàn)為一條記錄,類(lèi)似于數(shù)據(jù) 庫(kù)一行,每一條記錄可以包含多個(gè)數(shù)據(jù),類(lèi)似于數(shù)據(jù)庫(kù)某一行中

24、的多列。我們 可以通過(guò)添加記錄的方式將數(shù)據(jù)持久地保存在記錄管理系統(tǒng)中;通過(guò)刪除記錄 的方式刪除信息;同時(shí)記錄管理系統(tǒng)還允許為你們對(duì)記錄進(jìn)行排序和查找。記 錄管理系統(tǒng)允許以下操作: 創(chuàng)建記錄存儲(chǔ)器; 在已建立的記錄存儲(chǔ)器中添加記錄; 在已建立的記錄存儲(chǔ)器中刪除已經(jīng)存在的記錄; 在已建立的記錄存儲(chǔ)器中讀取已經(jīng)存在的記錄; 在已建立的記錄存儲(chǔ)器中建立枚舉器; 在已建立的記錄存儲(chǔ)器中建立比較器; 在已建立的記錄存儲(chǔ)器中建立篩選去。 1.3.4mvc mvc 是一種設(shè)計(jì)模式,強(qiáng)制把應(yīng)用程序的輸入、處理和輸出分開(kāi)。mvc 把應(yīng) 用程序分為三個(gè)核心模塊:模型、視圖和控制器,他們分別負(fù)擔(dān)不同的任務(wù)。 盡管構(gòu)造

25、 mvc 應(yīng)用程序需要一些額外的操作,但是給我們帶來(lái)的好處是毋庸置 疑的。 第 6 頁(yè) 共 42 頁(yè) 首先,多個(gè)視圖能共享一個(gè)模型。在 mvc 設(shè)計(jì)模式中,模型響應(yīng)用戶(hù)請(qǐng)求 并返回響應(yīng)數(shù)據(jù),視圖負(fù)責(zé)格式化數(shù)據(jù)并把它們呈現(xiàn)給用戶(hù),業(yè)務(wù)邏輯和表示 層分離,同一個(gè)模型可以被不同的視圖重同,所以大大提高了代碼的可重用性。 其次,模型是自包含的,與控制器和視圖保持相對(duì)獨(dú)立,所以可以方便地 改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。由于 mvc 的三個(gè)模塊相互獨(dú)立,改變其中 一個(gè)不會(huì)影響到其他兩個(gè),因此依據(jù)這種設(shè)計(jì)思想能構(gòu)造良好的松耦合的構(gòu)件。 此外,控制器提高了應(yīng)用程序的靈活性和可配置性。控制器可以用來(lái)連接 不同

26、的模型和視圖去完成用戶(hù)的需求,也可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手 段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶(hù)的需求選擇適當(dāng)?shù)哪?型進(jìn)行處理,然后選擇適當(dāng)?shù)囊晥D將處理結(jié)果顯示給用戶(hù)。 .5 javabeanjavabean 技術(shù)技術(shù) javabeans 是一個(gè)類(lèi),它有無(wú)參的構(gòu)造函數(shù),并且遵從 javabeans 的命名 約定。bean 的屬性可以通過(guò)獲?。╣etter)方法和設(shè)置方法(setter)來(lái)訪(fǎng)問(wèn), 這兩個(gè)方法統(tǒng)稱(chēng)為 bena 的存取方法,每一個(gè)單詞的首字母都要大寫(xiě)。除了簡(jiǎn)單 的屬性外,bean 還可以有多值屬性,多值屬性是由一個(gè)任意類(lèi)型的數(shù)組組成。 在規(guī)范中這稱(chēng)

27、為索引的屬性。 javabeans 技術(shù)能實(shí)現(xiàn)封裝數(shù)據(jù),實(shí)現(xiàn)對(duì)代碼的重用。javabeans 技術(shù),涉 及到組件構(gòu)件技術(shù),是 java 的核心基礎(chǔ)部分。很多軟件設(shè)計(jì)模式都是通過(guò) javabeans 實(shí)現(xiàn)的。javabeans 具有以下特性: 內(nèi)透性 指一個(gè)類(lèi)的信息,都可以被另一個(gè)類(lèi)獲知。javabeans 遵循 某種命名規(guī)則,這樣外部類(lèi)就可以知道這個(gè) bean 類(lèi)。 支持自定義 屬性的方法用來(lái)對(duì) javabeans 進(jìn)行自定義 支持事件 支持屬性 支持永久性 .6 javajava servletservlet 技術(shù)技術(shù) servlet 是與平臺(tái)無(wú)關(guān)的服務(wù)器端組件,可以運(yùn)行在

28、servlet 容器中。 servlet 容器負(fù)責(zé) servlet 和客戶(hù)的通信以及調(diào)用 servlet 的方法。servlet 和 客戶(hù)的通信采用“請(qǐng)求/響應(yīng)”的模式。 servlet 的框架是有兩個(gè) java 包組成的javax.servlet 和 java.servlet.http。在 javax.servelt 包中定義了所有的 servlet 類(lèi)都必須實(shí) 現(xiàn)或擴(kuò)展的通訊接口和類(lèi)。在 javax.servlet.http.包中定義了采用 http 協(xié)議 第 7 頁(yè) 共 42 頁(yè) 通信的 htttpservlet 類(lèi)。 servlet 的技術(shù)特點(diǎn)有以下幾個(gè)方面: java servlet

29、 技術(shù)具有 java 技術(shù)的所有優(yōu)點(diǎn)。 java servlet 技術(shù)要比傳統(tǒng)的 cgi 技術(shù)效率更高。傳統(tǒng)的 gci 技術(shù)對(duì) 于每個(gè) http 請(qǐng)求都要產(chǎn)生一個(gè)新進(jìn)程。servlet 技術(shù)對(duì)于每一個(gè)請(qǐng)求 產(chǎn)生 java 線(xiàn)程來(lái)響應(yīng)。 java servlet 技術(shù)要比傳統(tǒng)的 cgi 技術(shù)更強(qiáng)大。java servlet 能方便 的處理 html 表單數(shù)據(jù),能夠讀取和設(shè)置 http 頭信息,并且能夠處理 cookies,跟蹤 session 等其他功能。 java servlet 是模塊化的。每一個(gè) servlet 可以執(zhí)行一個(gè)特定的任務(wù), 并且可以講他們并在一起工作。 java servle

30、t 之間能共享數(shù)據(jù)。 java servlet 技術(shù)要比傳統(tǒng) cgi 技術(shù)更安全。 .7 javajava socketsocket 技術(shù)技術(shù) socket 通常也稱(chēng)作套接字,用于描述 ip 地址和端口,是一個(gè)通信鏈的 句柄。應(yīng)用程序通常通過(guò)套接字向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求。socket 是網(wǎng)絡(luò)應(yīng)用程序的核心,在服務(wù)器端或客戶(hù)端網(wǎng)絡(luò)應(yīng)用程序中,皆為不可缺少 的要素。它主要包括 serversocket 和 socket。 serversocket 用于服務(wù)器端,socket 是建立網(wǎng)絡(luò)連接時(shí)使用的。在連接成 功時(shí),應(yīng)用程序兩端都會(huì)產(chǎn)生一個(gè) socket 實(shí)例,操作這個(gè)實(shí)例,

31、完成所需的會(huì) 話(huà)。對(duì)于一個(gè)網(wǎng)絡(luò)連接來(lái)說(shuō), 套接字是平等的,并沒(méi)有差別,不因?yàn)樵诜?wù)器 端或在客戶(hù)端而產(chǎn)生不同級(jí)別。不管是 socket 還是 serversocket 它們的工作 都是通過(guò) socketimpl 類(lèi)及其子類(lèi)完成的。 1.41.4 術(shù)語(yǔ)與縮寫(xiě)解釋術(shù)語(yǔ)與縮寫(xiě)解釋 kvm:全稱(chēng) kilobyte virtual machine,j2me 虛擬機(jī); ide:全稱(chēng) integrated development environment,集成開(kāi)發(fā)環(huán)境; wtk: 全稱(chēng) wireless toolkit,是 sun 公司發(fā)布的 j2me 應(yīng)用開(kāi)發(fā)套件; midlet:一個(gè) midp 應(yīng)用程序稱(chēng)

32、作 midletmidp 小應(yīng)用程序,這個(gè) 概念與 j2se 中的 applet 十分類(lèi)似; apiapplication programming interface 應(yīng)用程序編程接口; midpmobile information device profile 移動(dòng)信息設(shè)備簡(jiǎn)表; cldcconnected limited device configuration 有限無(wú)線(xiàn)設(shè)備配置; uiuser interface 用戶(hù)界面; httphypertext transfer protocol 超文本傳輸協(xié)議; 第 8 頁(yè) 共 42 頁(yè) udpuser datagram protocol 用戶(hù)

33、數(shù)據(jù)報(bào)協(xié)議; socket套接字,用于描述 ip 地址和端口,是一個(gè)通信鏈的句柄。 2 2需求分析及項(xiàng)目方案需求分析及項(xiàng)目方案 2.12.1 目標(biāo)目標(biāo) 基于無(wú)線(xiàn)網(wǎng)絡(luò)傳輸?shù)膱D書(shū)館輔助系統(tǒng)(手機(jī)客戶(hù)端)使用 c/s 結(jié)構(gòu),實(shí)現(xiàn) 無(wú)線(xiàn)網(wǎng)絡(luò)傳輸下的 http 協(xié)議和套接字協(xié)議進(jìn)行數(shù)據(jù)傳輸。系統(tǒng)分為服務(wù)器端和 手機(jī)客戶(hù)端兩個(gè)部分,其中服務(wù)器端提供模擬學(xué)校網(wǎng)上圖書(shū)館功能,提供數(shù)據(jù) 存儲(chǔ)的服務(wù)器終端。手機(jī)客戶(hù)端包括讀者登入和管理員登入兩個(gè)模塊,讀者用 戶(hù)可以進(jìn)行借閱書(shū)籍基本信息查看,書(shū)刊續(xù)借,密碼修改,書(shū)刊信息查詢(xún),書(shū) 刊增訂;管理員用戶(hù)可以進(jìn)行書(shū)籍信息修改,個(gè)人信息查詢(xún)。還設(shè)置書(shū)籍討論 區(qū)公共模塊,管理員

34、用戶(hù)和讀者用戶(hù)可以進(jìn)行書(shū)籍的交互討論。 2.22.2 假定和約束假定和約束 本系統(tǒng)軟件是在模擬器上模擬實(shí)現(xiàn)輔助圖書(shū)館的管理的客戶(hù)端軟件,因?yàn)?使用者是該校學(xué)生或者老師,所以學(xué)校已經(jīng)分配給每個(gè)用戶(hù)以用戶(hù)名和密碼, 所以沒(méi)有設(shè)置用戶(hù)注冊(cè)模塊;此外,本系統(tǒng)主要實(shí)現(xiàn)手機(jī)客戶(hù)端與后臺(tái)服務(wù)器 之間的數(shù)據(jù)傳輸,提供了模擬的服務(wù)接口,所以服務(wù)器端數(shù)據(jù)庫(kù)設(shè)計(jì)為個(gè)人理 想狀態(tài)下設(shè)計(jì),忽略了繁瑣的數(shù)據(jù)訪(fǎng)問(wèn)機(jī)制;最后由于是手機(jī)客戶(hù)端難免受到 手機(jī)軟硬件的限制,將重點(diǎn)放在實(shí)現(xiàn)系統(tǒng)功能以及界面設(shè)計(jì)方面,降低了物理 層的無(wú)線(xiàn)承載能力的要求。 2.32.3 需求規(guī)定需求規(guī)定 .1 對(duì)新能的規(guī)定對(duì)新能的規(guī)定 對(duì)

35、精度的規(guī)定:用戶(hù)應(yīng)按照界面提示輸入數(shù)據(jù),后臺(tái)代碼提供了對(duì)數(shù)據(jù)精 度出錯(cuò)提供了一定得處理功能。 時(shí)間性要求:對(duì)于一般的頁(yè)面操作,延時(shí)可忽略不計(jì)。但如果涉及網(wǎng)絡(luò)數(shù) 據(jù)請(qǐng)求、傳輸,或者用戶(hù)進(jìn)行的操作相當(dāng)耗費(fèi) cpu 的時(shí)候,延時(shí)會(huì)很明顯。如 果某項(xiàng)操作耗費(fèi)時(shí)間已經(jīng)超過(guò) 1 分鐘還沒(méi)結(jié)束,用戶(hù)應(yīng)自行決定放棄此操作或 退出本軟件。 靈活性要求:系統(tǒng)采用視圖、模型、控制器分離設(shè)計(jì),增加了系統(tǒng)訪(fǎng)問(wèn)的 靈活性和可理解性,更方便了系統(tǒng)后天的維護(hù),通過(guò)增加系統(tǒng)的通訊協(xié)議可快 速對(duì)系統(tǒng)進(jìn)行功能增加。 2.3.2對(duì)性能的規(guī)定對(duì)性能的規(guī)定 本系統(tǒng)具體功能需求如表 1-1 所示: 第 9 頁(yè) 共 42 頁(yè) 表 1-1 功

36、能需求表 序 號(hào) 模塊名稱(chēng)功能名稱(chēng)簡(jiǎn)要描述 書(shū)刊檢索 用戶(hù)輸入期望查詢(xún)的書(shū)籍名稱(chēng),若有館藏書(shū)籍,將返回 書(shū)籍列表,選擇書(shū)籍目錄,可以查詢(xún)相應(yīng)書(shū)籍的基本信 息;若沒(méi)有館藏書(shū)籍,用戶(hù)可以選擇“書(shū)刊增訂” ,輸入 書(shū)籍名稱(chēng),就可以將期望增訂的書(shū)籍提交給管理員,管 理員就可以根據(jù)需求增加書(shū)籍。 讀者信息查詢(xún) 用戶(hù)可以查詢(xún)個(gè)人基本信息;可以查詢(xún)個(gè)人借閱書(shū)籍列 表,若所借書(shū)籍還在借閱期內(nèi),可以點(diǎn)擊“續(xù)借” ,向圖 書(shū)館續(xù)借該書(shū)籍,若所借書(shū)籍即將到期,用戶(hù)還可以選 擇該書(shū)籍,然后添加到期鬧鈴提示 密碼修改用戶(hù)可以通過(guò)手機(jī)客戶(hù)端修改圖書(shū)館登入密碼 書(shū)籍討論區(qū) 用戶(hù)登入到書(shū)籍討論區(qū)后,就可以和在線(xiàn)的讀者對(duì)書(shū)籍

37、進(jìn)行討論,發(fā)表個(gè)人意見(jiàn),還可以和個(gè)別讀者單獨(dú)交流 心得,或者向在線(xiàn)的管理人員提出意見(jiàn)或建議。 新書(shū)發(fā)布 讀者可以通過(guò)輸入查詢(xún)?nèi)掌?,進(jìn)行查詢(xún)?cè)撎靾D書(shū)館所新 增加的書(shū)籍,查詢(xún)自己新增訂書(shū)籍是否上架 幫助提示讀者用戶(hù)使用該手機(jī)客戶(hù)端的注意事項(xiàng)及幫助 1 讀者模塊 退出讀者用戶(hù)安全退出該系統(tǒng) 書(shū)籍信息修改 管理員可以查詢(xún)讀者的書(shū)刊增訂信息,可以在新書(shū)發(fā)布 選項(xiàng)中將新書(shū)名稱(chēng)通過(guò)本系統(tǒng)發(fā)布出來(lái);也可以通過(guò)舊 書(shū)刪除選項(xiàng)將過(guò)期或者下架書(shū)籍從圖書(shū)館數(shù)據(jù)庫(kù)中刪除。 密碼修改管理員可以通過(guò)手機(jī)客戶(hù)端修改圖書(shū)館登入密碼 書(shū)籍討論區(qū) 管理員登入到書(shū)籍討論區(qū)后,就可以接受在線(xiàn)讀者的質(zhì) 詢(xún),回答問(wèn)題,或者突發(fā)事件的發(fā)布

38、幫助提示管理員用戶(hù)使用該手機(jī)客戶(hù)端的注意事項(xiàng)及幫助 2 管理員模塊 退出管理員用戶(hù)安全退出該系統(tǒng) .3 輸入輸出要求輸入輸出要求 阿拉伯?dāng)?shù)字均為十進(jìn)制無(wú)正負(fù); 索引號(hào)更具規(guī)定的 isbn 編號(hào)設(shè)置; 日期格式為:yy-mm-dd 2.42.4 數(shù)據(jù)結(jié)構(gòu)及表的定義數(shù)據(jù)結(jié)構(gòu)及表的定義 數(shù)據(jù)庫(kù)表格定義了系統(tǒng)服務(wù)器端所用到的基本數(shù)據(jù)表,詳細(xì)描述了數(shù)據(jù)表 中的字段、類(lèi)型、約束條件、說(shuō)明等信息,如下表所示: 表 1-2 表 book 的結(jié)構(gòu) 字段名數(shù)據(jù)類(lèi)型 (精度范圍) 長(zhǎng)度空/非空缺省約束 條件 說(shuō) 明 indexidvarchar220 非空主鍵書(shū)籍的 isbn 索引號(hào) booknam

39、evarchar220 書(shū)籍名稱(chēng) authorvarchar220 作者 publishervarchar220 出版商 pudatevarchar220 出版日期 statevarchar220inlib 書(shū)籍狀態(tài),是否借 閱 第 10 頁(yè) 共 42 頁(yè) (inlib/borrow) returndatevarchar220 歸還日期 表 1-3 表 libuser 的結(jié)構(gòu) 字段名數(shù)據(jù)類(lèi)型 (精度范圍) 長(zhǎng)度空/非空缺省約束 條件 說(shuō) 明 libuidvarchar220 非空主鍵讀者 id pwdvarchar220 外鍵讀者密碼 表 1-4 表 borrowsituation 的結(jié)構(gòu) 字

40、段名數(shù)據(jù)類(lèi)型 (精度范圍) 長(zhǎng)度空/非空缺省約束 條件 說(shuō) 明 indexidvarchar220 非空主鍵書(shū)籍的 isbn 索 引號(hào) libuidvarchar220 非空主鍵用戶(hù) id returndatevarchar220 歸還日期 returnstatevarchar220 空續(xù)借狀態(tài),是 否可以續(xù)借 (ag/null) 表 1-5 表 manuser 的結(jié)構(gòu) 字段名數(shù)據(jù)類(lèi)型 (精度范圍) 長(zhǎng)度空/非空缺省約束 條件 說(shuō) 明 libuidvarchar220 非空主鍵管理員 id pwdvarchar220 外鍵管理員密碼 表 1-6 表 needbook 的結(jié)構(gòu) 字段名數(shù)據(jù)類(lèi)型 (

41、精度范圍) 長(zhǎng)度空/非空缺省約束 條件 說(shuō) 明 booknamevarchar220 非空主鍵預(yù)定書(shū)籍名 稱(chēng) authorvarchar220 預(yù)定書(shū)籍作 者 publishervarchar220 預(yù)定書(shū)籍出 版社 表 1-7 表 newbook 的結(jié)構(gòu) 字段名數(shù)據(jù)類(lèi)型 (精度范圍) 長(zhǎng)度空/非空缺省約束 條件 說(shuō) 明 booknamevarchar220 非空主鍵新增書(shū)籍名 稱(chēng) authorvarchar220 新增書(shū)籍作 者 publishervarchar220 新增書(shū)籍出 版社 newdatedate 新增書(shū)籍日 期 網(wǎng)絡(luò)通訊協(xié)議是客戶(hù)端和服務(wù)器端交互數(shù)據(jù)的基礎(chǔ),主要由動(dòng)作和數(shù)據(jù)組

42、成,動(dòng)作定義如下表所示: 表 1-8 表網(wǎng)絡(luò)通訊請(qǐng)求動(dòng)作 請(qǐng)求動(dòng)作 動(dòng)作名稱(chēng)描述 第 11 頁(yè) 共 42 頁(yè) change_pwd 讀者用戶(hù)修改密碼請(qǐng)求 search_book 讀者用戶(hù)查詢(xún)書(shū)籍請(qǐng)求 login 讀者用戶(hù)登入請(qǐng)求 man_login 管理員用戶(hù)登入請(qǐng)求 表 1-8 表網(wǎng)絡(luò)通訊請(qǐng)求動(dòng)作(續(xù)) needbook 讀者用戶(hù)預(yù)訂書(shū)籍請(qǐng)求 show_man_noticebook 管理員用戶(hù)查詢(xún)預(yù)訂書(shū)籍請(qǐng)求 man_dell_needbook 管理員用戶(hù)刪除預(yù)訂書(shū)籍信息請(qǐng)求 change_manpwd 管理員用戶(hù)修改密碼請(qǐng)求 delbook 管理員用戶(hù)刪除書(shū)籍基本信息請(qǐng)求 newbook

43、讀者用戶(hù)查詢(xún)新增書(shū)籍信息請(qǐng)求 goon_borrowbook 讀者續(xù)借書(shū)籍請(qǐng)求 addbook 管理員用戶(hù)添加書(shū)籍請(qǐng)求 表 1-9 表網(wǎng)絡(luò)通訊響應(yīng)動(dòng)作 響應(yīng)動(dòng)作 動(dòng)作名稱(chēng)描述 changepwd_no_user 讀者用戶(hù)修改密碼時(shí),提交用戶(hù)名不存在 changepwd_error_pwd 讀者用戶(hù)修改密碼時(shí),提交原始密碼錯(cuò)誤 changepwd_success 讀者用戶(hù)修改密碼成功 changepwd_fail 讀者用戶(hù)修改密碼失敗 login_error_pwd 讀者用戶(hù)登入時(shí),密碼錯(cuò)誤 login_no_user 讀者用戶(hù)登入時(shí),提交用戶(hù)名不存在 login_success_no_book

44、 讀者用戶(hù)登入時(shí),登入成功但沒(méi)有借閱書(shū)籍信息 login_success_has_book 讀者用戶(hù)登入時(shí),登入成功并有借閱書(shū)籍信息 search_fail 讀者用戶(hù)查詢(xún)書(shū)籍信息失敗 search_no_book 讀者用戶(hù)查詢(xún)書(shū)籍時(shí),沒(méi)有滿(mǎn)足條件的書(shū)籍信息 search_has_book 讀者用戶(hù)查詢(xún)書(shū)籍時(shí),查詢(xún)到滿(mǎn)足條件的書(shū)籍 man_login_success 管理員用戶(hù)登入成功信息 man_login_error_pwd 管理員登入時(shí),密碼錯(cuò)誤 man_login_no_user 管理員登入時(shí),提交用戶(hù)名不存在 man_success_update_book 管理員更新書(shū)籍信息時(shí),成功

45、man_error_update_book 管理員更新書(shū)籍信息時(shí),失敗 success_need_book 讀者用戶(hù)提交預(yù)定書(shū)籍信息時(shí),成功 error_need_book 讀者用戶(hù)提交預(yù)定書(shū)籍信息時(shí),失敗 man_has_needbook 管理員用戶(hù)查詢(xún)預(yù)訂書(shū)籍信息時(shí),有預(yù)定書(shū)籍信息 man_no_needbook 管理員用戶(hù)查詢(xún)預(yù)訂書(shū)籍信息時(shí),無(wú)預(yù)定書(shū)籍信息 man_success_dellneedbook 管理員刪除預(yù)定書(shū)籍信息時(shí),成功 man_error_dellneedbook 管理員刪除預(yù)定書(shū)籍信息時(shí),失敗 man_changepwd_success 管理員修改密碼時(shí),成功 man

46、_changepwd_fail 管理員修改密碼時(shí),失敗 man_changepwd_error_pwd 管理員修改密碼時(shí),提交的原始密碼錯(cuò)誤 man_changepwd_no_user 管理員修改密碼時(shí),提交的用戶(hù)名不存在 man_success_dellbook 管理員刪除舊書(shū)信息時(shí),成功 man_error_dellbook 管理員刪除舊書(shū)信息時(shí),失敗 man_error_statebook 管理員刪除舊書(shū)信息時(shí),書(shū)本借出,不能刪除 man_no_hasbook 管理員刪除舊書(shū)信息時(shí),沒(méi)有該書(shū)籍信息 goon_success_borrowbook 讀者續(xù)借書(shū)籍時(shí),成功 goon_error

47、_borrowbook 讀者續(xù)借書(shū)籍時(shí),失敗 errpr_state_borrowbook 讀者續(xù)借書(shū)籍時(shí),該書(shū)已經(jīng)續(xù)借過(guò),不能續(xù)借 has_newbook 讀者查詢(xún)新增書(shū)籍時(shí),有新該日增書(shū)籍信息 no_newbook 讀者查詢(xún)新增書(shū)籍時(shí),沒(méi)有該日新增書(shū)籍 goon_success_borrowbook 讀者續(xù)借書(shū)籍時(shí),成功 goon_error_borrowbook 讀者續(xù)借書(shū)籍時(shí),失敗 errpr_state_borrowbook 讀者續(xù)借書(shū)籍時(shí),該書(shū)已經(jīng)續(xù)借過(guò),不能續(xù)借 has_newbook 讀者查詢(xún)新增書(shū)籍時(shí),有新該日增書(shū)籍信息 第 12 頁(yè) 共 42 頁(yè) no_newbook 讀者

48、查詢(xún)新增書(shū)籍時(shí),沒(méi)有該日新增書(shū)籍 界面控制器內(nèi)部定義的協(xié)議實(shí)現(xiàn)了界面中的跳轉(zhuǎn)以及和網(wǎng)絡(luò)連接控制器之 間的請(qǐng)求。請(qǐng)求協(xié)議定義如下表所示: 表 1-10 表頁(yè)面顯示請(qǐng)求 頁(yè)面顯示請(qǐng)求 動(dòng)作名稱(chēng)描述 show_login 請(qǐng)求顯示讀者登入頁(yè)面 show_change_pwd 請(qǐng)求顯示讀者修改密碼頁(yè)面 show_search_book 請(qǐng)求顯示讀者查詢(xún)書(shū)籍信息頁(yè)面 show_newbook 請(qǐng)求顯示查詢(xún)新增書(shū)籍頁(yè)面 show_talkpage 請(qǐng)求顯示書(shū)籍討論區(qū)歡迎界面 show_userwel 請(qǐng)求顯示讀者歡迎界面 show_managerwel 請(qǐng)求顯示管理員歡迎界面 show_man_login

49、 請(qǐng)求顯示管理員登入界面 show_change_manpwd 請(qǐng)求顯示管理員密碼修改界面 show_mantalk 請(qǐng)求顯示管理員登入書(shū)籍討論區(qū)歡迎界面 show_man_help 請(qǐng)求顯示管理員幫助界面 show_man_addbook 請(qǐng)求顯示管理員新增書(shū)籍界面 show_man_delbook 請(qǐng)求顯示管理員刪除舊書(shū)界面 show_man_noticebook 請(qǐng)求顯示查詢(xún)預(yù)訂書(shū)籍界面 show_help 請(qǐng)求顯示讀者幫助界面 表 1-11 表頁(yè)面導(dǎo)航請(qǐng)求 頁(yè)面導(dǎo)航請(qǐng)求 動(dòng)作名稱(chēng)描述 help_backto_mainmenu 請(qǐng)求從讀者幫助界面返回讀者歡迎界面 exit 請(qǐng)求退出系統(tǒng)

50、login_backto_mainnenu 請(qǐng)求從讀者登入界面返回讀者歡迎界面 login 請(qǐng)求網(wǎng)絡(luò)控制器建立讀者登入連接 change_pwd 請(qǐng)求網(wǎng)絡(luò)控制器建立讀者密碼修改連接 search_book 請(qǐng)求網(wǎng)絡(luò)控制器建立讀者書(shū)籍查詢(xún)連接 change_pwd_backto_mainmenu 請(qǐng)求從讀者密碼修改界面返回讀者歡迎界面 search_book_backto_mainmenu 請(qǐng)求從讀者書(shū)籍查詢(xún)界面返回讀者歡迎界面 login_success_no_book 接受網(wǎng)絡(luò)控制器返回讀者登入成功沒(méi)有借閱書(shū)籍導(dǎo) 航界面 login_success_has_book 接受網(wǎng)絡(luò)控制器返回讀者登

51、入成功有借閱書(shū)籍信息 導(dǎo)航界面 show_user_book 接受網(wǎng)絡(luò)控制器請(qǐng)求顯示讀者借閱書(shū)籍信息界面 show_each_book 接受網(wǎng)絡(luò)控制器請(qǐng)求顯示讀者所查詢(xún)書(shū)籍基本信息 界面 talkpage_backto_mainmenu 請(qǐng)求從讀者書(shū)籍討論區(qū)返回讀者歡迎界面 talkpage 請(qǐng)求網(wǎng)絡(luò)控制器建立讀者書(shū)籍討論區(qū)連接,顯示討 論區(qū)歡迎界面 chat_backto_talkpage 請(qǐng)求從聊天界面返回讀者書(shū)籍討論區(qū)歡迎界面 send_nessage 請(qǐng)求網(wǎng)絡(luò)控制器發(fā)送讀者聊天信息界面 choose_privatename 設(shè)置私聊對(duì)象 choose_backto_chatpage 請(qǐng)

52、求從私聊界面返回聊天界面 show_privatetalk 請(qǐng)求顯示私聊對(duì)象界面 man_login 請(qǐng)求網(wǎng)絡(luò)控制器建立管理員登入連接 manlogin_backto_mainnenu 請(qǐng)求從管理員登入界面返回管理員歡迎界面 man_login_success 接受網(wǎng)絡(luò)控制器返回管理員登入成功信息,顯示提 示界面 第 13 頁(yè) 共 42 頁(yè) addbook_backto_updatemenu 請(qǐng)求從管理員添加書(shū)籍界面返回書(shū)籍信息修改界面 addbook 請(qǐng)求網(wǎng)絡(luò)控制器建立添加書(shū)籍基本信息連接 needbook_backto_mainnenu 請(qǐng)求從添加預(yù)訂書(shū)籍信息界面返回讀者歡迎界面 表 1-

53、11 表頁(yè)面導(dǎo)航請(qǐng)求(續(xù)) needbook 請(qǐng)求網(wǎng)絡(luò)控制器建立查詢(xún)預(yù)訂書(shū)籍基本信息連接 manneed_backto_updatemenu 請(qǐng)求從查詢(xún)預(yù)訂書(shū)籍界面返回書(shū)籍信息修改界面 show_man_needbook 接受網(wǎng)絡(luò)控制器請(qǐng)求顯示管理員查詢(xún)預(yù)訂書(shū)籍基本 信息界面 man_dell_needbook 請(qǐng)求網(wǎng)絡(luò)控制器建立刪除預(yù)訂書(shū)籍基本信息鏈接 talkpage_backto_manmainmenu 請(qǐng)求從書(shū)籍討論區(qū)歡迎界面返回管理員歡迎界面 man_talkpage 請(qǐng)求網(wǎng)絡(luò)控制器建立書(shū)籍討論區(qū)連接,并顯示書(shū)籍 討論區(qū)歡迎界面 chat_backto_mantalkpage 請(qǐng)求從

54、聊天界面返回管理員書(shū)籍討論區(qū)歡迎界面 change_pwd_backto_manmainmenu 請(qǐng)求從密碼修改界面返回管理員歡迎界面 change_manpwd 請(qǐng)求網(wǎng)絡(luò)連接控制器建立管理員修改密碼連接 delbook_backto_updatemenu 請(qǐng)求從刪除書(shū)籍信息界面返回書(shū)籍信息修改界面 delbook 請(qǐng)求網(wǎng)絡(luò)控制器建立刪除書(shū)籍基本信息鏈接 goon_borrowbook 請(qǐng)求網(wǎng)絡(luò)控制器建立讀者續(xù)借書(shū)籍連接 new_backto_mainmenu 請(qǐng)求從讀者查詢(xún)新增書(shū)籍界面返回讀者歡迎界面 newbook 請(qǐng)求網(wǎng)絡(luò)控制器建立查詢(xún)新增書(shū)籍基本信息連接 show_newbook_de

55、tail 接受網(wǎng)絡(luò)控制器請(qǐng)求顯示讀者查詢(xún)新增書(shū)籍基本信 息界面 在書(shū)籍討論區(qū)模塊中,客戶(hù)端和服務(wù)器端連接是采用如下表通訊協(xié)議格式 進(jìn)行信息傳遞和解析; 表 1-12 表書(shū)籍討論區(qū)協(xié)議 動(dòng)作格式 登入聊天室:(c-s) 和 接收登入信息: (s-c) username 登出聊天室:(c-s) 和 接收登出信息: (s-c) username 標(biāo)準(zhǔn)聊天信息:(c-s int total = 0; set set = list.keyset(); /使用keyset方法獲取所有key值 iterator it = set.iterator(); while (it.hasnext() /遍歷所有用戶(hù)

56、名 string user = list.get(it.next(); total+; if (user.equals(name) flag = 1; if (total 3) flag = 2; return flag; synchronized int sendtoone(string name, string content) printwriter writer = null; socket socket; set set = list.keyset(); /使用keyset方法獲取所有key值 iterator it = set.iterator(); while (it.hasne

57、xt() socket = (socket) it.next(); if (name.equals(list.get(socket) /找到指定用戶(hù)的 socket 第 37 頁(yè) 共 42 頁(yè) try writer = new printwriter(socket.getoutputstream(),true); catch (exception e) if (writer != null) writer.println(content); return 1; return 0; synchronized void sendtoone(socket socket, string content

58、) printwriter writer = null; try writer = new printwriter(socket.getoutputstream(), true); catch (exception e) if (writer != null) writer.println(content); .2 midletmidlet 與與 servletservlet 的通訊的通訊 問(wèn)題:在本軟件設(shè)計(jì)中,主要的一個(gè)設(shè)計(jì)思想就是使用 midlet 和 servlet 進(jìn)行網(wǎng)絡(luò)通訊,如果只提供 url 和 gcf 框架類(lèi)包中的連接函數(shù)時(shí),會(huì)出現(xiàn)無(wú)法 訪(fǎng)問(wèn)和出現(xiàn)錯(cuò)誤代碼。 解

59、決:在進(jìn)行網(wǎng)絡(luò)連接前,先設(shè)置好連接使用的 user-agent 和 content- type 等連接屬性,保證 servlet 正確連接客戶(hù)端。 代碼: /建立 httpconnection 連接 conn = (httpconnection)connector.open(serverurl,connector.read_write, true); uicontroler.displayprogress(); /設(shè)置連接的user-agent字段 conn.setrequestproperty(user- agent,system.getproperty(fi

60、les); gressui.append(n設(shè)置user- agent:+system.getproperty(files); /設(shè)置內(nèi)容類(lèi)型以及連接流 conn.setrequestproperty(content-type,application/octet-stream); gressui.append(n設(shè)置content- type:application/octet-stream); /設(shè)置連接類(lèi)型 conn.setrequestmethod(httpconnection.post); ui

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論