董 婷
(榆林學(xué)院 信息工程學(xué)院,陜西 榆林 719000)
基于JSP網(wǎng)上購(gòu)書(shū)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
董 婷
(榆林學(xué)院 信息工程學(xué)院,陜西 榆林 719000)
針對(duì)傳統(tǒng)銷(xiāo)售方式中不便于管理、效率低等缺點(diǎn),將電子商務(wù)技術(shù)和計(jì)算機(jī)技術(shù)結(jié)合起來(lái),開(kāi)發(fā)出管理更便利、效率更高的網(wǎng)上圖書(shū)銷(xiāo)售系統(tǒng)。本系統(tǒng)基于B/S三層體系結(jié)構(gòu)和Struts開(kāi)發(fā)框架,采用JDBC數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)和Tomcat應(yīng)用服務(wù)器等關(guān)鍵技術(shù),并對(duì)系統(tǒng)功能進(jìn)行分析,得出4個(gè)功能模塊:圖書(shū)瀏覽、購(gòu)物車(chē)管理、訂單管理和用戶(hù)管理。功能的實(shí)現(xiàn)是基于JSP.技術(shù)與JAVA相結(jié)合,最終設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)功能強(qiáng)大的圖書(shū)銷(xiāo)售系統(tǒng)平臺(tái)。
電子商務(wù)技術(shù);B/S;Java;JSP技術(shù)
我國(guó)第一家網(wǎng)上書(shū)城于1997年由杭州市新華書(shū)城開(kāi)辦,該店只維持了1年最終便以失敗告終[1]。經(jīng)過(guò)十幾年的發(fā)展,今天我國(guó)的網(wǎng)上書(shū)城已經(jīng)頗具規(guī)模,能夠在網(wǎng)上買(mǎi)賣(mài)圖書(shū)的網(wǎng)站已經(jīng)有數(shù)百家,并形成了各種不同的發(fā)展模式和格局,其營(yíng)業(yè)額在圖書(shū)零售市場(chǎng)上約占5%[2]。但是各網(wǎng)上書(shū)城的盈利情況良莠不齊,生生死死不計(jì)其數(shù),領(lǐng)跑的始終是當(dāng)當(dāng)網(wǎng)和卓越亞馬遜兩家,二者在網(wǎng)店經(jīng)營(yíng)中一直保持了優(yōu)勢(shì)地位,并占據(jù)整個(gè)網(wǎng)上書(shū)城營(yíng)業(yè)額的80%[3]。
JDBC(Java Data Base Connection)——Java數(shù)據(jù)庫(kù)連接技術(shù),是一種執(zhí)行SQL語(yǔ)句的Java API的技術(shù),可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成[4]。
JSP(Java Sever Page)——Java服務(wù)器端頁(yè)面技術(shù),它使用Java編程語(yǔ)言編寫(xiě)類(lèi)似XML的標(biāo)簽,用來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯[5]。存在于服務(wù)端的資源的應(yīng)用邏輯可以被網(wǎng)頁(yè)通過(guò)標(biāo)簽訪問(wèn)[6]。
Struct是一種用于開(kāi)發(fā)Java Web程序的框架。Struts是在JSP模型的基礎(chǔ)實(shí)現(xiàn)了MVC設(shè)計(jì)模式的WEB框架。它的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來(lái)開(kāi)發(fā)Web應(yīng)用的時(shí)間,它將可以完成其中一些繁重的工作。Struts有其自己的控制器,同時(shí)整合了其他的一些技術(shù)去實(shí)現(xiàn)模型層(Model)和視圖層(View)。在模型層,Struts可以很容易的與數(shù)據(jù)訪問(wèn)技術(shù)相結(jié)合,例如,JDBC技術(shù)。
Tomcat也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁(yè)面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。Tomcat是一個(gè)很好的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_(kāi)放性,越來(lái)越受到人們的重視。本系統(tǒng)的框架如圖1所示。
圖1 框架圖Fig. 1 Frame diagram
可行性分析,是用最小的代價(jià)、在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。在澄清了問(wèn)題定義之后,分析員首先應(yīng)該導(dǎo)出系統(tǒng)的邏輯模型,然后從系統(tǒng)邏輯模型出發(fā),探索出若干種可供選擇的主要解法。最后仔細(xì)研究每種解法的可行性。系統(tǒng)的可行性分析,是針對(duì)要設(shè)計(jì)的系統(tǒng),研究其設(shè)計(jì)是否存在內(nèi)外部的必要條件,包括技術(shù)上、資金上、經(jīng)濟(jì)上、人力資源以及組織管理上的必要條件,同時(shí)要分析在目前條件下是否有必要設(shè)計(jì)這樣一個(gè)系統(tǒng)。
根據(jù)綜合分析,要最終實(shí)現(xiàn)網(wǎng)上書(shū)城系統(tǒng),需要用到JAVA EE技術(shù)、數(shù)據(jù)庫(kù)技術(shù)(JDBC及Mysql),以及軟件工程的具體方法等內(nèi)容。而這些技術(shù)在當(dāng)前IT行業(yè)看來(lái)都已經(jīng)發(fā)展的相當(dāng)?shù)贸墒?。因此,從技術(shù)上的角度考慮,最終實(shí)現(xiàn)該網(wǎng)上書(shū)城系統(tǒng)是確實(shí)可行的。
從經(jīng)濟(jì)上來(lái)考慮,這方面的投資少,回收快,而且無(wú)所謂存貨等,所以特別適合小商店和個(gè)人在網(wǎng)上創(chuàng)業(yè)。從啟動(dòng)資金來(lái)看,傳統(tǒng)的地面開(kāi)店,門(mén)面租金加裝修費(fèi),還有首批進(jìn)貨資金等等,少說(shuō)也需要幾萬(wàn)元的啟動(dòng)資金或者更多。而網(wǎng)上開(kāi)店所需的啟動(dòng)資金卻少得多的多,只需要架設(shè)一臺(tái)主機(jī)服務(wù)器,配備一定的操作人員就可以。
網(wǎng)上書(shū)城系統(tǒng)的界面設(shè)計(jì)時(shí)充分考慮用戶(hù)的習(xí)慣,用戶(hù)體驗(yàn)良好,操作簡(jiǎn)單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計(jì)準(zhǔn)確;適應(yīng)力強(qiáng);容易擴(kuò)充。
只要注冊(cè)后的用戶(hù)才能進(jìn)行圖書(shū)的購(gòu)買(mǎi),用戶(hù)進(jìn)入注冊(cè)界面進(jìn)行注冊(cè),在注冊(cè)時(shí)要求輸入的用戶(hù)注冊(cè)信息,其中主要包含用戶(hù)名、密碼、郵箱、驗(yàn)證碼等。(注:用戶(hù)必須有有效的郵箱,因?yàn)槟愦_認(rèn)注冊(cè)后,系統(tǒng)會(huì)將該用戶(hù)注冊(cè)好時(shí)的校驗(yàn)碼發(fā)到對(duì)應(yīng)郵箱)。
點(diǎn)擊結(jié)算后,進(jìn)入購(gòu)物信息頁(yè)面,點(diǎn)擊下一步后,首先去判斷用戶(hù)是否登錄系統(tǒng):如果沒(méi)有登錄,直接轉(zhuǎn)到登錄頁(yè)面,登錄后,然后繼續(xù)購(gòu)物操作。如果已經(jīng)登錄,繼續(xù)進(jìn)入填寫(xiě)收貨信息頁(yè)面,左上側(cè)下拉select菜單是登錄當(dāng)前用戶(hù)已經(jīng)存在的多個(gè)地址,可以通過(guò)選擇不同地址,直接顯示相應(yīng)地址到表單組件中,運(yùn)用了Ajax請(qǐng)求技術(shù),其他信息系統(tǒng)將會(huì)自動(dòng)幫助填寫(xiě),這樣可以避免用戶(hù)重復(fù)填寫(xiě),方便用戶(hù)再次購(gòu)買(mǎi)。確認(rèn)后清空購(gòu)物車(chē)和cookie,更改數(shù)據(jù)表。
點(diǎn)擊產(chǎn)品列表頁(yè)面的購(gòu)買(mǎi),添加對(duì)應(yīng)圖書(shū)到購(gòu)物車(chē),(這里用到session,cookie技術(shù),用session記錄購(gòu)物的全程)。當(dāng)用戶(hù)退出瀏覽器時(shí)購(gòu)物車(chē)信息會(huì)存在cookie中,以便下次在同一機(jī)器上打開(kāi)瀏覽器查看上次購(gòu)買(mǎi)的信息,用戶(hù)可以點(diǎn)擊右上方的購(gòu)物車(chē)查看購(gòu)物詳細(xì)信息,購(gòu)物車(chē)記錄每一種圖書(shū)的圖書(shū)名稱(chēng),市場(chǎng)價(jià),會(huì)員價(jià),購(gòu)買(mǎi)數(shù)量,以及所有圖書(shū)的總價(jià)和相對(duì)市場(chǎng)價(jià)的節(jié)省金額。需要注意的是,在購(gòu)物車(chē)中的商品并不一定是用戶(hù)最終必須購(gòu)買(mǎi)的商品,其只是一個(gè)購(gòu)物意向,用戶(hù)可以根據(jù)需要,在提交訂單之前,隨時(shí)修改購(gòu)物車(chē)中的商品數(shù)量、或者取消購(gòu)買(mǎi)。購(gòu)物車(chē)中提供某一商品數(shù)量修改的功能,購(gòu)物車(chē)中提供某一商品的刪除功能,恢復(fù)刪除的商品功能,提供繼續(xù)購(gòu)物鏈接,以上任何操作涉及到金額都會(huì)動(dòng)態(tài)修改,購(gòu)物車(chē)管理類(lèi)圖所圖2所示。
圖2 購(gòu)物車(chē)管理類(lèi)圖Fig. 2 Shopping cart management class
其中控制類(lèi)CartAction依賴(lài)Cart業(yè)務(wù)類(lèi)和CartForm,Cart依賴(lài)數(shù)據(jù)訪問(wèn)類(lèi)BookListImp,BookListImp依賴(lài)CartItem。
1)恢復(fù)刪除列表
當(dāng)用戶(hù)從需要恢復(fù)刪除的商品列表時(shí),首先從session中得到購(gòu)物車(chē)對(duì)象,接著把刪除列表中商品添加到購(gòu)買(mǎi)列表中,序列圖如圖3所示。
恢復(fù)刪除列表的主要代碼如下。
圖3 恢復(fù)刪除的商品序列圖Fig. 3 Recovery of commodity sequence deletion
2)添加圖書(shū)到購(gòu)物車(chē)
當(dāng)用戶(hù)點(diǎn)擊“購(gòu)買(mǎi)”時(shí),界面會(huì)通過(guò)Ajax方式異步發(fā)送一個(gè)add.do的post請(qǐng)求,參數(shù)標(biāo)示為“id”,參數(shù)值為圖書(shū)的主鍵,這個(gè)主鍵通過(guò)表單隱藏域存放在jsp頁(yè)面中,ActionServer得到頁(yè)面請(qǐng)求后,會(huì)在struts-config.xml中匹配對(duì)應(yīng)的action,如下:
在add方法中,首先從session中得到購(gòu)物車(chē)的實(shí)例cart并且得到post請(qǐng)求所攜帶的參數(shù),方法為request.getParameter("id"),調(diào)用Cart類(lèi)中的add方法添加圖書(shū)主鍵到購(gòu)物車(chē)中實(shí)例中,為了便于防止意外關(guān)閉瀏覽器,系統(tǒng)會(huì)保存于cookie中,最后響應(yīng)用戶(hù)請(qǐng)求,提示用戶(hù)”購(gòu)買(mǎi)成功。
添加購(gòu)物車(chē)主要代碼如下。
網(wǎng)上書(shū)城系統(tǒng)無(wú)論是在開(kāi)發(fā)過(guò)程中,還是建成后的日常維護(hù)過(guò)程中,都需要進(jìn)行嚴(yán)格的檢測(cè),以保證購(gòu)書(shū)系統(tǒng)的服務(wù)質(zhì)量。隨著網(wǎng)上書(shū)城系統(tǒng)技術(shù)的日趨成熟、網(wǎng)上購(gòu)書(shū)的優(yōu)勢(shì)日趨明顯,會(huì)有更多的人參與到網(wǎng)上購(gòu)書(shū)的浪潮中來(lái),人類(lèi)最終將迎接電子商務(wù)時(shí)代的來(lái)臨。
[1] 鄧子云,張賜著.JSP網(wǎng)絡(luò)編程從基礎(chǔ)到實(shí)踐[M].北京:電子工業(yè)出版社, 2005.
[2] 王曉軍,田中雨,劉躍軍,等.JSP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)基礎(chǔ)教程與實(shí)驗(yàn)指導(dǎo)[M].北京:清華大學(xué)出版社, 2008.
[3] 韓萬(wàn)江,姜立新.軟件項(xiàng)目管理案例教程[M].北京:機(jī)械工業(yè)出版社, 2006.
[4] 徐峰,陳暄.UML面向?qū)ο蠼;A(chǔ)[M].北京:中國(guó)水利水電出版社, 2006.
[5] 張海,藩著.軟件工程導(dǎo)論[M].4版.北京:清華大學(xué)出版社, 2003.
[6] 梁循.數(shù)據(jù)挖掘算法與應(yīng)用[M].北京:北京大學(xué)出版社,2006.
Design and implementation of online bookstore system based on JSP
DONG Ting
( School of Information Engineering,Yulin University,Yulin 719000,China)
According to the management, not for the traditional way of marketing in the defects of low efficiency, the combination of e-commerce technology and computer technology, online book sales system development management more convenient, more efficient.The system of B/S three layer structure and Struts development framework based on JDBC, the key technology of database access technology and Tomcat application server, and the functions of the system are analyzed, the four function modules: browse books, shopping cart management, order management and user management. The function implementation is based on the combination of JAVA and JSP. technology, the design and implementation of book sales system is a powerful platform.
electronic commerce technology;B/S; Java; JSP technology
TN711
A
1674-6236(2014)03-0011-03
2013–05–23 稿件編號(hào):201305235
2012年榆林學(xué)院專(zhuān)項(xiàng)科研項(xiàng)目一般項(xiàng)目(12YK36)
董 婷(1981—),女,陜西岐山人,碩士,講師。研究方向:軟件工程。