![畢業(yè)設(shè)計(jì)(論文)基于J2EE的掌上商店的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/1/8146de3f-39f2-4318-a1e1-e897b1589209/8146de3f-39f2-4318-a1e1-e897b15892091.gif)
![畢業(yè)設(shè)計(jì)(論文)基于J2EE的掌上商店的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/1/8146de3f-39f2-4318-a1e1-e897b1589209/8146de3f-39f2-4318-a1e1-e897b15892092.gif)
![畢業(yè)設(shè)計(jì)(論文)基于J2EE的掌上商店的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/1/8146de3f-39f2-4318-a1e1-e897b1589209/8146de3f-39f2-4318-a1e1-e897b15892093.gif)
![畢業(yè)設(shè)計(jì)(論文)基于J2EE的掌上商店的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/1/8146de3f-39f2-4318-a1e1-e897b1589209/8146de3f-39f2-4318-a1e1-e897b15892094.gif)
![畢業(yè)設(shè)計(jì)(論文)基于J2EE的掌上商店的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/1/8146de3f-39f2-4318-a1e1-e897b1589209/8146de3f-39f2-4318-a1e1-e897b15892095.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于j2ee的掌上商店的設(shè)計(jì)與實(shí)現(xiàn)摘 要過(guò)去的幾年,電子商務(wù)的迅猛發(fā)展為企業(yè)創(chuàng)造了極大的價(jià)值,使傳統(tǒng)的企業(yè)商務(wù)模式發(fā)生了很大的改變。隨著手機(jī)使用的普及和無(wú)線技術(shù)的發(fā)展,移動(dòng)電子商務(wù)將會(huì)作為電子商務(wù)領(lǐng)域中的一種新型的電子商務(wù)模式,其發(fā)展前景是十分誘人的??梢灶A(yù)見(jiàn)的是,移動(dòng)電子商務(wù)將成為21世紀(jì)電子商務(wù)領(lǐng)域的主戰(zhàn)場(chǎng)。j2me是為嵌入式消費(fèi)電子設(shè)備提供的java語(yǔ)言開(kāi)發(fā)平臺(tái),是針對(duì)資源受限設(shè)備。因此基于j2me平臺(tái)的無(wú)線終端的應(yīng)用程序開(kāi)發(fā)以及與網(wǎng)絡(luò)服務(wù)器端的信息交互開(kāi)發(fā)就十分重要。利用客戶端 + java servlet + sql server數(shù)據(jù)庫(kù)三層模式實(shí)現(xiàn)網(wǎng)上商店系統(tǒng)是通用的方法。所有的業(yè)務(wù)
2、邏輯都封裝在servlet中,數(shù)據(jù)庫(kù)的使用提高了數(shù)據(jù)的安全性,而采用可擴(kuò)展標(biāo)識(shí)語(yǔ)言xml的數(shù)據(jù)格式實(shí)現(xiàn)了跨平臺(tái)的數(shù)據(jù)交換。詳細(xì)闡述了系統(tǒng)的需求分析、系統(tǒng)總體架構(gòu)及詳細(xì)設(shè)計(jì),系統(tǒng)實(shí)現(xiàn)了以下功能:會(huì)員注冊(cè)、登錄、瀏覽物品詳細(xì)信息和購(gòu)買(mǎi)物品。關(guān)鍵詞:j2me;可擴(kuò)展標(biāo)識(shí)語(yǔ)言;servlet;網(wǎng)絡(luò)商店1the palm platform of e-shop based on the j2meserver developmentabstractover the years, the fast fierce development of electronic commerce created tremen
3、dous value for the enterprise, which greatly changed traditional enterprise commerce pattern. with the prevalence of mobile phone and development of wireless, mobile e-commerce will be a new e-commerce mode in the electronic commerce realm, and it is very promising. it can be predicted that the mobi
4、le e-commerce will become the major industry of e-commerce in the 21st century. j2me is the platform that provides the java language to develop the embedded electronic equipment of expense, which aims at the equipment that resource is limited. therefore the interactive information exploitation devel
5、oping with network server and applications of wireless terminal development based on j2me platform is very important. it is a general method to implement the system of e-shop using three layers of pattern: client side + java servlet + database of sql server. all the business logic encapsulated in th
6、e servlet, using of the database improved the security, and using the xml data format achieved cross-platform data exchange. to the system demand analysis, the system requirement analysis, the overall of system construction and the detailed design are elaborated in details in this paper, and the sys
7、tem achieves the following functions: member registration, login, browse detailed information and purchase goods.key words: j2me; xml; servlet; e-shop目 錄論文總頁(yè)數(shù):24頁(yè)1引言11.1選題背景11.2選題意義12相關(guān)技術(shù)及開(kāi)發(fā)平臺(tái)簡(jiǎn)介22.1j2me簡(jiǎn)介22.2sql server數(shù)據(jù)庫(kù)和jdbc22.3java servlet技術(shù)介紹22.4xml和jdom32.4.1xml簡(jiǎn)介32.4.2jdom技術(shù)32.5開(kāi)發(fā)平臺(tái)及系統(tǒng)配置33系統(tǒng)需求
8、分析和設(shè)計(jì)方案43.1需求分析43.2系統(tǒng)總體框架43.3系統(tǒng)設(shè)計(jì)關(guān)鍵技術(shù)53.3.1網(wǎng)絡(luò)的連接53.3.2數(shù)據(jù)存儲(chǔ)方式和數(shù)據(jù)的交換53.4業(yè)務(wù)數(shù)據(jù)流分析53.4.1聯(lián)網(wǎng)的流程53.4.2訪問(wèn)數(shù)據(jù)庫(kù)的流程63.4.3輸入xml數(shù)據(jù)解析流程63.4.4輸出xml文檔建立流程63.5和客戶端交互接口的約定73.5.1關(guān)于url73.5.2url參數(shù)約定規(guī)則73.5.3接收和發(fā)送的xml文檔格式的約定73.6數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)83.6.1注冊(cè)用戶基本信息表user83.6.2商品信息表84具體的設(shè)計(jì)流程和實(shí)現(xiàn)系統(tǒng)構(gòu)架94.1系統(tǒng)主要工作流程94.2系統(tǒng)功能模塊設(shè)計(jì)94.2.1數(shù)據(jù)庫(kù)聯(lián)網(wǎng)模塊的設(shè)計(jì)94
9、.2.2注冊(cè)模塊的設(shè)計(jì)104.2.3登陸模塊的設(shè)計(jì)134.2.4查詢模塊的實(shí)現(xiàn)154.2.5購(gòu)買(mǎi)功能模塊的實(shí)現(xiàn)185測(cè)試分析與問(wèn)題處理215.1數(shù)據(jù)庫(kù)連接215.2與客戶端的連接21結(jié) 論22參考文獻(xiàn)221 引言1.1 選題背景網(wǎng)上購(gòu)物正逐步走向平民化,調(diào)查機(jī)構(gòu)ac尼爾森最新研究顯示,63%的中國(guó)網(wǎng)民曾在網(wǎng)上購(gòu)物。有業(yè)內(nèi)人士認(rèn)為,中國(guó)的網(wǎng)上購(gòu)物人數(shù)在快速增長(zhǎng),年輕的中國(guó)男性更熱衷于網(wǎng)上購(gòu)物。民眾對(duì)電子商務(wù)的熱情高漲,表明我國(guó)民眾電子商務(wù)意識(shí)的提高,電子商務(wù)正改變著人們的消費(fèi)方式。而近年來(lái)隨著移動(dòng)技術(shù)的發(fā)展,手機(jī)在人們中的普及,傳統(tǒng)的電子商務(wù)越來(lái)越滿足不來(lái)了人們的需求,出現(xiàn)了一種新型的電子商務(wù)模
10、式移動(dòng)電子商務(wù)。與傳統(tǒng)的internet上的在線交易相比,移動(dòng)電子商務(wù)具有許多優(yōu)點(diǎn),移動(dòng)交易不受時(shí)間和地點(diǎn)的限制;效率高,大大節(jié)省客戶交易的時(shí)間;移動(dòng)終端的身份固定,能夠向用戶提供個(gè)性化移動(dòng)交易服務(wù);可以提供與位置相關(guān)的交易服務(wù)。移動(dòng)電子商務(wù)將用戶和商家緊密聯(lián)系起來(lái),而且這種聯(lián)系將不受pc或連接線的限制,使電子商務(wù)走向了個(gè)人。傳統(tǒng)的電子商務(wù)形式受到越來(lái)越大沖擊,以網(wǎng)絡(luò)化、知識(shí)管理、全球化為主要特征的信息化社會(huì)已是不可逆轉(zhuǎn)的趨勢(shì),電子商務(wù)化已成為企業(yè)發(fā)展的必由之路。而信息化社會(huì)的核心是互聯(lián)網(wǎng)、移動(dòng)通信和電子商務(wù),而三者的有機(jī)結(jié)合更是未來(lái)社會(huì)的大勢(shì)所趨。移動(dòng)電子商務(wù)的快速發(fā)展。移動(dòng)電子商務(wù)的基礎(chǔ)是
11、互聯(lián)網(wǎng),移動(dòng)電子商務(wù)的主要特點(diǎn)是靈活、簡(jiǎn)單、方便。它能完全根據(jù)消費(fèi)者的個(gè)性化需求和喜好定制,設(shè)備的選擇以及提供服務(wù)與信息的方式完全由用戶自己選擇控制。移動(dòng)電子商務(wù)時(shí)代正向我們走來(lái)。1.2 選題意義目前,人們逐漸意識(shí)到融合移動(dòng)通信技術(shù)的電子商務(wù)將具有更大的潛力,移動(dòng)電子商務(wù)的市場(chǎng)前景普遍被業(yè)內(nèi)人士看好。參與電子商務(wù)的主要角色是企業(yè)(business)和消費(fèi)者(customer),因此在企業(yè)之間、企業(yè)與消費(fèi)者之間,網(wǎng)上交易構(gòu)成了b to b(b2b即business to business企業(yè)到企業(yè))、b to c(即business to customer 企業(yè)到用戶)兩種最典型的商務(wù)模式。據(jù)預(yù)
12、測(cè),到2003年,超過(guò)10%的電子商務(wù)交易將通過(guò)移動(dòng)通信設(shè)備來(lái)完成;預(yù)計(jì)到2008年,全球?qū)⒊霈F(xiàn)10億移動(dòng)電話用戶、10億因特網(wǎng)用戶,其中5億為移動(dòng)因特網(wǎng)用戶;到2005年截止,將有25%的數(shù)據(jù)業(yè)務(wù)通過(guò)移動(dòng)通信設(shè)備來(lái)傳輸。這些移動(dòng)終端構(gòu)成了移動(dòng)電子商務(wù)巨大的潛在市場(chǎng)。移動(dòng)電子商務(wù)的特征移動(dòng)電子商務(wù)和傳統(tǒng)的電子商務(wù)存在很大的區(qū)別,主要有下述兩點(diǎn):(1) 不受時(shí)間和地點(diǎn)的限制。(2) j2me的優(yōu)點(diǎn)同傳統(tǒng)的wap相比,j2me有很多的優(yōu)點(diǎn)。這些優(yōu)點(diǎn)主要表現(xiàn)在:網(wǎng)絡(luò)編程靈活,能突破b/s結(jié)構(gòu)的一些限制,使得上層程序更加自由。正是j2me的優(yōu)點(diǎn),而基于j2me平臺(tái)的移動(dòng)電子商務(wù)將具有更大的潛力和優(yōu)點(diǎn)。
13、本文將研究如何利用java servlet和xml技術(shù)構(gòu)建一個(gè)基于j2me平臺(tái)的掌上網(wǎng)絡(luò)商店服務(wù)器端的開(kāi)發(fā)。2 相關(guān)技術(shù)及開(kāi)發(fā)平臺(tái)簡(jiǎn)介2.1 j2me簡(jiǎn)介j2me(java 2 platform micro edition)是為機(jī)頂盒、移動(dòng)電話和pda之類(lèi)嵌入式消費(fèi)電子設(shè)備提供的java語(yǔ)言平臺(tái),包括虛擬機(jī)和一系列標(biāo)準(zhǔn)化的java api。它和j2se,j2ee一起構(gòu)成java技術(shù)的三大版本,并且同樣是通過(guò)jcp(java community process)制訂的。目前階段,j2me最流行的應(yīng)用是游戲軟件。因?yàn)榕c需要昂貴的專(zhuān)用設(shè)備和開(kāi)發(fā)工具的競(jìng)爭(zhēng)對(duì)手(如索尼和任天堂)相比,j2me程序可以在
14、pc機(jī)上開(kāi)發(fā)和仿真運(yùn)行,然后很容易地部署到目標(biāo)機(jī)上,從而使其開(kāi)發(fā)、測(cè)試和發(fā)布的變得容易和廉價(jià)。實(shí)際上j2me的用途和前景要廣泛得多。2.2 sql server數(shù)據(jù)庫(kù)和jdbcsql server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它最初是由microsoft sybase和ashton-tat三家公司共同開(kāi)發(fā)的,于1988年推出了第一個(gè)os/2版本。在windows nt推出后,microsoft與sybase在sql server的開(kāi)發(fā)上就分道揚(yáng)鑣了。microsoft 將sql server 移植windows nt系統(tǒng)上,專(zhuān)注于開(kāi)發(fā)推廣sql server的windows nt版本。sybas
15、e則較專(zhuān)注于sql server在unix操作系統(tǒng)上的應(yīng)用。在本書(shū)中介紹的是microsoft sql server,以后簡(jiǎn)稱(chēng)為sql serve或ms sql server。sql server 2000是microsoft公司推出的sql server數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本。該版本繼承了sql server 7.0版本的優(yōu)點(diǎn)同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)??煽缭綇倪\(yùn)行microsoft windows 98的膝上型電腦到運(yùn)行microsoft windows 2000的大型多處理器的服務(wù)器等多種平臺(tái)使用。jdbc的全稱(chēng)是java dat
16、abase connectivity(嚴(yán)格地講,jdbc是sun microsystems的商標(biāo)而非縮寫(xiě))。它是java編程語(yǔ)言中用來(lái)規(guī)范客戶端程序如何來(lái)訪問(wèn)數(shù)據(jù)庫(kù)的api,提供了諸如查詢和更新數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法。jdbc是面向關(guān)系型數(shù)據(jù)庫(kù)的。jdbc驅(qū)動(dòng)程序共分四種類(lèi)型:類(lèi)型1:jdbc-odbc橋類(lèi)型2:本地api驅(qū)動(dòng)類(lèi)型3:網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)本地協(xié)議驅(qū)動(dòng)。2.3 java servlet技術(shù)介紹servlet是使用java servlet應(yīng)用程序設(shè)計(jì)接口(api)及相關(guān)類(lèi)和方法的 java程序。除了java servlet api,servlet還可以使用用以擴(kuò)展和添加到api的java類(lèi)軟件
17、包。servlet在啟用java的web服務(wù)器上或應(yīng)用服務(wù)器上運(yùn)行并擴(kuò)展了該服務(wù)器的能力。java servlet對(duì)于web服務(wù)器就好像java applet對(duì)于web瀏覽器。servlet裝入web服務(wù)器并在web服務(wù)器內(nèi)執(zhí)行,而applet裝入web瀏覽器并在web瀏覽器內(nèi)執(zhí)行。java servlet api定義了一個(gè)servlet和java使能的服務(wù)器之間的一個(gè)標(biāo)準(zhǔn)接口,這使得servlets具有跨服務(wù)器平臺(tái)的特性。servlet通過(guò)創(chuàng)建一個(gè)框架來(lái)擴(kuò)展服務(wù)器的能力,以提供在web上進(jìn)行請(qǐng)求和響應(yīng)服務(wù)。當(dāng)客戶機(jī)發(fā)送請(qǐng)求至服務(wù)器時(shí),服務(wù)器可以將請(qǐng)求信息發(fā)送給 servlet,并讓servl
18、et建立起服務(wù)器返回給客戶機(jī)的響應(yīng)。當(dāng)啟動(dòng)web服務(wù)器或客戶機(jī)第一次請(qǐng)求服務(wù)時(shí),可以自動(dòng)裝入servlet。裝入后,servlet繼續(xù)運(yùn)行直到其它客戶機(jī)發(fā)出請(qǐng)求。servlet的功能涉及范圍很廣。2.4 xml和jdom2.4.1 xml簡(jiǎn)介xml是可擴(kuò)展標(biāo)志語(yǔ)言(extensible markup language)的簡(jiǎn)稱(chēng)。標(biāo)記是指計(jì)算機(jī)所能理解的信息符號(hào),通過(guò)此種標(biāo)記,計(jì)算機(jī)之間可以處理包含各種信息的文章。如何定義這些標(biāo)記,既可以選擇國(guó)際通用的標(biāo)記語(yǔ)言,比如html,也可以使用象xml這樣由相關(guān)人士自由決定的標(biāo)記語(yǔ)言,這就是語(yǔ)言的可擴(kuò)展性。xml是從sgml中簡(jiǎn)化修改出來(lái)的。它主要用到的有
19、xml、xsl和xpath等。象html一樣,xml是從所有標(biāo)志語(yǔ)言的元語(yǔ)言標(biāo)準(zhǔn)通用標(biāo)志語(yǔ)言sgml(standard generalized markup language)那里派生出來(lái)的。sgml是一種元語(yǔ)言,也可以稱(chēng)為一個(gè)定義諸如html等標(biāo)志語(yǔ)言的系統(tǒng)。xml也是一種元語(yǔ)言,一個(gè)定義web應(yīng)用的sgml的子集。和sgml一樣,你也可以用xml來(lái)定義種種不同的標(biāo)志語(yǔ)言滿足不同的需要,特別在數(shù)據(jù)表現(xiàn)方面。2.4.2 jdom技術(shù)jdom是一種面向java的讀、寫(xiě)和操作xml文檔的api。jdom與現(xiàn)行的sax和dom標(biāo)準(zhǔn)兼容,為java程序員提供了一個(gè)簡(jiǎn)單、輕量的xml文檔操作方法。由于j
20、dom是專(zhuān)門(mén)為java程序員開(kāi)發(fā)的,所以采用許多java語(yǔ)言的優(yōu)秀特性,比如方法重載、集合(collections)和類(lèi)映射(reflection)。2.5 開(kāi)發(fā)平臺(tái)及系統(tǒng)配置當(dāng)前流行的java開(kāi)發(fā)平臺(tái)主要有borland的jbuild,sun的netbeans和開(kāi)源的eclipse。但是jbuild相比較而言簡(jiǎn)單易用,學(xué)習(xí)曲線比較平緩。所以開(kāi)發(fā)本系統(tǒng)選用jbuild。下面是開(kāi)發(fā)平臺(tái)及系統(tǒng)配置:操作系統(tǒng):windows2003。數(shù)據(jù)庫(kù):sql server 2000。開(kāi)發(fā)工具:jbuild9。附帶的jdom包為:jdom-1.0。需要的jdbc驅(qū)動(dòng)程序?yàn)椋簃icrosoft sql serve
21、r 2000 driver for jdbc。在jbuild9所建立工程屬性里面要引入jdom-1.0和microsoft sql server 2000 driver for jdbc。3 系統(tǒng)需求分析和設(shè)計(jì)方案3.1 需求分析在移動(dòng)電子商務(wù)中,出于安全的考慮用戶要有自己的賬號(hào),只有注冊(cè)成功獲得賬號(hào)才能登陸進(jìn)行必要的操作。所以服務(wù)端設(shè)計(jì)中要有注冊(cè)登陸的功能。當(dāng)客戶第一次使用系統(tǒng)的時(shí)候要先進(jìn)行注冊(cè)。在服務(wù)端的要的注冊(cè)模塊要完成的工作便是:接受客戶的注冊(cè)資料,然后與自己的數(shù)據(jù)庫(kù)的已有客戶資料進(jìn)行比對(duì),檢查賬號(hào)是否重復(fù)。如果重復(fù)在要返回提示信息:戶賬號(hào)已經(jīng)存在。如果沒(méi)有,把用戶注冊(cè)的資料插入的用戶
22、信息表中,而后返回注冊(cè)成功信息:用戶注冊(cè)的名字和密碼。在用戶登陸的時(shí)候,服務(wù)端核對(duì)賬號(hào)密碼。如果一致,用戶可以進(jìn)行后續(xù)的操作,如果不成功,則返回登陸錯(cuò)誤信息。用戶登陸成功后的可能要查詢某件的詳細(xì)資料,查詢的時(shí)候輸入查詢物品的名稱(chēng),如果有,服務(wù)端返回查詢的詳細(xì)信息,其中信息的格式可以是xml的形式。也可以選擇以字符串的形式發(fā)送。用戶瀏覽到物品信息時(shí)想購(gòu)買(mǎi)的話。則只要輸入購(gòu)買(mǎi)物品的id和購(gòu)買(mǎi)的數(shù)量。這些購(gòu)買(mǎi)物品數(shù)據(jù)從客戶端以xml數(shù)據(jù)格式發(fā)送給服務(wù)端。服務(wù)端首先要解析傳送過(guò)來(lái)的xml文檔提取的數(shù)據(jù)信息。如果信息合法且購(gòu)買(mǎi)成功就返成功信息和購(gòu)買(mǎi)物品信息。否則返回購(gòu)買(mǎi)失敗的信息。3.2 系統(tǒng)總體框架利
23、用j2me和java servlet建立企業(yè)級(jí)移動(dòng)電子商務(wù)應(yīng)用是非常合適的,可以通過(guò)j2me技術(shù)建立客戶終端程序,通過(guò)java servlet建立我的服務(wù)端程序。系統(tǒng)的總體框架如圖1。圖1總體框架圖在支持j2me技術(shù)的pda,手機(jī)等移動(dòng)設(shè)備終端,可以利用它們支持的各種簡(jiǎn)檔設(shè)計(jì)客戶端程序,實(shí)現(xiàn)與用戶的交互,同時(shí),通過(guò)http、https或xml等標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議與j2ee應(yīng)用服務(wù)器實(shí)現(xiàn)數(shù)據(jù)傳遞。web層和企業(yè)信息系統(tǒng)層用于構(gòu)建我的服務(wù)器端應(yīng)用,其中web層用于實(shí)現(xiàn)與客戶層的接口和交互,它使用servlet程序處理客戶端發(fā)出的連接和請(qǐng)求,并通過(guò)jdbc連接到企業(yè)信息系統(tǒng)層的數(shù)據(jù)庫(kù)系統(tǒng)上。數(shù)據(jù)庫(kù)系統(tǒng)處
24、理sql語(yǔ)句,會(huì)將處理結(jié)果以一個(gè)結(jié)果集的形式發(fā)送到業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層將接收到的信息提交給web層的servlet程序,servlet程序再通過(guò)http、https或xml將響應(yīng)信息返回到客戶端。3.3 系統(tǒng)設(shè)計(jì)關(guān)鍵技術(shù)3.3.1 網(wǎng)絡(luò)的連接由于無(wú)線設(shè)備所能支持的網(wǎng)絡(luò)協(xié)議非常有限,僅限于http,socket,udp等幾種協(xié)議,不同的廠家可能還支持其他網(wǎng)絡(luò)協(xié)議,但是,midp1.0規(guī)范規(guī)定,http是必須實(shí)現(xiàn)的協(xié)議,而其他協(xié)議的實(shí)現(xiàn)都是可選的。因此,為了能在不同類(lèi)型的手機(jī)上移植,我們采用http作為網(wǎng)絡(luò)連接的首選協(xié)議,這樣還能重用服務(wù)器端的代碼。但是,由于http是一個(gè)基于文本的效率較低的協(xié)
25、議,因此,必須仔細(xì)考慮手機(jī)和服務(wù)器端的通信內(nèi)容,盡可能地提高效率。在登陸和注冊(cè)的時(shí)候傳輸?shù)臄?shù)據(jù)量較少,選用get方法在基于效率上考慮比較合適的。在服務(wù)端對(duì)應(yīng)的采用doget方法。而對(duì)于在瀏覽和購(gòu)買(mǎi)的時(shí)候傳輸?shù)臄?shù)據(jù)量大一些,post方法是不得不選用的,雖然其效率上比較低,但是它可以傳輸比較大的數(shù)據(jù)量,get方法傳輸給服務(wù)端的數(shù)據(jù)量是有限制的。對(duì)應(yīng)的服務(wù)端為dopost方法。3.3.2 數(shù)據(jù)存儲(chǔ)方式和數(shù)據(jù)的交換由于有大量的數(shù)據(jù),采用簡(jiǎn)單的文件系統(tǒng)顯然不合適,采用數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)于設(shè)計(jì)來(lái)說(shuō)是比較簡(jiǎn)單的,在系統(tǒng)設(shè)計(jì)中要存儲(chǔ)用戶的基本信息和商品的基本信息,這就需要用兩張表來(lái)存儲(chǔ)其中的數(shù)據(jù)。設(shè)計(jì)表的時(shí)候要
26、設(shè)置主鍵以加強(qiáng)數(shù)據(jù)的完整性。而對(duì)于數(shù)據(jù)的交換格式,本系統(tǒng)則采用xml數(shù)據(jù)格式,在定義xml數(shù)據(jù)格式,只要是well-formed,而不需要定義其dtd,以及顯示樣式表。無(wú)論建立還是解析xml,對(duì)于java語(yǔ)言來(lái)說(shuō)jdom是必需的。jdom是在apache許可證下發(fā)布的開(kāi)放源碼,是java語(yǔ)言中xml和dom交互的api。在設(shè)計(jì)實(shí)現(xiàn)中將用jdom建立一個(gè)標(biāo)準(zhǔn)的well-formed的xml文檔,也將用jdom解析一個(gè)xml文檔。3.4 業(yè)務(wù)數(shù)據(jù)流分析3.4.1 聯(lián)網(wǎng)的流程聯(lián)網(wǎng)的時(shí)候按照如下的流程:1、建立連接。2、設(shè)置輸出的文檔mime類(lèi)型,設(shè)置為text/plain。設(shè)置數(shù)據(jù)編碼方式,打開(kāi)輸出
27、流。3、從url字符串獲取參數(shù),判斷參數(shù)是否合法,如果ok則開(kāi)始接受數(shù)據(jù)并進(jìn)行相應(yīng)的處理。4、經(jīng)過(guò)處理的結(jié)果傳輸數(shù)據(jù)給客戶端。5、關(guān)閉連接和流。3.4.2 訪問(wèn)數(shù)據(jù)庫(kù)的流程1、裝入jdbc程序。要使用jdbc訪問(wèn)數(shù)據(jù)庫(kù),首先必須加載jdbc驅(qū)動(dòng)程序,只需一句代碼class.forname(com.microsoft.jdbc.sqlserver.sqlserverdriver)。2、建立連接。建立連接的標(biāo)準(zhǔn)方法是drivermanager.getconnection(string url,string user,string password)。3、執(zhí)行sql語(yǔ)句。4、檢索結(jié)果。5、關(guān)閉連接。
28、在對(duì)象使用完畢后,應(yīng)當(dāng)關(guān)閉連接。3.4.3 輸入xml數(shù)據(jù)解析流程由客戶端發(fā)送過(guò)來(lái)的數(shù)據(jù)是xml的格式,首先服務(wù)端要解析這些xml格式的數(shù)據(jù)得到所需要的信息。而解析xml需要用的jdom。jdom自身不包含解析器。它通常使用sax2解析器來(lái)解析和驗(yàn)證輸入xml文檔。它包含一些轉(zhuǎn)換器以將jdom表示輸出成sax2事件流、dom模型或xml文本文檔。解析的流程如下:1、使用jdom首先要指定使用什么解析器。2、得到document。3、得到根元素。4、得到元素(節(jié)點(diǎn))的集合。5、輪循list集合。6、取得元素的子元素(為最低層元素)的值。7、dom結(jié)果處理(輸出/保存)。3.4.4 輸出xml文檔
29、建立流程向客戶端發(fā)送xml格式數(shù)據(jù),首先要建立xml格式的文檔數(shù)據(jù)。這也將用到j(luò)dom。在jdom中,xml元素就是element的實(shí)例,xml屬性就是attribute的實(shí)例,xml文檔本身就是document的實(shí)例。因?yàn)閖dom對(duì)象就是像document、element和attribute這些類(lèi)的直接實(shí)例,因此創(chuàng)建一個(gè)新jdom對(duì)象就如在java語(yǔ)言中使用new操作符一樣容易。jdom的使用是直截了當(dāng)?shù)摹=ml文檔的流程如下:1、首先建立根元素。2、然后用root創(chuàng)建xml文檔對(duì)象。3、創(chuàng)建元素,設(shè)置內(nèi)容,屬性。4、結(jié)果處理(輸出/保存)。3.5 和客戶端交互接口的約定3.5.1 關(guān)于
30、url服務(wù)端和數(shù)據(jù)端的網(wǎng)絡(luò)通訊采用http協(xié)議。購(gòu)買(mǎi)模塊的url地址為:http:/localhost:8080/servlet/purchaseservlet。登陸模塊的url地址為:http:/localhost:8080/loginservlet1。注冊(cè)模塊的url地址為:http:/localhost:8080/registerservlet。瀏覽物品模塊的url地址為:http:/localhost:8080/userdataservlet。3.5.2 url參數(shù)約定規(guī)則在注冊(cè)模塊和登陸模塊中用戶的帳號(hào)約定為id;用戶的密碼約定為pw。在查詢的模塊中首先以書(shū)名為查詢參數(shù),參數(shù)約定為n
31、ame;在登陸中如果登陸成功則返回給客戶端yes返回失敗返回no。3.5.3 接收和發(fā)送的xml文檔格式的約定在查詢的模塊中往客戶端發(fā)送的xml格式的約定為元素的文本內(nèi)容物品的名字,元素文本內(nèi)容為物品的id,元素內(nèi)容為產(chǎn)地,元素內(nèi)容為價(jià)格,元素內(nèi)容為物品描述信息,元素內(nèi)容為數(shù)量。如果根節(jié)點(diǎn)不為則表示查詢失敗返回的是失敗信息。查詢成功xml式樣如下:nameidauthorpricedescriptionquantity查詢失敗xml式樣如下:there is something wrong here在購(gòu)買(mǎi)模塊中要購(gòu)買(mǎi)物品的需要物品的id。id約定為元素的內(nèi)容,購(gòu)買(mǎi)數(shù)量約定為元素的內(nèi)容。接收的x
32、ml文檔為:idquantity3.6 數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)3.6.1 注冊(cè)用戶基本信息表user表user包含4個(gè)字段,分別是account,password,username,tele,其中account設(shè)置為主鍵,如表1。表1 用戶基本信息表列名數(shù)據(jù)屬性長(zhǎng)度是否為nul是否主鍵accountchar8否是passwordchar8否否usernamechar8是否telechar8是否3.6.2 商品信息表商品信息表是物品基本信息的簡(jiǎn)單介紹,它其中包括7個(gè)字段,分別是name,id,press,descrption1,price,author,quantity其中設(shè)置id為主鍵,如表2。表
33、2 商品信息表列名數(shù)據(jù)屬性長(zhǎng)度是否能為null是否主鍵namechar8能否idchar8否是pressvarchar1024能否authorvarchar1024能否decrpiton1text8000能否pricemoney4能否quantityint2能否4 具體的設(shè)計(jì)流程和實(shí)現(xiàn)系統(tǒng)構(gòu)架4.1 系統(tǒng)主要工作流程在客戶端進(jìn)入啟動(dòng)畫(huà)面的時(shí)候,對(duì)于有賬號(hào)用戶來(lái)說(shuō)可以首先選擇是否登陸。如果不想登陸也可以退出系統(tǒng)。若用戶沒(méi)賬號(hào)首先要申請(qǐng)帳號(hào),如果不想申請(qǐng)帳號(hào)則也直接退出系統(tǒng)。假設(shè)用戶申請(qǐng)成功,則進(jìn)入登陸流程,如果登陸成功。用戶就可以瀏覽物品,如果不想購(gòu)買(mǎi)物品,也可以直接推出系統(tǒng)。如果購(gòu)買(mǎi)物品,若成
34、功可以選擇退出,或則繼續(xù)瀏覽物品。流程圖如圖2。圖2系統(tǒng)流程圖4.2 系統(tǒng)功能模塊設(shè)計(jì)4.2.1 注冊(cè)模塊的設(shè)計(jì)客戶第一次使用系統(tǒng)的時(shí)候必須先進(jìn)行注冊(cè)。在服務(wù)端的要的注冊(cè)模塊要完成的工作便是接受客戶的注冊(cè)資料然后與自己的數(shù)據(jù)庫(kù)的已有客戶資料進(jìn)行比對(duì),看看有沒(méi)有賬號(hào)和用戶所的賬號(hào)是否重復(fù),如果重復(fù)在要返回提示信息就用戶賬號(hào)已經(jīng)存在。如果沒(méi)有在把要把用戶注冊(cè)的資料插入的用戶信息表,而后返回注冊(cè)成功信息以及用戶注冊(cè)的名字和密碼。圖3和圖4顯示了失敗和成功的信息。下面是程序要引用的包:import java.util.*;import javax.servlet.*; import javax.ser
35、vlet.http.*;import java.io.*; import java.sql.*;import javax.sql.*;import myhttp.*;import org.jdom.element;import org.jdom.document;import org.jdom.output.xmloutputter;import java.sql.sqlexception;使用doget()方法來(lái)對(duì)應(yīng)客戶端的請(qǐng)求。然后設(shè)置發(fā)送的文本樣式response.setcontenttype(text/plain; charset = utf-8);用request.getparame
36、ter()提取客戶段發(fā)送的參數(shù)。查詢數(shù)據(jù)庫(kù)的設(shè)計(jì)如下:/*-*在數(shù)據(jù)庫(kù)進(jìn)行查詢看看是否用戶名已經(jīng)存在,存在返回true,否則返回false。*-*/private boolean dbconnection(string account) connection conn = null; resultset rs = null; statement stmt = null; boolean ft = false; try jdbcdemo da = new jdbcdemo(); conn = da.getconnection(); stmt = conn.createstatement(); s
37、tring command=select account from shenfeng128 where account =+account+; rs = stmt.executequery(command); if(rs.next() ft = true; rs.close(); stmt.close(); conn.close(); system.out.println(database connect success); catch (exception e) e.printstacktrace(); system.out.print(there isomething wrong here
38、); return ft; 然后是查詢成功發(fā)送的實(shí)現(xiàn)如何/*-*更新數(shù)據(jù)庫(kù),如果更新成功返回更新所影響的行數(shù),否則返回0*-*/ private int dbconnectionupdate(string account,string password) connection conn = null; resultset rs = null; int count = 0; statement stmt = null; try jdbcdemo da = new jdbcdemo(); conn = da.getconnection(); stmt = conn.createstatement(
39、); string command = insert into shenfeng128 values(+account+,+password+); count = stmt.executeupdate(command); if(rs != null) rs.close(); if(stmt != null) stmt.close(); if(conn != null) conn.close(); system.out.println(databaseupdatesuccess); catch (exception e) e.printstacktrace(); system.out.print
40、(there something wrong here); finally return count; 圖 3 注冊(cè)失敗截圖圖 4 注冊(cè)失敗截圖4.2.2 登陸模塊的設(shè)計(jì)4.2.3 查詢模塊的實(shí)現(xiàn)當(dāng)用戶登陸成功后的操作可能是查詢圖書(shū)的資料,查詢的操作是輸入查詢事物的名字,如果有此事物,在服務(wù)端向客戶端返回查詢的詳細(xì)信息,其中信息的格式可以是xml的形式。也可以選擇以字符串的形式發(fā)送。查詢成功發(fā)送給客戶端的數(shù)據(jù)截圖如圖6。查詢數(shù)據(jù)庫(kù)的模塊如下:/*-*get connect to databaset then quering and return the resultset*-*/ privat
41、e string dbconnection(string name,string table) if(name = null | table = null) return null; string str = null; connection conn = null; resultset rs = null; statement stmt = null; try jdbcdemo da = new jdbcdemo(); conn = da.getconnection(); stmt = conn.createstatement(); string command = select * fro
42、m +table+ where name=+ name +; rs = stmt.executequery(command); str = tosstring(rs); rs.close(); stmt.close(); conn.close(); system.out.println(database connect success); catch (exception e) system.out.print(there is something wrong here); return str; 查詢數(shù)據(jù)庫(kù)的結(jié)果集可以轉(zhuǎn)換成字符串的形式,也可以轉(zhuǎn)換成xml的格式。轉(zhuǎn)換字符串的實(shí)現(xiàn)如下:/*-
43、*build resultset to string*-*/ private string tosstring(resultset rs) stringbuffer s1 = new stringbuffer(); stringbuffer s2 = new stringbuffer(); stringbuffer s3 = new stringbuffer(); stringbuffer s = new stringbuffer( ); try while (rs.next() s.append(-n); s.append(id = +rs.getstring(id)+n); s.append(name= +rs.getstring(name)+n); system.out.println(rs.getstring(name); s.append(price= +rs.getstring(price)+n) ; s.append(press= +rs.getstring(press) ; s.append(quantity=+rs.getstring(quan
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全責(zé)任協(xié)議合同
- 2025年貨運(yùn)從業(yè)模擬考試題庫(kù)
- 2025年本溪a2貨運(yùn)從業(yè)資格證模擬考試題
- 2025年鐵嶺下載b2貨運(yùn)從業(yè)資格證模擬考試考試
- 電力負(fù)荷平衡合同(2篇)
- 某市人力資源和社會(huì)保障局2024年度政治生態(tài)分析報(bào)告
- 2024-2025學(xué)年高中地理課時(shí)分層作業(yè)1地球的宇宙環(huán)境含解析魯教版必修1
- 2024-2025學(xué)年高中英語(yǔ)Module5GreatPeopleandGreatInventionsofAncientChinaSectionⅡGrammar課后篇鞏固提升外研版必修3
- 2024-2025學(xué)年四年級(jí)語(yǔ)文上冊(cè)第五單元18爭(zhēng)吵說(shuō)課稿語(yǔ)文S版
- 托班第一學(xué)期工作總結(jié)
- 五四制青島版三年級(jí)數(shù)學(xué)下學(xué)期教學(xué)計(jì)劃
- 2024年常德職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)
- ABB工業(yè)機(jī)器人應(yīng)用技術(shù) 課件 2.6系統(tǒng)輸入輸出與IO信號(hào)的關(guān)聯(lián)
- 山東省濟(jì)南市2023-2024學(xué)年高二上學(xué)期期末考試化學(xué)試題 附答案
- 2025 年福建省中考語(yǔ)文試題:作文試題及范文
- 短視頻運(yùn)營(yíng)績(jī)效考核表KPI-企業(yè)管理
- 慢性心衰的管理:2024年國(guó)家心衰指南更新
- 15J403-1-樓梯欄桿欄板(一)
- QC課題提高金剛砂地面施工一次合格率
- 呼吸科護(hù)理管理制度
- TCI 331-2024 工業(yè)污染源產(chǎn)排污核算系數(shù)制定通則
評(píng)論
0/150
提交評(píng)論