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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

2、ns組件技術,Servlet 技術,JDBC與數(shù)據(jù)庫技術。本文從電子商務的概況說起,就當前最熱門的動態(tài)網(wǎng)站開發(fā)工具JSP、ASP、PHP從技術上進行了分析和比較,肯定了JSP在構建動態(tài)網(wǎng)站中的優(yōu)勢,對JSP的基本工作原理以及一些主要技術作了說明。接著主要介紹了基于JSP技術的電子商務動態(tài)網(wǎng)站具體設計及實現(xiàn)。最后對本次畢業(yè)設計做出了總結。</p><p>  關鍵詞:電子商務;動態(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>  近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益進入人們工作與學習的各個方面。電子商務打破了傳統(tǒng)的“推銷員滿天飛”,“采購員遍地跑”,“說破了嘴,跑斷了腿”

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

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

9、態(tài)網(wǎng)站的重要而快速、有效的工具,它是全新的網(wǎng)絡服務器端技術。</p><p>  該系統(tǒng)是一個電子商務網(wǎng)站,但又不同于一般的電子商務網(wǎng)站。因為并不是所有的網(wǎng)絡用戶都能進入我們的網(wǎng)站,進入該系統(tǒng)的客戶必須是被授權的合法用戶。所以它的功能相對來說簡單一些。另外,在界面設計方面,由于沒有專業(yè)的美工人員,在頁面上相對來說比較簡單,沒有體現(xiàn)一定的藝術美感。但我們將會本著功能與界面的最大統(tǒng)一,以及易于維護性的指導思想,來創(chuàng)建

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

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

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

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

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

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

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

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

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

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

20、rver)及其以上版本中。通過ASP指令和ActiveX組件我們可以應用DHTML建立動態(tài)的交互的高效的 WEB 服務器應用程序。有了ASP你就不必擔心客戶的瀏覽器是否能運行你所編寫的代碼,因為所有的程序都將在服務器端執(zhí)行的,包括所有嵌套在普通HTML 中的腳本程序。當程序執(zhí)行完畢后,服務器僅將執(zhí)行的結果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負擔,大大提高了交互的速度。所以ASP具有簡單易學,安裝方便,開發(fā)工具強大而多樣,效率高

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

38、va、JSP+JavaBeans, 它們可以在任何平臺下通行無阻。</p><p>  3.6 JavaBeans在JSP中的應用</p><p>  3.6.1 JavaBeans</p><p>  它是一個可重復使用的軟件部件,該部件可以用來生成其進行可視化處理的組件。一個組件即Java應用程序或Applet的可重復使用的部件就是一個Bean。JavaBea

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

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

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

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

43、BC技術工作原理</p><p>  JDBC是Java數(shù)據(jù)庫連接(Java Data Base Connectivity)技術的簡稱,是為各種常用數(shù)據(jù)庫提供無縫連接的技術。JDBC向應用程序開發(fā)者提供了獨立于數(shù)據(jù)庫的統(tǒng)一的API,這個API提供了編寫的標準和考慮不同應用程序設計的標準。其奧秘是一組由驅動程序實現(xiàn)的Java接口。驅動負責標準JDBC調(diào)用向支持的數(shù)據(jù)庫所要的具體轉變。JDBC API中有兩層接口:應

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

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

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

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

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

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

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

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

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

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

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

55、EB服務器 Tomcat 5.0</p><p>  * Microsoft ODBC32</p><p>  * 系統(tǒng)平臺 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服務器配置</p><p>  (1) 下載并安裝JDK1.4.1</p><p>  (2) JDK環(huán)境配置</p><p>  * 打開我的電腦-屬性-環(huán)境變量-用戶變量-新建</p><p>  在

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

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

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

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

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

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

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

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

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

66、  為了便于查詢、修改,我們建立了幾個數(shù)據(jù)庫視圖,這樣我們就可以很方便的在JSP程序中進行表中信息的篩選,所建視圖如下所示:</p><p>  名稱: partformyclient</p><p>  功能: 獲取用戶所關心的零件信息,如零件號,零件名,零件的價格,零件的數(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>  名稱 :clientorderstatus1</p><p>  功能:獲取訂單的執(zhí)行狀況,其中使用了自定義函數(shù)uf_CheckClientOrderStatus</p><p>  結果分為:“未處理”,“未處理完”,“處理完畢”</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 '緊急訂購' WHEN ordertype =

71、4 THEN '庫存訂購'</p><p>  ELSE '其他訂購' 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) 名稱:ClientOrderstatus</p><p>  功能 :用于客戶檢索其訂單的執(zhí)行情況</p&

73、gt;<p><b>  分兩種情況:</b></p><p>  1.已經(jīng)發(fā)運的零件:</p><p>  2.訂單的零件尚沒有發(fā)運;</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ā)運的項目</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 --沒有出庫的訂購單項目</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) 名稱:promotionlist</p><p>  功能:促銷商品的信息:包括零件號、零件名稱、價格、起止日期、折扣率。</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) 名稱:dbo.ordermod</p><p>  功能 :用于顯示所需更改的訂單的信息,而允許用戶更改的只有訂購的數(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)站功能模塊設計</p><p> ?。?3.1 面向客戶的前臺管理</p><p>  4.3.1.1 主頁面功能</p&

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

91、;  該模塊是進入系統(tǒng)的門戶,它的主要功能是使我們的客戶能夠進入該網(wǎng)站。該客戶必須是數(shù)據(jù)庫授權的合法用戶,他的角色一般是服務站.然后進行所需的操作,比如訂購,查看并更改一些信息。對數(shù)據(jù)庫所進行的主要操作是驗證用戶是否為合法的用戶,即是否是被授權的用戶。用戶登錄執(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>  該模塊能夠實現(xiàn)用戶對所需產(chǎn)品的查詢。其查詢方式有兩種,根據(jù)零件名或零件號。這樣就可以在很短的時間內(nèi)使用戶得到所要的信息。這一功能是一般的電子商務網(wǎng)站所必備的功能之一。數(shù)據(jù)庫的操作為對視圖partformyclient進行條件查詢。實際上就是執(zhí)行了相應的SQL語句,然后把結果以表單的方式返回給用戶。查詢執(zhí)行流程

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

94、st的查詢語句如下所示:</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)品信息。當然它并不只是數(shù)據(jù)庫中一個零件表parts的信息,它還需產(chǎn)品的庫存情況,所以構造了一個視圖partformyclient.該視圖用來顯示用戶所關心的產(chǎn)品信息:零件號、零件中文名、零件德文名、價格、特價折扣、普通折扣、庫存量。在實際操作中可能有幾千幾萬條記錄需要顯示,而一頁根本是無法完成任務的,這里我們就采用了分頁顯示,這樣就可以一頁一頁的看完所

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

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

98、</p><p>  模塊功能是根據(jù)客戶登錄的名稱,把與該客戶有關的訂單全部顯示出來,在實際的操作中.每一天一個客戶不可能生成很多的訂單,所以在這里沒有進行分頁顯示。對數(shù)據(jù)庫視圖clientorderstatus1的操作的SQL語句如下:</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>  (3)訂單更改 </p><p>  在實際的應用中,當訂單沒有處

100、理時,客戶可以對其進行一些操作。該模塊功能為對未處理的訂單進行更改或刪除。首先顯示出客戶未處理的所有訂單的信息,在每一個訂單的后面分別有兩個操作鏈接,一個為訂單的刪除,一個為訂單的更改。刪除即是從數(shù)據(jù)庫中刪去所選訂單的相關記錄,因為訂單信息涉及兩個數(shù)據(jù)庫表clientorderdetails , clientorders 所以我們要分別對這兩個表進行刪除,這樣才是一個完整的操作。當正確刪除之后,頁面將顯示刪除成功的信息。其數(shù)據(jù)庫操作為:

101、</p><p>  delete from clientorderdetails where orderno="+orderno;</p><p>  delete from clientorders where orderno="+orderno;</p><p>  更改操作將轉入更改頁面,此時便可在相應的框中輸入信息,就可對訂

102、單進行更改。修改完畢單擊”提交”按鈕,便可把更改后的信息發(fā)送到數(shù)據(jù)庫的表中,對有關訂單信息的表進行更新.。因為客戶所能修改的訂單信息只能是訂購的數(shù)量和訂單備注,所以只需傳遞兩個參數(shù),有關訂單的其它信息便會直接顯示輸出。當后臺更新成功,頁面便會出現(xiàn)修改成功信息。其數(shù)據(jù)庫操作的SQL語句為:</p><p>  UPDATE clientorderdetails SET qty="+qty+" w

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

104、 信息查閱 </b></p><p>  該模塊為客戶提供查閱自身信息的功能,在實際的應用中,要涉及到一些商業(yè)機密,所以每個客戶只能查閱自己的信息.單擊此項便會顯示客戶的詳細信息。其執(zhí)行過程為:首先判斷客戶是否有合法的身份,然后對數(shù)據(jù)庫clients進行信息的選擇,其SQL查詢語句如下所示:</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>  由于時間地點的改變,客戶的信息也會發(fā)生改變,這就需要對客戶信息進行及時的更新,該模塊便提供此項功能。客戶不必通過其它繁瑣方式通知我們,只要進入該頁面,相應輸入最新的信息,單擊”提交”,便可對該客戶的信息進行修改.其數(shù)據(jù)庫執(zhí)行語句如下所示:</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>  為了盡可能的減少客戶的輸入,客戶的信息首先被提取顯示出來,然后客戶只需在要修改的地方填入相關內(nèi)容,沒有變動的信息可繼續(xù)保持。所以這里有兩個SQL操作,一個用于查詢,一個用于修改。</p><p>  (3) 更改密碼 </p><p>  為了保證客戶信息的安全性,客戶可能需要對自己的登錄密碼進行修改。該模塊便為客戶提供

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

溫馨提示

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

評論

0/150

提交評論