計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì)論文-汽車(chē)售后服務(wù)中心網(wǎng)上訂購(gòu)系統(tǒng)的實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  汽車(chē)售后服務(wù)中心網(wǎng)上訂購(gòu)系統(tǒng)的實(shí)現(xiàn)</p><p><b>  摘要</b></p><p>  JSP技術(shù)是當(dāng)前較為熱門(mén)的Web開(kāi)發(fā)技術(shù)。本文主要介紹了基于JSP技術(shù)的電子商務(wù)動(dòng)態(tài)網(wǎng)站,主要功能是實(shí)現(xiàn)客戶端和服務(wù)器端的動(dòng)態(tài)交互。共分為五個(gè)模塊:客戶登錄模塊、商品信息模塊、客戶信息模塊、訂單處理模塊、技術(shù)論壇模塊。具體功能的實(shí)現(xiàn)利用JavaBea

2、ns組件技術(shù),Servlet 技術(shù),JDBC與數(shù)據(jù)庫(kù)技術(shù)。本文從電子商務(wù)的概況說(shuō)起,就當(dāng)前最熱門(mén)的動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)工具JSP、ASP、PHP從技術(shù)上進(jìn)行了分析和比較,肯定了JSP在構(gòu)建動(dòng)態(tài)網(wǎng)站中的優(yōu)勢(shì),對(duì)JSP的基本工作原理以及一些主要技術(shù)作了說(shuō)明。接著主要介紹了基于JSP技術(shù)的電子商務(wù)動(dòng)態(tài)網(wǎng)站具體設(shè)計(jì)及實(shí)現(xiàn)。最后對(duì)本次畢業(yè)設(shè)計(jì)做出了總結(jié)。</p><p>  關(guān)鍵詞:電子商務(wù);動(dòng)態(tài)網(wǎng)站;JSP;JavaBean;J

3、DBC</p><p>  Purchasing System on Internet of Automobile After-sale Service</p><p>  Abstract: </p><p>  JSP is a quite popular technology in website developing. This paper introduc

4、es the construction of an e-commerce website based on JSP,of which the main function is to realize the interaction between client end and server end. Its functional modules include client login checking 、merchandize inf

5、ormation、clients information and order processing technology forum. Some related technologies such as JavaBean 、Servlet 、JDBC、ODBC are used in the developing of this system. Starting with brief introduct</p><

6、p>  Keywords: E-commerce; Dynamic websites; JSP; JavaBean; JDBC</p><p><b>  1 緒 論</b></p><p>  近年來(lái),隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益進(jìn)入人們工作與學(xué)習(xí)的各個(gè)方面。電子商務(wù)打破了傳統(tǒng)的“推銷(xiāo)員滿天飛”,“采購(gòu)員遍地跑”,“說(shuō)破了嘴,跑斷了腿”

7、的商務(wù)活動(dòng),給人們的生活與消費(fèi)帶來(lái)了極大的便利。 </p><p>  該系統(tǒng)是一個(gè)網(wǎng)上訂購(gòu)系統(tǒng),它是電子商務(wù)應(yīng)用三種類(lèi)型中的B-B模式,即企業(yè)與企業(yè)之間的電子商務(wù)。我們的目的不僅是客戶能夠便捷地和企業(yè)進(jìn)行商務(wù)來(lái)往,即通過(guò)登錄我們的網(wǎng)站能夠進(jìn)行商品的查看、購(gòu)買(mǎi),客戶自身信息的修改以及訂單的創(chuàng)建修改,而且還要對(duì)企業(yè)內(nèi)部提供一種方便實(shí)用的操作平臺(tái)。 該系統(tǒng)是建立在一個(gè)汽車(chē)配件管理系統(tǒng)之中的,所以說(shuō)它就是企業(yè)面向客戶

8、的一個(gè)窗口。通過(guò)這個(gè)窗口,客戶能夠呆在原地就達(dá)到采購(gòu)的目的,它能夠?yàn)榭蛻艄?jié)省大量時(shí)間與金錢(qián)上的開(kāi)支.這樣就更加體現(xiàn)了“顧客就是上帝”、“一切為顧客著想”的商業(yè)宗旨。</p><p>  目前,商務(wù)網(wǎng)站的應(yīng)用以其獨(dú)有的優(yōu)越性,越來(lái)越多的影響著我們的生活,并且對(duì)傳統(tǒng)的商業(yè)形式造成了很大的沖擊。動(dòng)態(tài)網(wǎng)站技術(shù)便是這一發(fā)展的重要的技術(shù)依托。國(guó)際上比較流行的動(dòng)態(tài)網(wǎng)站技術(shù)有ASP、JSP、PHP等,而JSP已經(jīng)成為開(kāi)發(fā)Web動(dòng)

9、態(tài)網(wǎng)站的重要而快速、有效的工具,它是全新的網(wǎng)絡(luò)服務(wù)器端技術(shù)。</p><p>  該系統(tǒng)是一個(gè)電子商務(wù)網(wǎng)站,但又不同于一般的電子商務(wù)網(wǎng)站。因?yàn)椴⒉皇撬械木W(wǎng)絡(luò)用戶都能進(jìn)入我們的網(wǎng)站,進(jìn)入該系統(tǒng)的客戶必須是被授權(quán)的合法用戶。所以它的功能相對(duì)來(lái)說(shuō)簡(jiǎn)單一些。另外,在界面設(shè)計(jì)方面,由于沒(méi)有專(zhuān)業(yè)的美工人員,在頁(yè)面上相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,沒(méi)有體現(xiàn)一定的藝術(shù)美感。但我們將會(huì)本著功能與界面的最大統(tǒng)一,以及易于維護(hù)性的指導(dǎo)思想,來(lái)創(chuàng)建

10、出一個(gè)讓客戶與我們都滿意的電子商務(wù)網(wǎng)站。</p><p><b>  2電子商務(wù)概述</b></p><p>  2.1 什么叫電子商務(wù)</p><p>  電子商務(wù)(Electronic Commerce)是在Internet開(kāi)放的網(wǎng)絡(luò)環(huán)境下,基于瀏覽器/服務(wù)器應(yīng)用方式,實(shí)現(xiàn)消費(fèi)者的網(wǎng)上購(gòu)物、商戶之間的網(wǎng)上交易和在線電子支付的一種新型的商業(yè)運(yùn)

11、營(yíng)模式。 Internet上的電子商務(wù)可以分為三個(gè)方面:信息服務(wù)、交易和支付。</p><p>  2.2 電子商務(wù)的組成</p><p>  在電子商務(wù)的運(yùn)作過(guò)程中涉及到企業(yè)或個(gè)人的消費(fèi)者、網(wǎng)上的商業(yè)機(jī)構(gòu)、CA認(rèn)證中心、物流配送體系和銀行。它們通過(guò)Internet網(wǎng)絡(luò)連接在一起。形式如圖2.1所示。</p><p>  圖2.1 電子商務(wù)的組成</p>

12、<p>  2.3 電子商務(wù)應(yīng)用的三種類(lèi)型</p><p>  2.3.1 企業(yè)內(nèi)部電子商務(wù) </p><p>  即企業(yè)內(nèi)部之間,通過(guò)企業(yè)內(nèi)部網(wǎng)(Intranet)的方式處理與交換商貿(mào)信息。企業(yè)內(nèi)部網(wǎng)(Intranet)是一種有效的商務(wù)工具,通過(guò)防火墻,企業(yè)將自己的內(nèi)部網(wǎng)與Internet隔離,它可以用來(lái)自動(dòng)處理商務(wù)操作及工作流,增強(qiáng)對(duì)重要系統(tǒng)和關(guān)鍵數(shù)據(jù)的存取,共享經(jīng)驗(yàn),

13、共同解決客戶問(wèn)題,并保持組織間的聯(lián)系。 通過(guò)企業(yè)內(nèi)部的電子商務(wù),可以給企業(yè)帶來(lái)如下好處:增加商務(wù)活動(dòng)處理的敏捷性,對(duì)市場(chǎng)狀況能更快的做出反應(yīng),能更好地為客戶提供服務(wù)。</p><p>  2.3.2 企業(yè)間的電子商務(wù)(簡(jiǎn)稱(chēng)為B-B模式)</p><p>  即企業(yè)與企業(yè)(Business-Business)之間,通過(guò)INTERNET或?qū)S镁W(wǎng)方式進(jìn)行電子商務(wù)活動(dòng)。 企業(yè)間的電子商務(wù)是電子商

14、務(wù)三種模式中最值得關(guān)注和探討的,因?yàn)樗罹哂邪l(fā)展的潛力。據(jù)IDG公司1997年9月的統(tǒng)計(jì),1997年全球在INTERNET網(wǎng)上進(jìn)行的電子商務(wù)金額為100億美元,其中企業(yè)間的商務(wù)活動(dòng)占其中的79%。Forrester研究公司預(yù)計(jì)企業(yè)間的商務(wù)活動(dòng)將以三倍于企業(yè)與個(gè)人間電子商務(wù)的速度發(fā)展。這是因?yàn)?,在現(xiàn)實(shí)物理世界中,企業(yè)間的商務(wù)貿(mào)易額是消費(fèi)者直接購(gòu)買(mǎi)的10倍。 </p><p>  2.3.3 企業(yè)與消費(fèi)者之間的電子

15、商務(wù)(簡(jiǎn)稱(chēng)為B-C模式) </p><p>  即企業(yè)通過(guò)INTERNET為消費(fèi)者提供一個(gè)新型的購(gòu)物環(huán)境--網(wǎng)上商店,消費(fèi)者通過(guò)網(wǎng)絡(luò)在網(wǎng)上購(gòu)物、在網(wǎng)上支付。由于這種模式節(jié)省了客戶和企業(yè)雙方的時(shí)間和空間,大大提高了交易效率,節(jié)省了不必要的開(kāi)支,因此網(wǎng)上購(gòu)物將成為電子商務(wù)的一個(gè)最熱鬧的話題。</p><p><b>  3 JSP技術(shù)</b></p><

16、;p>  3.1 動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)簡(jiǎn)介</p><p>  使用不同技術(shù)編寫(xiě)的動(dòng)態(tài)頁(yè)面保存在WEB服務(wù)器內(nèi),當(dāng)客戶端用戶向WEB服務(wù)器發(fā)出訪問(wèn)動(dòng)態(tài)頁(yè)面的請(qǐng)求時(shí),WEB服務(wù)器將根據(jù)用戶所訪問(wèn)頁(yè)面的后綴名確定該頁(yè)面所使用的網(wǎng)絡(luò)編程技術(shù),然后把該頁(yè)面提交給相應(yīng)的解釋引擎;解釋引擎掃描整個(gè)頁(yè)面找到特定的定界符,并執(zhí)行位于定界符內(nèi)的腳本代碼以實(shí)現(xiàn)不同的功能,如訪問(wèn)數(shù)據(jù)庫(kù),發(fā)送電子郵件,執(zhí)行算術(shù)或邏輯運(yùn)算等,最后把執(zhí)行結(jié)果

17、返回WEB服務(wù)器;最終,WEB服務(wù)器把解釋引擎的執(zhí)行結(jié)果連同頁(yè)面上的HTML內(nèi)容以及各種客戶端腳本一同傳送到客戶端。雖然,客戶端用戶所接收到的頁(yè)面與傳統(tǒng)頁(yè)面并沒(méi)有任何區(qū)別,但是,實(shí)際上頁(yè)面內(nèi)容已經(jīng)經(jīng)過(guò)了服務(wù)端處理,完成了動(dòng)態(tài)的個(gè)性化設(shè)置。</p><p>  3.2 動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)的特點(diǎn) </p><p>  所謂“動(dòng)態(tài)”,并不是指那幾個(gè)放在網(wǎng)頁(yè)上的GIF動(dòng)態(tài)圖片,人們一般認(rèn)為動(dòng)態(tài)頁(yè)面技術(shù)

18、有以下幾個(gè)特點(diǎn):   (1)“交互性”:即網(wǎng)頁(yè)會(huì)根據(jù)用戶的要求和選擇而動(dòng)態(tài)改變和響應(yīng),將瀏覽器作為客戶端界面,這將是今后WEB發(fā)展的大勢(shì)所趨?! 。?)“自動(dòng)更新”:即無(wú)須手動(dòng)地更新HTML文檔,便會(huì)自動(dòng)生成新的頁(yè)面,可以大大節(jié)省工作量。  (3)“因時(shí)因人而變”:即當(dāng)不同的時(shí)間、不同的人訪問(wèn)同一網(wǎng)址時(shí)會(huì)產(chǎn)生不同的頁(yè)面。</p><p>  3.3 流行動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)比較 <

19、/p><p>  目前主流的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)有JSP、ASP、PHP ,這幾種技術(shù)各有特點(diǎn)了,現(xiàn)在分別介紹如下: </p><p>  3.3.1 ASP </p><p>  ASP是Microsoft Active Server Pages簡(jiǎn)稱(chēng),它是一套微軟開(kāi)發(fā)的服務(wù)器端腳本環(huán)境,ASP內(nèi)含于IIS 3.0 (Internet Information Se

20、rver)及其以上版本中。通過(guò)ASP指令和ActiveX組件我們可以應(yīng)用DHTML建立動(dòng)態(tài)的交互的高效的 WEB 服務(wù)器應(yīng)用程序。有了ASP你就不必?fù)?dān)心客戶的瀏覽器是否能運(yùn)行你所編寫(xiě)的代碼,因?yàn)樗械某绦蚨紝⒃诜?wù)器端執(zhí)行的,包括所有嵌套在普通HTML 中的腳本程序。當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。所以ASP具有簡(jiǎn)單易學(xué),安裝方便,開(kāi)發(fā)工具強(qiáng)大而多樣,效率高

21、的強(qiáng)勢(shì);但ASP同時(shí)也具有很多的缺點(diǎn),可以說(shuō)明如下:</p><p>  (1) Windows本身的所有問(wèn)題都會(huì)一成不變地累加到它的身上。</p><p>  (2) ASP由于使用了COM組件,所以它會(huì)變得十分強(qiáng)大,但是這樣的強(qiáng)大由于Windows NT系統(tǒng)最初的設(shè)計(jì)問(wèn)題而會(huì)引發(fā)大量的安全問(wèn)題。只要在這樣的組件或是操作中稍不注意,外部攻擊就可以取得相當(dāng)高的權(quán)限而導(dǎo)致網(wǎng)站癱瘓或是數(shù)據(jù)丟失

22、。</p><p>  (3) ASP還是一種Script語(yǔ)言,所以除了大量使用組件外,沒(méi)有別的辦法提高其工作效率。它必須面對(duì)即時(shí)編譯的時(shí)間考驗(yàn)。</p><p>  (4) 無(wú)法實(shí)現(xiàn) 跨操作系統(tǒng)的應(yīng)用。</p><p>  (5) 無(wú)法完全實(shí)現(xiàn)企業(yè)級(jí)的功能 :完全的集群、負(fù)載均衡。</p><p>  3.3.2 PHP  </

23、p><p>  PHP----Hypertext Preprocessor(超文本預(yù)處理器),是一種易于學(xué)習(xí)和使用的服務(wù)器端腳本語(yǔ)言,是生成動(dòng)態(tài)網(wǎng)頁(yè)的工具之一。它是嵌入HTML文件的一種腳本語(yǔ)言。七語(yǔ)法大部分是從C,JAVA,PERL語(yǔ)言中借來(lái),并形成了自己的獨(dú)有風(fēng)格;目標(biāo)是讓W(xué)EB程序員快速的開(kāi)發(fā)出動(dòng)態(tài)的網(wǎng)頁(yè)。PHP是完全免費(fèi)的,可以不受限制的獲得源碼,甚至可以從中加進(jìn)你自己需要的特色。PHP在大多數(shù)Unix平臺(tái),

24、GUN/Linux和微軟Windows平臺(tái)上均可以運(yùn)行。與ASP、JSP一樣,PHP也可以結(jié)合HTML語(yǔ)言共同使用;它與HTML語(yǔ)言具有非常好的兼容性,使用者可以直接在腳本代碼中加入HTML標(biāo)簽,或者在HTML標(biāo)簽中加入腳本代碼從而更好的實(shí)現(xiàn)頁(yè)面控制,提供更加豐富的功能。 PHP的優(yōu)點(diǎn)有:</p><p>  (1) 它是一種能快速學(xué)習(xí)、跨平臺(tái)、有良好數(shù)據(jù)庫(kù)交互能力的開(kāi)發(fā)語(yǔ)言。</p><p

25、>  (2) 與Apache及其它擴(kuò)展庫(kù)結(jié)合緊密。PHP與Apache可以以靜態(tài)編譯的方式結(jié)合起來(lái),而與其他的擴(kuò)展庫(kù)也可以用這樣的方式結(jié)合。</p><p>  (3) 好的安全性。</p><p><b>  PHP的缺點(diǎn)有:</b></p><p>  (1) 數(shù)據(jù)庫(kù)支持的極大變化。</p><p><b

26、>  (2) 安裝復(fù)雜。</b></p><p>  (3) 缺少正規(guī)的商業(yè)支持。</p><p>  (4) 無(wú)法實(shí)現(xiàn)商品化應(yīng)用的開(kāi)發(fā)。</p><p>  3.3.3 JSP </p><p>  JSP(Java Server Pages)是由Sun Mic

27、rosystem公司于1999/6推出的新技術(shù),是基于Java Servlet以及整個(gè)Java體系的Web開(kāi)發(fā)技術(shù)。JSP頁(yè)面是由HTML代碼和嵌入其中的Java代碼所組成.服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器.。利用這一技術(shù)可以建立先進(jìn)、安全和跨平臺(tái)的動(dòng)態(tài)網(wǎng)站。</p><p><b>  JSP的優(yōu)點(diǎn):</b></p&

28、gt;<p>  (1) 一次編寫(xiě),到處運(yùn)行。</p><p>  (2) 系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。</p><p>  (3) 從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理、消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,

29、Java顯示了一下巨大的生命力。</p><p>  (4) 多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。</p><p><b>  JSP的缺點(diǎn):</b></p><p>  (1) 正是由于跨平臺(tái)的功能,為了極度的伸縮能力,所以極大地增加了產(chǎn)品的復(fù)雜性。</p><p>  (2) Java的運(yùn)行速度是用class常駐內(nèi)存來(lái)完

30、成的,所以它在一些情況下所使用的內(nèi)存比用戶數(shù)量來(lái)說(shuō) 是“最低性能價(jià)格比。</p><p>  以上3種技術(shù),皆在制作動(dòng)態(tài)網(wǎng)頁(yè)上各顯神通。尤其是基于強(qiáng)大的Java語(yǔ)言的JSP技術(shù),具有良好的伸縮性,與JavaEnterprise API緊密地集成在一起,在網(wǎng)絡(luò)數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)領(lǐng)域具有得天獨(dú)厚的優(yōu)勢(shì),基于Java平臺(tái)構(gòu)建網(wǎng)絡(luò)程序已經(jīng)被越來(lái)越多的人認(rèn)為是最有發(fā)展前途的技術(shù)。</p><p>  3

31、.4 JSP動(dòng)態(tài)網(wǎng)頁(yè)生成的技術(shù)原理</p><p>  JSP(Java Server Pages)是由Sun公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),他在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP網(wǎng)頁(yè)(*.jsp)。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫(kù)

32、、重新定向網(wǎng)頁(yè)以及發(fā)送E-mail等,這就是建立動(dòng)態(tài)網(wǎng)站時(shí)經(jīng)常需要的功能。</p><p>  JSP是面向服務(wù)器的,因此支持任何瀏覽器,其工作方式如圖3.1所示。當(dāng)Web服務(wù)器和JSP引擎遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),JSP引擎將請(qǐng)求對(duì)象發(fā)送給服務(wù)器端的相關(guān)組件,比如JavaBean TM組件、Servlet或EJB等,然后由服務(wù)器端組件處理這些請(qǐng)示,可能需要從數(shù)據(jù)庫(kù)或數(shù)據(jù)存儲(chǔ)中檢索信息,然后服務(wù)器端組件再將響應(yīng)

33、對(duì)象返回JSP引擎。JSP引擎將響應(yīng)對(duì)象傳遞給JSP頁(yè)面,根據(jù)JSP頁(yè)面的HTML格式完成數(shù)據(jù)編排,最后Web服務(wù)器和JSP引擎將格式化后的JSP頁(yè)面以HTML格式返回客戶瀏覽器。這就是當(dāng)前網(wǎng)站構(gòu)造中廣泛采用的瀏覽器—Web服務(wù)器—后臺(tái)數(shù)據(jù)庫(kù)的三層架構(gòu)模式。因JSP所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。</p><p>  圖3.1 JSP網(wǎng)頁(yè)工作基本原理</p>&l

34、t;p>  3.5 JSP動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)的特點(diǎn) </p><p>  (1) 將內(nèi)容的生成和顯示分離。</p><p>  使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終的頁(yè)面。使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和

35、Bean中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。</p><p>  (2) 生成可重用的組件。</p><p>  絕大多數(shù)JSP頁(yè)面依賴(lài)于可重用的、跨平臺(tái)的組件來(lái)執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團(tuán)體所使用。</p><p>  

36、(3) 用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)。 </p><p>  Web頁(yè)面開(kāi)發(fā)人員不一定都是熟悉腳本語(yǔ)言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP技術(shù)相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成時(shí)所需要的。</p><p>  (4) JSP能提供所有的Servlet功能。</p><p>  (5) 健壯的存儲(chǔ)管理和安全性。</p><p&g

37、t;  由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java編程語(yǔ)言的,而且所有的JSP頁(yè)面都被編譯成為Java Servlet,JSP頁(yè)面就具有JAVA技術(shù)的所有優(yōu)點(diǎn),包括健壯的存儲(chǔ)管理和安全性。</p><p>  (6) 一次編寫(xiě),隨處運(yùn)行。</p><p>  (7) JSP的平臺(tái)適應(yīng)性更廣。</p><p>  這是JSP比ASP的優(yōu)越之處。幾乎所有的平臺(tái)都支持Ja

38、va、JSP+JavaBeans, 它們可以在任何平臺(tái)下通行無(wú)阻。</p><p>  3.6 JavaBeans在JSP中的應(yīng)用</p><p>  3.6.1 JavaBeans</p><p>  它是一個(gè)可重復(fù)使用的軟件部件,該部件可以用來(lái)生成其進(jìn)行可視化處理的組件。一個(gè)組件即Java應(yīng)用程序或Applet的可重復(fù)使用的部件就是一個(gè)Bean。JavaBea

39、n傳統(tǒng)的應(yīng)用在于可視化領(lǐng)域,如ATM(窗口抽象工具集)下的應(yīng)用?,F(xiàn)在,JavaBean更多的應(yīng)用在不可視化領(lǐng)域,它在服務(wù)器端應(yīng)用方面表現(xiàn)出了越來(lái)越強(qiáng)的生命力。它們同樣使用屬性和事件。不可視化的JavaBean在JSP程序中常用封裝事務(wù)邏輯、數(shù)據(jù)庫(kù)操作等,可以很好地實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序的分離,使得系統(tǒng)具有更好得健壯性和靈活性。</p><p>  3.6.2 JavaBean的特點(diǎn)</p><

40、;p>  (1) 可以實(shí)現(xiàn)代碼的重復(fù)利用。</p><p>  (2) 易維護(hù)性、易使用性、易編寫(xiě)。</p><p>  (3) 可以在支持Java的任何平臺(tái)上工作,而不需要重新編譯。</p><p>  (4) 可以在內(nèi)部、網(wǎng)內(nèi)或者是網(wǎng)絡(luò)之間進(jìn)行傳輸。</p><p>  (5) 可以以其他部件的模式進(jìn)行工作。</p>

41、<p>  3.6.3 JavaBean的屬性</p><p>  屬性是Bean組件內(nèi)部狀態(tài)的抽象表示。JavaBean的屬性可以分為以下四類(lèi):</p><p>  (1) Simple簡(jiǎn)單的:它依賴(lài)于標(biāo)準(zhǔn)命名來(lái)定義getXXX() 方法和setXXX()方法。</p><p>  (2) Indexed索引的:允許讀取和設(shè)置整個(gè)數(shù)組的值,也允許使用數(shù)

42、組索引單獨(dú)地讀取和設(shè)置數(shù)組元素。</p><p>  (3) Bound 綁定的:其值發(fā)生變化時(shí)要廣播經(jīng)屬性變化監(jiān)聽(tīng)器的屬性。</p><p>  (4) Constrained約束的:那些值發(fā)生改變及起作用之前,必須由約束屬性變化監(jiān)聽(tīng)器生效的屬性。</p><p>  3.7 在JSP開(kāi)發(fā)中使用數(shù)據(jù)庫(kù)</p><p>  3.7.1 JD

43、BC技術(shù)工作原理</p><p>  JDBC是Java數(shù)據(jù)庫(kù)連接(Java Data Base Connectivity)技術(shù)的簡(jiǎn)稱(chēng),是為各種常用數(shù)據(jù)庫(kù)提供無(wú)縫連接的技術(shù)。JDBC向應(yīng)用程序開(kāi)發(fā)者提供了獨(dú)立于數(shù)據(jù)庫(kù)的統(tǒng)一的API,這個(gè)API提供了編寫(xiě)的標(biāo)準(zhǔn)和考慮不同應(yīng)用程序設(shè)計(jì)的標(biāo)準(zhǔn)。其奧秘是一組由驅(qū)動(dòng)程序?qū)崿F(xiàn)的Java接口。驅(qū)動(dòng)負(fù)責(zé)標(biāo)準(zhǔn)JDBC調(diào)用向支持的數(shù)據(jù)庫(kù)所要的具體轉(zhuǎn)變。JDBC API中有兩層接口:應(yīng)

44、用程序?qū)?,開(kāi)發(fā)人員用API通過(guò)SQL調(diào)用數(shù)據(jù)庫(kù)和取得結(jié)果;驅(qū)動(dòng)程序?qū)?,處理與具體驅(qū)動(dòng)程序版本的所有通信。</p><p>  3.7.2 JDBC四種類(lèi)型的驅(qū)動(dòng)</p><p>  (1) JDBC-ODBC Bridge </p><p>  它為Java應(yīng)用程序提供了一種把JDBC 調(diào)用映射為ODBC調(diào)用的方法。因此,需要在客戶端機(jī)器上安裝一個(gè)ODBC驅(qū)動(dòng)。&

45、lt;/p><p>  (2) JDBC Native Bridge </p><p>  它提供了一個(gè)建筑在本地?cái)?shù)據(jù)庫(kù)驅(qū)動(dòng)上的JDBC接口。</p><p>  (3) JDBC –Network Bridge </p><p>  它不需要客戶端的數(shù)據(jù)庫(kù)驅(qū)動(dòng),而是使用網(wǎng)絡(luò)-服務(wù)器中層來(lái)訪問(wèn)一個(gè)數(shù)據(jù)庫(kù)。</p><p>

46、  (4) pure Java JDBC drive </p><p>  純Java驅(qū)動(dòng)運(yùn)行在客戶端,并且直接訪問(wèn)數(shù)據(jù)庫(kù),因此運(yùn)行這個(gè)模式要使用一個(gè)兩個(gè)層的體系。</p><p>  3.7.3 JDBC對(duì)數(shù)據(jù)庫(kù)記錄訪問(wèn)的實(shí)現(xiàn)</p><p>  JDBC有一個(gè)非常獨(dú)特的動(dòng)態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用JDBC來(lái)完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)包括以下四個(gè)主要組件:Ja

47、va的應(yīng)用程序、JDBC驅(qū)動(dòng)管理器、驅(qū)動(dòng)器和數(shù)據(jù)源。JDBC實(shí)現(xiàn)訪問(wèn)數(shù)據(jù)庫(kù)記錄步驟</p><p>  (1) 通過(guò)驅(qū)動(dòng)器管理器獲取連接接口。</p><p>  (2) 獲得Statement或它的子類(lèi)。</p><p>  (3) 限制Statement中的參數(shù)。</p><p>  (4) 執(zhí)行Statement。</p>

48、<p>  (5) 查看返回的行數(shù)是否超出范圍。</p><p>  (6) 關(guān)閉Statement。</p><p>  (7) 處理其他的Statement.</p><p>  (8) 關(guān)閉連接接口。</p><p><b>  4 系統(tǒng)具體設(shè)計(jì)</b></p><p>  4.

49、1 總體設(shè)計(jì)思路</p><p>  該網(wǎng)站是一個(gè)網(wǎng)上訂購(gòu)系統(tǒng),可分為面向用戶的前臺(tái)頁(yè)面和面向管理員的后臺(tái)頁(yè)面。對(duì)于用戶而言,它主要實(shí)現(xiàn)的功能有用戶的登錄與相關(guān)信息的修改,商品的購(gòu)買(mǎi)與查看以及訂單的相關(guān)內(nèi)容,還有用于客戶與客戶之間、客戶與企業(yè)之間交流的技術(shù)論壇。對(duì)于管理員而言,他主要實(shí)現(xiàn)的功能為對(duì)用戶、商品以及訂單進(jìn)行相關(guān)的處理。所以對(duì)網(wǎng)站的總體設(shè)計(jì)我們追求的是功能的最大滿足與界面的最佳友好。對(duì)于不同的使用者我們

50、的側(cè)重點(diǎn)也有所不同。</p><p>  界面設(shè)計(jì)思路:美觀、大方、實(shí)用。</p><p>  就頁(yè)面布局來(lái)說(shuō),采用“匡”形結(jié)構(gòu)。色調(diào)主要采用淺黃淺綠相間,主要輔助顏色為白色。頁(yè)面導(dǎo)航按鈕的設(shè)計(jì)上也是簡(jiǎn)單明了。整個(gè)網(wǎng)站風(fēng)格統(tǒng)一,一氣呵成。只在頁(yè)面左邊的相應(yīng)的板塊標(biāo)志圖片或其他文字提示上有所區(qū)別。對(duì)于功能的滿足來(lái)說(shuō),給用戶一個(gè)易于接受的形式來(lái)表達(dá)。我們以一個(gè)條形菜單的形式列出系統(tǒng)所要實(shí)現(xiàn)的主

51、要功能,并且標(biāo)以類(lèi)別,比如有訂單處理、客戶信息、產(chǎn)品,然后在大功能的下面在分別標(biāo)有各自的小功能.以達(dá)到給人一種一目了然的感覺(jué)。 </p><p>  后臺(tái)設(shè)計(jì)思路:自然、通俗、豐富??紤]到網(wǎng)站的管理和維護(hù)人員的實(shí)際操作能力,一個(gè)通俗的后臺(tái)管理界面的設(shè)計(jì)是很有必要的。整個(gè)網(wǎng)站要便于維護(hù)。維護(hù)人員和開(kāi)發(fā)人員能否很好地實(shí)現(xiàn)分工很大程度上依賴(lài)于后臺(tái)管理程序設(shè)計(jì)的水平。實(shí)際上,一個(gè)優(yōu)秀的后臺(tái)程序設(shè)計(jì)是很有必要的,很多

52、網(wǎng)站卻忽略了這一點(diǎn)。</p><p> ?。?2 網(wǎng)站開(kāi)發(fā)語(yǔ)言及其環(huán)境配置</p><p> ?。?2.1 語(yǔ)言選擇</p><p>  本系統(tǒng)的設(shè)計(jì)采用JSP產(chǎn)生一系列高效的交互式WEB應(yīng)用程序。JSP技術(shù)使用的設(shè)計(jì)環(huán)境,用戶可以自己定義和制作組件加入其中,使自己的動(dòng)態(tài)網(wǎng)頁(yè)幾乎具有無(wú)限的擴(kuò)充能力,這是傳統(tǒng)的CGI等程序所遠(yuǎn)遠(yuǎn)不及的地方。JSP中的命令和Scrip

53、t語(yǔ)句都是由服務(wù)器來(lái)解釋執(zhí)行的,執(zhí)行結(jié)果產(chǎn)生動(dòng)態(tài)生成的Web頁(yè)面并送到瀏覽器。</p><p>  由于JSP是在服務(wù)器端解釋執(zhí)行,所以運(yùn)行該電子商務(wù)網(wǎng)站不必考慮瀏覽器是否支持JSP;同時(shí)由于它在服務(wù)器端執(zhí)行,用戶也不必?fù)?dān)心別人下載程序從而竊取編程邏輯。</p><p>  數(shù)據(jù)庫(kù)選用Microsoft SQL Server 2000作為網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù)。</p><p&

54、gt;  4.2.2 運(yùn)行環(huán)境</p><p>  本系統(tǒng)運(yùn)行環(huán)境如下:</p><p><b>  1. 服務(wù)器環(huán)境:</b></p><p>  * 編譯環(huán)境 JDK1.4.1</p><p>  * 后臺(tái)數(shù)據(jù)庫(kù) Microsoft SQL Server 2000</p><p>  * W

55、EB服務(wù)器 Tomcat 5.0</p><p>  * Microsoft ODBC32</p><p>  * 系統(tǒng)平臺(tái) Windows 2000 Server Professional</p><p><b>  2. 用戶端環(huán)境:</b></p><p>  * Windows 98 /2000/xp/2003

56、</p><p>  * 瀏覽器為IE5.0以上</p><p>  4.2.3 Web服務(wù)器配置</p><p>  (1) 下載并安裝JDK1.4.1</p><p>  (2) JDK環(huán)境配置</p><p>  * 打開(kāi)我的電腦-屬性-環(huán)境變量-用戶變量-新建</p><p>  在

57、變量名中輸入 CLASS</p><p>  在變量值中輸入 D:\JDK141\BIN</p><p><b>  * 重復(fù)新建</b></p><p>  在變量名中輸入 CLASSPATH</p><p>  在變量值中輸入 D:\JDK141\LIB\TOOL.JAR</p><p>&l

58、t;b>  * 重復(fù)新建</b></p><p>  在變量名中輸入 JAVA_HOME</p><p>  在變量值中輸入 D:\JDK141</p><p>  (3) 下載并安裝Tomcat 5.0以上</p><p>  (4) 將我的文件夾store復(fù)制到Tomcat\webapps目錄下。</p>

59、<p>  (5) 運(yùn)行Tomcat Administration ,在左側(cè)的菜單欄中選取service,然后點(diǎn)擊其下面的context,右邊區(qū)域右下角的下拉框里選取create new context,在doc輸入下輸入store,在directory中輸入/store,點(diǎn)擊下面的”保存”,點(diǎn)擊上面的commit changes。</p><p> ?。?2.4 SQL Server 服務(wù)器配置&

60、lt;/p><p>  (1)在服務(wù)器上將所給的數(shù)據(jù)庫(kù)文件STORE_Data STORE_log復(fù)制到硬盤(pán)某一目錄下。</p><p> ?。?)一臺(tái)有客戶端的電腦(若服務(wù)器裝了客戶端也行)上打開(kāi)SQL Server 企業(yè)管理器,在目錄樹(shù)中選擇新建registration ;找到目錄所有的SQL Serve 服務(wù)器,選擇剛才數(shù)據(jù)庫(kù)所在的服務(wù)器,輸入管理員名稱(chēng)和密碼,即可連上服務(wù)器。在選擇的數(shù)

61、據(jù)庫(kù)(我用的是Server4)上右擊選擇所有任務(wù)—— 附加數(shù)據(jù)庫(kù) ,找到剛才復(fù)制的文件,選擇確定,完成數(shù)據(jù)庫(kù)的裝載。</p><p> ?。?)建立有登錄和用戶名</p><p>  在Server4下選擇安全—— 登錄—— 左邊右擊 ——新建登錄—— 輸入 登錄名,如BJ2020,輸入口令,設(shè)置默認(rèn)數(shù)據(jù)庫(kù)為store。</p><p>  在store數(shù)據(jù)庫(kù)中選擇

62、用戶,若存在用戶如ah1023,但他沒(méi)有登錄名,則將其刪除,然后新建用戶,設(shè)置其角色為服務(wù)站。</p><p> ?。?2.5 數(shù)據(jù)源的建立</p><p>  如果涉及到數(shù)據(jù)庫(kù),則還要建立數(shù)據(jù)源。方法是:開(kāi)始——設(shè)置——控制面板——管理工具——數(shù)據(jù)源(ODBC),這時(shí)會(huì)出現(xiàn)ODBC數(shù)據(jù)源管理器,在 System DSN中點(diǎn)擊“添加”按鈕,出現(xiàn)創(chuàng)建數(shù)據(jù)源頁(yè)面,選擇你所需要的數(shù)據(jù)源(我用的

63、是SQL Server,因此我選擇的是SQL Server),選擇完成后出現(xiàn)ODBC Microsoft SQL Server安裝界面,選擇你的數(shù)據(jù)庫(kù)所在的服務(wù)器,為你的數(shù)據(jù)源起名(應(yīng)與程序中連接數(shù)據(jù)庫(kù)的數(shù)據(jù)源名相同),然后選擇你的數(shù)據(jù)庫(kù),使用管理員授權(quán)的名稱(chēng)登錄,完成后單擊“確定”,這時(shí)在數(shù)據(jù)源管理器中會(huì)出現(xiàn)你所建立的數(shù)據(jù)源,然后進(jìn)行測(cè)試,如果測(cè)試結(jié)果成功,則說(shuō)明數(shù)據(jù)源建立成功。</p><p>  當(dāng)一切準(zhǔn)

64、備完成后,打開(kāi)服務(wù)器,等服務(wù)器啟動(dòng)成功后在瀏覽器中輸入http://localhost:8080/store/login.htm,就可以登錄該網(wǎng)站了。</p><p>  4.2.6 建立數(shù)據(jù)庫(kù)表和視圖</p><p>  對(duì)于這個(gè)站點(diǎn),因?yàn)槭瞧?chē)配件管理系統(tǒng)對(duì)外的一個(gè)窗口,所以不需要建立其它主要的數(shù)據(jù)庫(kù)表,只需建立技術(shù)論壇所涉及的兩個(gè)表topic、reply即可。該模塊可以看作是與汽車(chē)

65、配件管理系統(tǒng)不相關(guān)的一個(gè)獨(dú)立的模塊。所建的數(shù)據(jù)庫(kù)表如下所示:</p><p><b>  用于發(fā)布帖子的表</b></p><p>  表4.1 topic表</p><p><b>  用于回復(fù)帖子的表</b></p><p>  表4.2 reply 表</p><p>

66、  為了便于查詢、修改,我們建立了幾個(gè)數(shù)據(jù)庫(kù)視圖,這樣我們就可以很方便的在JSP程序中進(jìn)行表中信息的篩選,所建視圖如下所示:</p><p>  名稱(chēng): partformyclient</p><p>  功能: 獲取用戶所關(guān)心的零件信息,如零件號(hào),零件名,零件的價(jià)格,零件的數(shù)量等.</p><p>  CREATE VIEW dbo.partformyclient

67、 AS</p><p>  SELECT dbo.partlistforclient.PartNo, dbo.partlistforclient.PartNameCh, </p><p>  dbo.partlistforclient.PartNameFr, dbo.partlistforclient.PHT, </p><p>  dbo.partlistfo

68、rclient.prmtdiscnt, dbo.partlistforclient.discnt, </p><p>  dbo.StockNSales.Storage</p><p>  FROM dbo.partlistforclient INNER JOIN</p><p>  dbo.StockNSales ON dbo.partlistforclient.

69、PartNo = dbo.StockNSales.PartNo</p><p>  名稱(chēng) :clientorderstatus1</p><p>  功能:獲取訂單的執(zhí)行狀況,其中使用了自定義函數(shù)uf_CheckClientOrderStatus</p><p>  結(jié)果分為:“未處理”,“未處理完”,“處理完畢”</p><p>  CRE

70、ATE VIEW dbo.clientorderstatus1</p><p><b>  AS</b></p><p>  SELECT OrderNo, </p><p>  'OrderType' = CASE WHEN OrderType = 3 THEN '緊急訂購(gòu)' WHEN ordertype =

71、4 THEN '庫(kù)存訂購(gòu)'</p><p>  ELSE '其他訂購(gòu)' END, ClientCode, DateReceipt, DateProcess, Empname, Note, </p><p>  dbo.uf_CheckClientOrderStatus(OrderNo) AS status</p><p>  FRO

72、M dbo.ClientOrders LEFT OUTER JOIN</p><p>  employees ON dbo.clientorders.respempid = dbo.employees.employeeid</p><p>  (3) 名稱(chēng):ClientOrderstatus</p><p>  功能 :用于客戶檢索其訂單的執(zhí)行情況</p&

73、gt;<p><b>  分兩種情況:</b></p><p>  1.已經(jīng)發(fā)運(yùn)的零件:</p><p>  2.訂單的零件尚沒(méi)有發(fā)運(yùn);</p><p>  CREATE VIEW dbo.ClientOrderstatus</p><p><b>  AS</b></p>

74、<p>  SELECT dbo.ClientOrders.OrderNo, dbo.ClientOrderDetails.PartNo,dbo.Parts.PartNameCh, --已經(jīng)發(fā)運(yùn)的項(xiàng)目</p><p>  dbo.ClientOrderDetails.Qty, dbo.OutStockDetails.Qty AS QtyServed, </p><p>  d

75、bo.OutStock.OutStockNo, dbo.OutStock.OutStockDate, dbo.Invoices.InvoiceNo</p><p>  FROM dbo.OutStock LEFT OUTER JOIN</p><p>  dbo.Invoices ON </p><p>  dbo.OutStock.OutStockNo = dbo

76、.Invoices.OutStockNo RIGHT OUTER JOIN</p><p>  dbo.ClientOrders INNER JOIN</p><p>  dbo.ClientOrderDetails ON </p><p>  dbo.ClientOrders.OrderNo = dbo.ClientOrderDetails.OrderNo ON

77、</p><p>  dbo.OutStock.OrderNO = dbo.ClientOrders.OrderNo INNER JOIN</p><p>  dbo.OutStockDetails ON </p><p>  dbo.ClientOrderDetails.PartNo = dbo.OutStockDetails.PartNo AND </p&

78、gt;<p>  dbo.OutStock.OutStockNo = dbo.OutStockDetails.OutStockNo INNER JOIN</p><p>  dbo.Parts ON dbo.ClientOrderDetails.PartNo = dbo.Parts.PartNo AND </p><p>  dbo.OutStockDetails.PartN

79、o = dbo.Parts.PartNo</p><p>  UNION --沒(méi)有出庫(kù)的訂購(gòu)單項(xiàng)目</p><p>  SELECT OrderNo, dbo.ClientOrderDetails.PartNo,dbo.Parts.PartNameCh, Qty, 0 AS Expr1, NULL AS Expr

80、2, NULL AS Expr3, NULL </p><p><b>  AS Expr4</b></p><p>  FROM dbo.ClientOrderDetails inner join dbo.parts on dbo.clientOrderDetails.partno=dbo.parts.partno</p><p>  WHE

81、RE (NOT EXISTS</p><p>  (SELECT * FROM outstock, outstockdetails</p><p>  WHERE outstock.outstockno = outstockdetails.outstockno AND </p><p>  outstockdetails.partno = clientorderd

82、etails.partno AND </p><p>  clientorderdetails.orderno = outstock.orderno))</p><p>  (4) 名稱(chēng):promotionlist</p><p>  功能:促銷(xiāo)商品的信息:包括零件號(hào)、零件名稱(chēng)、價(jià)格、起止日期、折扣率。</p><p>  CREATE V

83、IEW dbo.promotionlist</p><p><b>  AS</b></p><p>  SELECT dbo.Parts.PartNo, dbo.Parts.PartNameCh, dbo.Parts.PHT, </p><p>  dbo.Promotion.EndPromotion, dbo.Promotion.Disco

84、untPromotion, </p><p>  dbo.ClientType.Discount, </p><p>  ROUND(dbo.Parts.PHT * ((1 - dbo.ClientType.Discount / 100.0) </p><p>  - dbo.Promotion.DiscountPromotion / 100.0), 2) AS p

85、rice, </p><p>  ROUND(dbo.Parts.PHT * dbo.Promotion.DiscountPromotion / 100.0, 2) AS favor</p><p>  FROM dbo.Parts INNER JOIN</p><p>  dbo.Promotion ON </p><p>  dbo.Pa

86、rts.CodePromotion = dbo.Promotion.CodePromotion CROSS JOIN</p><p>  dbo.ClientType</p><p>  WHERE (dbo.Promotion.EndPromotion >= GETDATE()) AND </p><p>  (dbo.ClientType.OrderTyp

87、eCode = 3)</p><p>  (5) 名稱(chēng):dbo.ordermod</p><p>  功能 :用于顯示所需更改的訂單的信息,而允許用戶更改的只有訂購(gòu)的數(shù)量及備注。</p><p>  CREATE VIEW dbo.ordermod</p><p><b>  AS</b></p><

88、p>  SELECT dbo.ClientOrderDetails.OrderNo, dbo.ClientOrderDetails.PartNo, </p><p>  dbo.Parts.PartNameCh, dbo.ClientOrderDetails.Qty, dbo.ClientOrderDetails.Note</p><p>  FROM dbo.ClientOrder

89、Details INNER JOIN</p><p>  dbo.Parts ON dbo.ClientOrderDetails.PartNo = dbo.Parts.PartNo</p><p> ?。?3 網(wǎng)站功能模塊設(shè)計(jì)</p><p> ?。?3.1 面向客戶的前臺(tái)管理</p><p>  4.3.1.1 主頁(yè)面功能</p&

90、gt;<p>  該頁(yè)面主要是面對(duì)客戶,所以它實(shí)現(xiàn)了用戶系統(tǒng)、商品系統(tǒng)、用戶訂單系統(tǒng)三大模塊。給客戶一個(gè)清晰的界面,使客戶需求很方便的得到滿足,達(dá)到網(wǎng)上訂購(gòu)的目的。</p><p>  主頁(yè)面功能關(guān)系如圖4.1所示: </p><p>  圖4.1 主頁(yè)面功能</p><p>  4.3.1.2 用戶登錄系統(tǒng)</p><p>

91、;  該模塊是進(jìn)入系統(tǒng)的門(mén)戶,它的主要功能是使我們的客戶能夠進(jìn)入該網(wǎng)站。該客戶必須是數(shù)據(jù)庫(kù)授權(quán)的合法用戶,他的角色一般是服務(wù)站.然后進(jìn)行所需的操作,比如訂購(gòu),查看并更改一些信息。對(duì)數(shù)據(jù)庫(kù)所進(jìn)行的主要操作是驗(yàn)證用戶是否為合法的用戶,即是否是被授權(quán)的用戶。用戶登錄執(zhí)行流程如圖4.2所示:</p><p>  圖4.2 登錄執(zhí)行流程</p><p>  4.3.1.3 產(chǎn)品系統(tǒng)</p&g

92、t;<p><b>  (1) 產(chǎn)品信息</b></p><p>  該模塊能夠?qū)崿F(xiàn)用戶對(duì)所需產(chǎn)品的查詢。其查詢方式有兩種,根據(jù)零件名或零件號(hào)。這樣就可以在很短的時(shí)間內(nèi)使用戶得到所要的信息。這一功能是一般的電子商務(wù)網(wǎng)站所必備的功能之一。數(shù)據(jù)庫(kù)的操作為對(duì)視圖partformyclient進(jìn)行條件查詢。實(shí)際上就是執(zhí)行了相應(yīng)的SQL語(yǔ)句,然后把結(jié)果以表單的方式返回給用戶。查詢執(zhí)行流程

93、如下所示:</p><p>  圖4.3 查詢執(zhí)行流程</p><p><b>  (2) 特價(jià)產(chǎn)品</b></p><p>  該模塊功能是顯示特價(jià)產(chǎn)品,即打了折扣的產(chǎn)品。當(dāng)用戶選擇此項(xiàng)功能時(shí)執(zhí)行的操作是:首先進(jìn)行用戶的身份驗(yàn)證.若為我們的合法用戶,則進(jìn)行視圖查詢,結(jié)果顯示出所查到的特價(jià)產(chǎn)品,否則不顯示信息。對(duì)數(shù)據(jù)庫(kù)視圖promotionli

94、st的查詢語(yǔ)句如下所示:</p><p>  sql = "select partno,partnamech,pht,discount,discountpromotion,price,favor,</p><p>  endpromotion from promotionlist";</p><p><b>  (3) 供貨狀況<

95、;/b></p><p>  該模塊的功能是顯示所有的產(chǎn)品信息。當(dāng)然它并不只是數(shù)據(jù)庫(kù)中一個(gè)零件表parts的信息,它還需產(chǎn)品的庫(kù)存情況,所以構(gòu)造了一個(gè)視圖partformyclient.該視圖用來(lái)顯示用戶所關(guān)心的產(chǎn)品信息:零件號(hào)、零件中文名、零件德文名、價(jià)格、特價(jià)折扣、普通折扣、庫(kù)存量。在實(shí)際操作中可能有幾千幾萬(wàn)條記錄需要顯示,而一頁(yè)根本是無(wú)法完成任務(wù)的,這里我們就采用了分頁(yè)顯示,這樣就可以一頁(yè)一頁(yè)的看完所

96、有的產(chǎn)品信息。并且在每一頁(yè)中都顯示總共有多少條記錄,當(dāng)前顯示的是第幾頁(yè)。這一技術(shù)在后面還要進(jìn)行詳細(xì)的介紹。</p><p>  4.3.1.4 訂單處理</p><p>  (1) 新建訂單 </p><p>  模塊功能是實(shí)現(xiàn)上網(wǎng)上訂購(gòu)目的.如果客戶決定購(gòu)買(mǎi)我們的產(chǎn)品,就可進(jìn)入該系統(tǒng),根據(jù)提示輸入零件號(hào)、訂購(gòu)數(shù)量、備注,然后單擊落”加入”按鈕,即可生成訂單的一

97、項(xiàng)條目。重復(fù)此操作,直到選擇完一張訂單所需的所有產(chǎn)品為止.然后進(jìn)行訂單類(lèi)型的選擇,有庫(kù)存訂購(gòu)和緊急訂購(gòu)兩種類(lèi)型.最后會(huì)自動(dòng)顯示出訂單的總費(fèi)用。此刻如果點(diǎn)擊”發(fā)送”按鈕,一個(gè)真正意義上的訂單便會(huì)在后臺(tái)數(shù)據(jù)庫(kù)中生成了,如果在發(fā)送訂單之前客戶想對(duì)訂單進(jìn)行重寫(xiě)改動(dòng)便可單擊全部重寫(xiě)按鈕。其執(zhí)行的流程如下所示:</p><p>  圖4.4 新建訂單執(zhí)行流程</p><p>  (2) 訂單查詢

98、</p><p>  模塊功能是根據(jù)客戶登錄的名稱(chēng),把與該客戶有關(guān)的訂單全部顯示出來(lái),在實(shí)際的操作中.每一天一個(gè)客戶不可能生成很多的訂單,所以在這里沒(méi)有進(jìn)行分頁(yè)顯示。對(duì)數(shù)據(jù)庫(kù)視圖clientorderstatus1的操作的SQL語(yǔ)句如下:</p><p>  select orderno,ordertype,datereceipt,dateprocess,empname ,status f

99、rom clientorderstatus1 where clientcode='"+(String)mysession.getAttribute("clientcode")+"' order by datereceipt desc"</p><p> ?。?)訂單更改 </p><p>  在實(shí)際的應(yīng)用中,當(dāng)訂單沒(méi)有處

100、理時(shí),客戶可以對(duì)其進(jìn)行一些操作。該模塊功能為對(duì)未處理的訂單進(jìn)行更改或刪除。首先顯示出客戶未處理的所有訂單的信息,在每一個(gè)訂單的后面分別有兩個(gè)操作鏈接,一個(gè)為訂單的刪除,一個(gè)為訂單的更改。刪除即是從數(shù)據(jù)庫(kù)中刪去所選訂單的相關(guān)記錄,因?yàn)橛唵涡畔⑸婕皟蓚€(gè)數(shù)據(jù)庫(kù)表clientorderdetails , clientorders 所以我們要分別對(duì)這兩個(gè)表進(jìn)行刪除,這樣才是一個(gè)完整的操作。當(dāng)正確刪除之后,頁(yè)面將顯示刪除成功的信息。其數(shù)據(jù)庫(kù)操作為:

101、</p><p>  delete from clientorderdetails where orderno="+orderno;</p><p>  delete from clientorders where orderno="+orderno;</p><p>  更改操作將轉(zhuǎn)入更改頁(yè)面,此時(shí)便可在相應(yīng)的框中輸入信息,就可對(duì)訂

102、單進(jìn)行更改。修改完畢單擊”提交”按鈕,便可把更改后的信息發(fā)送到數(shù)據(jù)庫(kù)的表中,對(duì)有關(guān)訂單信息的表進(jìn)行更新.。因?yàn)榭蛻羲苄薷牡挠唵涡畔⒅荒苁怯嗁?gòu)的數(shù)量和訂單備注,所以只需傳遞兩個(gè)參數(shù),有關(guān)訂單的其它信息便會(huì)直接顯示輸出。當(dāng)后臺(tái)更新成功,頁(yè)面便會(huì)出現(xiàn)修改成功信息。其數(shù)據(jù)庫(kù)操作的SQL語(yǔ)句為:</p><p>  UPDATE clientorderdetails SET qty="+qty+" w

103、here orderno="+orderno</p><p><b> ?。?)付款查詢 </b></p><p>  該模塊為客戶提供查詢付款的功能,點(diǎn)擊此項(xiàng)便會(huì)顯示客戶發(fā)出訂單之后,是否交付付款以及付款是否收到。</p><p>  4.3.1.5 客戶信息</p><p><b>  (1)

104、 信息查閱 </b></p><p>  該模塊為客戶提供查閱自身信息的功能,在實(shí)際的應(yīng)用中,要涉及到一些商業(yè)機(jī)密,所以每個(gè)客戶只能查閱自己的信息.單擊此項(xiàng)便會(huì)顯示客戶的詳細(xì)信息。其執(zhí)行過(guò)程為:首先判斷客戶是否有合法的身份,然后對(duì)數(shù)據(jù)庫(kù)clients進(jìn)行信息的選擇,其SQL查詢語(yǔ)句如下所示:</p><p>  select ClientCode,namebrief,namec

105、lient,addressclient,cityclient,provinceclient,poboxclient,zipclient, contactclient,telcode,telclient1,telclient2,faxclient,rateclient ,discountvip ,datecontract from clients where loginname='"+username+"

106、9;";</p><p><b>  (2) 信息修改 </b></p><p>  由于時(shí)間地點(diǎn)的改變,客戶的信息也會(huì)發(fā)生改變,這就需要對(duì)客戶信息進(jìn)行及時(shí)的更新,該模塊便提供此項(xiàng)功能??蛻舨槐赝ㄟ^(guò)其它繁瑣方式通知我們,只要進(jìn)入該頁(yè)面,相應(yīng)輸入最新的信息,單擊”提交”,便可對(duì)該客戶的信息進(jìn)行修改.其數(shù)據(jù)庫(kù)執(zhí)行語(yǔ)句如下所示:</p><p&

107、gt;  select nameclient,addressclient,cityclient,provinceclient,poboxclient,zipclient, contactclient,telcode,telclient1,telclient2,faxclient, managerclient from clients where loginname='"+username+"'&qu

108、ot;;</p><p>  UPDATE CLIENTS SET nameclient='"+nameclient+"',addressclient='"+addressclient+"',cityclient='"+cityclient+"',provinceclient='"+pro

109、vinceclient+"',poboxclient='"+poboxclient+"',zipclient='"+zipclient+"',managerclient='"+managerclient+"',contactclient='"+contactclient+"',

110、telcode='"+telcode+"',telclient1='"+telclient1+"',telclient2='"+telclient2+"',faxclient='"+faxclient+"' where loginname='"+username+"&

111、#39;";</p><p>  為了盡可能的減少客戶的輸入,客戶的信息首先被提取顯示出來(lái),然后客戶只需在要修改的地方填入相關(guān)內(nèi)容,沒(méi)有變動(dòng)的信息可繼續(xù)保持。所以這里有兩個(gè)SQL操作,一個(gè)用于查詢,一個(gè)用于修改。</p><p>  (3) 更改密碼 </p><p>  為了保證客戶信息的安全性,客戶可能需要對(duì)自己的登錄密碼進(jìn)行修改。該模塊便為客戶提供

112、此項(xiàng)功能.進(jìn)入頁(yè)面,輸入舊密碼,進(jìn)行身份驗(yàn)證,然后再輸入新密碼 ,單擊”更改”便可達(dá)到目的.更改之后便會(huì)出現(xiàn)相應(yīng)的提示信息,以通知客戶修改成功與否。</p><p>  4.3.1.6 技術(shù)論壇</p><p> ?。?)發(fā)表新貼 </p><p>  對(duì)于產(chǎn)品的使用、維護(hù)以及其他方面,客戶可能有許多不明白的地方。那么本模塊便可以解決這些問(wèn)題,并且它還可以方便

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論