[摘要] 基于J2EE平臺(tái)、JSP技術(shù)實(shí)現(xiàn)虛擬商場(chǎng)的設(shè)計(jì)。采用Browser/Server(B/S)模式與Oracle數(shù)據(jù)庫(kù)服務(wù)器以及JDBC數(shù)據(jù)庫(kù)技術(shù)、java程序片實(shí)現(xiàn)電子商務(wù)網(wǎng)絡(luò)銷(xiāo)售。系統(tǒng)結(jié)合面向?qū)ο笤O(shè)計(jì)語(yǔ)言的優(yōu)點(diǎn)和虛擬商場(chǎng)日益龐大的需求,以java語(yǔ)言為核心,并基于一系列開(kāi)放和流行標(biāo)準(zhǔn)、技術(shù)及協(xié)議,對(duì)電子商務(wù)網(wǎng)絡(luò)化進(jìn)行全新的詮釋。
[關(guān)鍵詞] 虛擬商場(chǎng) java 電子商務(wù)
隨著Internet和電子商務(wù)等應(yīng)用的出現(xiàn),主流的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)也發(fā)展迅速,以java語(yǔ)言為領(lǐng)軍的面向?qū)ο蟪绦蛟O(shè)計(jì)逐漸占領(lǐng)了大部分市場(chǎng)。本系統(tǒng)采用樹(shù)狀菜單,動(dòng)態(tài)實(shí)現(xiàn)商品類(lèi)別的修改,主要實(shí)現(xiàn)商品管理、商品分類(lèi)和查詢、購(gòu)物車(chē)、用戶訂單處理、用戶交流論壇等功能的javabean開(kāi)發(fā)。
一、J2EE與JSP
J2EE是一套全然不同于傳統(tǒng)應(yīng)用開(kāi)發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化且規(guī)范應(yīng)用系統(tǒng)的開(kāi)發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類(lèi)組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過(guò)去企業(yè)后端使用的信息產(chǎn)品彼此之間無(wú)法兼容,導(dǎo)致企業(yè)內(nèi)部或外部難以互通的窘境。
用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP技術(shù)使用Java編程語(yǔ)言編寫(xiě)類(lèi)XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。
二、需求與構(gòu)架分析
由于網(wǎng)絡(luò)的蓬勃發(fā)展,越來(lái)越多的人傾向于足不出戶的消費(fèi)理念使得虛擬商場(chǎng)系統(tǒng)的研究逐漸升溫,網(wǎng)上購(gòu)物越來(lái)越流行起來(lái):價(jià)格會(huì)比較低廉,不需要排隊(duì)只要點(diǎn)擊幾下鼠標(biāo)就可以買(mǎi)到你想要的商品。結(jié)合J2EE的架購(gòu)特點(diǎn)開(kāi)發(fā)的網(wǎng)上購(gòu)物系統(tǒng)通過(guò)中間件提供持續(xù)性服務(wù),進(jìn)一步詮釋了虛擬商場(chǎng)的實(shí)際應(yīng)用性。
Struts框架提供了一種創(chuàng)建具有良好管理性的Web應(yīng)用框架,其中對(duì)應(yīng)用程序的顯示、表示和數(shù)據(jù)的后端代碼進(jìn)行了抽象。Struts采用JSP作為MVC視圖,全部表單元素都是用定制標(biāo)簽編碼,這些頁(yè)面能夠方便地同控制器交互。控制器就是Servlet,負(fù)責(zé)試圖和模型之間的交互。控制器的每個(gè)入口點(diǎn)都由名為struts-config.xml的配置文件設(shè)置。JavaBean為此模型代表,Bean的作用是存儲(chǔ)從視圖獲取的信息,同時(shí)被稱為“動(dòng)作類(lèi)”,動(dòng)作類(lèi)實(shí)現(xiàn)了業(yè)務(wù)邏輯。Struts的處理過(guò)程如圖。
三、系統(tǒng)總體設(shè)計(jì)
系統(tǒng)功能模塊分為前臺(tái)管理和與后臺(tái)管理。前臺(tái)有:注冊(cè)登錄、注冊(cè)信息修改、購(gòu)物車(chē)、商品分類(lèi)、商品查詢、最新商品查看、特價(jià)商品查看、訂單狀態(tài)查看、留言板、論壇。后臺(tái)管理:用戶管理、商品管理、訂單管理。
在配置tomcat服務(wù)器后,創(chuàng)建初始站點(diǎn)、配置數(shù)據(jù)庫(kù)連接,然后對(duì)配置進(jìn)行初步測(cè)試,構(gòu)建網(wǎng)站頁(yè)面框架和公用頁(yè)面。創(chuàng)建公用組件以方便正式開(kāi)發(fā)中重復(fù)代碼:ManagerFilter(管理模塊進(jìn)行身份驗(yàn)證的過(guò)濾器)、SignonFilter(嚴(yán)整是否已經(jīng)登錄的過(guò)濾器)、EncodingFilter(編碼過(guò)濾器)、DatabaseConn(從數(shù)據(jù)源獲得一個(gè)連接)。商品管理在編程中采用JSTL和表達(dá)式語(yǔ)言結(jié)合的方式。為了實(shí)現(xiàn)商品的管理,首先要確定商品實(shí)體的內(nèi)容及各個(gè)實(shí)體之間的關(guān)系,這種關(guān)系確定后,為數(shù)據(jù)庫(kù)設(shè)計(jì)提供了依據(jù)。本系統(tǒng)中,商品通過(guò)類(lèi)別來(lái)管理,每個(gè)商品都屬于一個(gè)類(lèi)別。而商品分類(lèi)則是以樹(shù)狀菜單實(shí)現(xiàn)。創(chuàng)建樹(shù)狀菜單的方式就是JSP動(dòng)態(tài)生成樹(shù)狀結(jié)構(gòu)描述的XML文件,然后編寫(xiě)自定義標(biāo)簽庫(kù),通過(guò)定義標(biāo)簽庫(kù)來(lái)控制和顯示樹(shù)狀結(jié)構(gòu)。
商品查詢是電子商務(wù)系統(tǒng)必備的功能,對(duì)于虛擬商場(chǎng)中龐大的數(shù)據(jù)倉(cāng)庫(kù),除了普通查詢外,應(yīng)提供給消費(fèi)者更為便捷的查詢方式:查詢最新商品、查詢特價(jià)商品、按商品廠家和產(chǎn)地查詢、同類(lèi)商品按價(jià)格查詢等等。使用session對(duì)象保存用戶會(huì)話信息以實(shí)現(xiàn)購(gòu)物車(chē)的功能,在后臺(tái)業(yè)務(wù)邏輯實(shí)現(xiàn)中把它封裝在JavaBean中方便在JSP也面中進(jìn)行統(tǒng)一調(diào)用。
訂單處理包括用戶結(jié)賬部分和后臺(tái)訂單處理。與用戶相關(guān)的部分包括結(jié)賬、查看訂單狀態(tài)、取消訂單;和后臺(tái)相關(guān)的部分包括列出未處理、已處理的訂單、刪除訂單等。用戶結(jié)賬部分和購(gòu)物車(chē)緊密結(jié)合在一起,當(dāng)用戶結(jié)賬完畢后,后臺(tái)的訂單處理流程就啟動(dòng)了,后臺(tái)的流程可以是自動(dòng)的,也可以是人工干預(yù)。
完善的電子商務(wù)站點(diǎn)必須提供完善的會(huì)員管理方案,根據(jù)會(huì)員登記提供不同的個(gè)優(yōu)惠服務(wù).論壇系統(tǒng)采用JSP+Servlet+JavaBean的方式開(kāi)發(fā)。JavaBean用語(yǔ)連接數(shù)據(jù)庫(kù)以執(zhí)行業(yè)務(wù)邏輯,或者作為值對(duì)象在Servlet和JSP之間傳遞數(shù)據(jù),開(kāi)發(fā)Servlet控制器或者執(zhí)行數(shù)據(jù)庫(kù)更新的操作,JSP調(diào)用JavaBean以執(zhí)行業(yè)務(wù)邏輯。
四、數(shù)據(jù)庫(kù)技術(shù)與設(shè)計(jì)
JDBC API為數(shù)據(jù)庫(kù)提供了統(tǒng)一的編程接口,數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序采用JDBC-ODBC Bridge Driver,可訪問(wèn)一個(gè)ODBC數(shù)據(jù)源。Oracle在以Internet計(jì)算為基礎(chǔ)的完整的電子商務(wù)解決方案中提供了開(kāi)源數(shù)據(jù)庫(kù),從而獲得了更大的許可靈活性以及業(yè)務(wù)便利。連接與配置數(shù)據(jù)庫(kù),啟動(dòng)數(shù)據(jù)庫(kù)后把oracle的驅(qū)動(dòng)程序拷貝到ch1\\WEB-INF\\lib中,這個(gè)驅(qū)動(dòng)程序的jar包為classes12.jar。
系統(tǒng)涉及的數(shù)據(jù)龐大且關(guān)聯(lián)性極強(qiáng),主要數(shù)據(jù)表有:inventory(產(chǎn)品庫(kù)存)、item(產(chǎn)品信息)、lineitem(訂單中的項(xiàng)目)、product(產(chǎn)品信息)、category(商品類(lèi)別)、topic(論壇中發(fā)布的主題)、reply(論壇中對(duì)發(fā)布信息的回復(fù))、orders(訂單信息表)、oderstatus(訂單狀態(tài)表)、user_info(用戶信息表)等等。
五、結(jié)論
虛擬商場(chǎng)在當(dāng)前消費(fèi)群體中逐漸占領(lǐng)了主導(dǎo)地位,采用J2EE平臺(tái)與Oracle相結(jié)合的技術(shù)開(kāi)發(fā)此類(lèi)系統(tǒng)在同類(lèi)中具備較高水平,J2EE的諸多優(yōu)勢(shì)為電子商務(wù)的發(fā)展起到了推波助瀾的作用。在全球各地廣泛的商業(yè)貿(mào)易活動(dòng)中,在因特網(wǎng)開(kāi)放的網(wǎng)絡(luò)環(huán)境下,買(mǎi)賣(mài)雙方不謀面地進(jìn)行各種商貿(mào)活動(dòng),從而真正實(shí)現(xiàn)消費(fèi)者的網(wǎng)上購(gòu)物、商戶之間的網(wǎng)上交易等各種商務(wù)活動(dòng)。