JAVA網(wǎng)上商城系統(tǒng)課設(shè)報(bào)告_第1頁
JAVA網(wǎng)上商城系統(tǒng)課設(shè)報(bào)告_第2頁
JAVA網(wǎng)上商城系統(tǒng)課設(shè)報(bào)告_第3頁
JAVA網(wǎng)上商城系統(tǒng)課設(shè)報(bào)告_第4頁
JAVA網(wǎng)上商城系統(tǒng)課設(shè)報(bào)告_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

目 錄1.緒論11.1課題研究背景11.2課題研究意義11.3國內(nèi)外的發(fā)展現(xiàn)狀22.需求分析32.1 技術(shù)可行性分析32.2 操作可行性分析32.3 成本可行性分析33.總體設(shè)計(jì)44.詳細(xì)設(shè)計(jì)64.1 數(shù)據(jù)庫設(shè)計(jì)64.1.1 概念建模64.1.2 物理建模64.1.3數(shù)據(jù)庫表結(jié)構(gòu)84.2 功能設(shè)計(jì)124.3 代碼設(shè)計(jì)144.3.1后臺功能144.3.2前端功能185.結(jié)論27參考文獻(xiàn)281.緒論1.1課題研究背景隨著社會經(jīng)濟(jì)的發(fā)展和信息技術(shù)的高度發(fā)達(dá),越來越多的企業(yè)和個人的購物方式和以前有了實(shí)質(zhì)的改變,網(wǎng)上商店逐漸增多,交易的方式也從以前的網(wǎng)上發(fā)布,然后網(wǎng)下交易購買,發(fā)展到了直接通過網(wǎng)絡(luò)進(jìn)行在線支付,隨著物流的發(fā)展,交易的物品也從以前的大件物品,發(fā)展到現(xiàn)在幾乎所有商品都能在網(wǎng)上購買。因此,為了更方便顧客購物,就需要有一個功能比較完善的網(wǎng)上商城系統(tǒng)來實(shí)現(xiàn)這個平臺。網(wǎng)上商城系統(tǒng)是解決實(shí)體商城各種問題的一種方法。因此該課題具有一定的意義和研究價值。1.2課題研究意義相對于傳統(tǒng)的實(shí)體商城,網(wǎng)上商城投資少,回收快。一項(xiàng)針對中國中小企業(yè)的情況調(diào)查顯示,個人在網(wǎng)下啟動銷售公司的平均費(fèi)用至少5萬元,而網(wǎng)上開店建店成本非常小。一般說,籌辦一家網(wǎng)上的商店投入很小,不用去辦營業(yè)執(zhí)照,不用去租門面,不用囤積貨品,所需資金不過1500元左右;網(wǎng)上商店比同等規(guī)模的地面商店“租金”要低得多,同時租金不會因?yàn)闋I業(yè)面積的增加而增加,投資者也不用為延長營業(yè)時間而增加額外的費(fèi)用?;静恍枰級嘿Y金。傳統(tǒng)商店的進(jìn)貨資金少則幾千元,多則數(shù)萬元,而網(wǎng)上商店則不需要壓資金。24小時營業(yè)時間。網(wǎng)上商店延長了商店的營業(yè)時間,一天24小時、一年365天不停地運(yùn)作,無須專人值班看店,都可照常營業(yè)。傳統(tǒng)店鋪的營業(yè)時間一般為8-12小時,遇上壞天氣或者老板、店員有急事也不得不暫時休息。銷售規(guī)模不受地盤限制。傳統(tǒng)商店有多大就只能擺放多少商品,生意大小常常被小店面積限制。而在網(wǎng)上,即便在地面上只有一個小商店,或者干脆就沒有門面,開店的生意卻可以照樣做得很大。不受店面空間的限制。哪怕只是街邊小店,在網(wǎng)上卻可以擁有百貨大樓那么大的店面,只要投資者愿意,可以擺上成千上萬種商品。目前國內(nèi)最大的專業(yè)拍賣網(wǎng)站同時在線的商品要超過10萬件已超過一些大超市。不受地理位置影響。不管客戶離店有多遠(yuǎn),也不管顧客是國內(nèi)還是國外,在網(wǎng)上,客戶一樣可以很方便地找到并購買商品。這令消費(fèi)群體突破了地域的限制,變得無限廣闊了。1.3國內(nèi)外的發(fā)展現(xiàn)狀伴隨著Internet的蓬勃發(fā)展,網(wǎng)絡(luò)購物中心作為電子商務(wù)的一種形式正以其高效、低成本的優(yōu)勢,逐步成為新興的經(jīng)營模式和理念,人們已不再滿足于信息瀏覽和發(fā)布,而是渴望著能夠充分享受網(wǎng)絡(luò)所帶來的更多的便利??蛻糇悴怀鰬舯憧梢苑奖憧旖莸倪x購自己喜歡的商品,這正是網(wǎng)絡(luò)購物中心為客戶帶來的好處。敏銳的網(wǎng)絡(luò)商家當(dāng)然不會錯過這樣絕好的機(jī)會,越來越多的網(wǎng)站投身到提供網(wǎng)絡(luò)購物服務(wù)的行列中來,一個基于Internet的全球電子商務(wù)框架正在形成。在我國,網(wǎng)上購物從無到有也不過短短幾年時間。我國第一家網(wǎng)上購物發(fā)生在1996年,燕莎友誼商場首次通過網(wǎng)上商城售出一個景泰藍(lán),雖然貨款的支付不是在網(wǎng)上進(jìn)行的,但這畢竟為我國零售業(yè)奏出了網(wǎng)上購物的先聲。根據(jù)CNNIC的統(tǒng)計(jì)結(jié)果,截止2004年1月中國有互聯(lián)網(wǎng)用戶7950萬人,而又有40.7%以上的網(wǎng)民在過去的一年里有過網(wǎng)上購物經(jīng)歷,這就說明中國有網(wǎng)上購物的用戶達(dá)是3235.7萬人,并且這一數(shù)字還在以17%左右的速度增長,到2006年中國網(wǎng)上購物用戶將達(dá)到6962萬人,這說明在中國發(fā)展網(wǎng)上購物具有良好的群眾基礎(chǔ),網(wǎng)上購物方式日趨被大家所接受。因此,設(shè)計(jì)一個網(wǎng)上購物網(wǎng)站具有非常好的開發(fā)與應(yīng)用前景。2.需求分析2.1 技術(shù)可行性分析本系統(tǒng)在前臺用在前臺用JSP進(jìn)行頁面開發(fā)和管理用戶界面,提示信息完善,界面友好,具有較強(qiáng)的親和力,后臺采用MYSQL數(shù)據(jù)開發(fā)和管理數(shù)據(jù)庫,對數(shù)據(jù)庫操作采用事務(wù)處理機(jī)制,具有強(qiáng)大的錯誤處理功能。本系統(tǒng)的開發(fā)環(huán)境是使用現(xiàn)在非常流行的開源開發(fā)工具Eclipse和Tomcat服務(wù)器。使用的靈活、以及他們當(dāng)前的廣泛實(shí)際應(yīng)用,充分說明本系統(tǒng)在技術(shù)方面可行。2.2 操作可行性分析本系統(tǒng)采用的是網(wǎng)上管理,非常簡單、易懂,不需要具有非常高的計(jì)算機(jī)專業(yè)知識,只需要管理員能夠上網(wǎng),就可對商城進(jìn)行維護(hù)。2.3 成本可行性分析整個開發(fā)過程只需要一臺裝有上述所需求的各種軟件的PC機(jī)就可以實(shí)現(xiàn)全部的開發(fā)任務(wù)。目前的計(jì)算機(jī)硬件市場競爭比較激烈,在價格上都出現(xiàn)了從沒有過低廉;而所需要的各種軟件,在相關(guān)產(chǎn)品的官方網(wǎng)站上都可以免費(fèi)下載,而且還不斷的有增加了最新功能的升級版的出現(xiàn)。因此,整個開發(fā)成本可以說是非常的低廉,這也為我進(jìn)一步完善我的網(wǎng)站提供了更大的方便。在使用成本上,用戶只需要擁有一臺能夠連接到國際互聯(lián)網(wǎng)上的計(jì)算機(jī),通過注冊就可以在世界的任何一個角落使用網(wǎng)站的全部功能和服務(wù)。而且對計(jì)算機(jī)的硬件的需求也不是很高,軟件方面也沒有特殊的需求,極大了方便了廣大用的訪問與使用。因此,從成本可行性分析來看,這個網(wǎng)站體現(xiàn)了經(jīng)濟(jì)實(shí)惠,但是功能強(qiáng)大的特點(diǎn)。3.總體設(shè)計(jì)網(wǎng)上商城系統(tǒng)又稱在線商城系統(tǒng),其功能主要包含商品的管理、會員的管理、訂單的管理、在線支付等。本次實(shí)訓(xùn)將由指導(dǎo)老師帶領(lǐng)學(xué)生有Java EE技術(shù)完成“網(wǎng)上商城系統(tǒng)”的設(shè)計(jì)與開發(fā),主要開發(fā)的功能如圖3-1所示。商城平臺用戶管理員注冊下訂單瀏覽商品搜索商品查看訂單訂單管理會員管理商品管理配送管理圖3-1 功能圖1)后臺功能商品模塊:包括后臺商品庫存管理、上貨、出貨、編輯管理和商品分類管理、商品品牌管理等。 訂單模塊:在線訂單程序,使消費(fèi)者能夠順利的通過Web在線的方式,直接生成購買訂單。會員模塊:在購物系統(tǒng)中,集成會員注冊是吸引會員進(jìn)行二次購買和提升轉(zhuǎn)換率最好的方式。配送模塊:購物系統(tǒng)集成的物流配送方式,從而方便消費(fèi)者對物流方式進(jìn)行在線選擇。如:EMS、順風(fēng)等等。2)前端功能商品搜索:通過前端界面,以標(biāo)準(zhǔn)的或者其他個性化的方式向用戶展示商品各類信息,完成購物系統(tǒng)內(nèi)信息流的傳遞。購物車:用戶可對想要購買的商品進(jìn)行網(wǎng)上訂購,在購物過程中,隨時增刪商品。商品瀏覽:隨著電子商務(wù)的發(fā)展商品圖片成為吸引消費(fèi)者的第一要素,多圖展示即提供前臺多張圖片的展示,從而提升消費(fèi)者的購物欲望。 用戶管理模塊:為了方便于網(wǎng)站的管理,必須由一套完整的用戶管理體系。該網(wǎng)站用戶管理模塊主要實(shí)現(xiàn)用戶的注冊、登錄、找回密碼3方面功能。 為了全面的了解前端功能,圖3-2將前端的購物流程詳細(xì)的展示。圖3-2購物流程4.詳細(xì)設(shè)計(jì)4.1 數(shù)據(jù)庫設(shè)計(jì)4.1.1 概念建模本系統(tǒng)實(shí)體包括:管理員、網(wǎng)站、顧客、商品、購物車、訂單。如圖4-1所示:圖4-1 E-R圖4.1.2 物理建模數(shù)據(jù)庫表之間關(guān)系如圖4-1所示:圖4-2數(shù)據(jù)庫表關(guān)系圖4.1.3數(shù)據(jù)庫表結(jié)構(gòu)整個購物系統(tǒng)能運(yùn)行離不開數(shù)據(jù)庫的支持,數(shù)據(jù)庫在整個系統(tǒng)的最底部發(fā)揮著不可忽視的作用。沒有了數(shù)據(jù)庫的支撐,系統(tǒng)無法運(yùn)行。由此可見,系統(tǒng)離不開數(shù)據(jù)庫,在系統(tǒng)之前首先必須保證數(shù)據(jù)庫的準(zhǔn)備工作已經(jīng)完成。本系統(tǒng)采用的是Mysql數(shù)據(jù)庫,數(shù)據(jù)庫的準(zhǔn)備工作需要以下幾個表來保存整個系統(tǒng)的重要信息,它們分別是:商品表,用來存儲購物系統(tǒng)的所有商品的信息,能夠根據(jù)這個表來管理所有的商品信息,如表4-1所示。表4-1 商品表(product)字段類型長度備注productidint11商品表主鍵productnamevarchar200商品名categoryidint11分類ID(外鍵)storecountint11庫存量marketpricefloat10市場價salepricefloat10銷售價hitint11點(diǎn)擊量addtimevarchar200上架時間isdelvarchar255是否下架contenttext商品詳情商品圖片表,用來存儲購物系統(tǒng)的商品的所有圖片信息,能夠根據(jù)這個表來管理商品所有的圖片信息,如表4-2所示。表4-2 商品圖片表(pic)字段類型長度備注picidint11主鍵picurlvachar200圖片路徑productidint11商品ID(外鍵)分類表,用來存儲購物系統(tǒng)的所有商品的分類信息,能夠根據(jù)這個表來管理所有的分類信息,如表4-3所示。表4-3 分類表(category)字段類型長度備注categoryidint11分類表主鍵categorynamevarchar100分類名parnetidint11父分類IDlevelint11分類的級商品屬性名稱表,用來存儲購物系統(tǒng)的所有商品屬性名稱信息,能夠根據(jù)這個表來管理所有商品屬性名稱信息,如表4-4所示。表4-4 商品屬性名稱表(attribute) 字段類型長度備注attributeidint11主鍵namevarchar100商品屬性名字商品屬性值表,用來存儲購物系統(tǒng)的所有商品屬性值的信息,能夠根據(jù)這個表來管理所有商品屬性值的信息,如表4-5所示。表4-5 商品屬性值表(value)字段類型長度備注valueidint11主鍵valuestrvarchar100商品屬性值商品屬性中間表,用來存儲購物系統(tǒng)的所有商品的屬性信息,能夠根據(jù)這個表來管理所有商品的屬性信息,如表4-6所示。表4-6 商品屬性中間表(attrvalue)字段類型長度備注idint11主鍵attributeidint11商品屬性名稱ID(外鍵)valueidint11商品屬性值ID(外鍵)productidint11商品ID(外鍵)發(fā)票表,用來存儲購物系統(tǒng)的發(fā)票信息,能夠根據(jù)這個表來管理發(fā)票,如表4-7所示。表4-7 發(fā)票表(invocie)字段類型長度備注invocieidint11主鍵titlevachar100發(fā)票類型contentvachar100明細(xì)orderidint11訂單ID(外鍵)訂單明細(xì)表,用來存儲購物系統(tǒng)的所有訂單詳細(xì)信息,能夠根據(jù)這個表來管理訂單詳細(xì)信息,如表4-8所示。表4-8 訂單明細(xì)表(orderdetail)字段類型長度備注orderdetailidint11主鍵productidint11商品表IDproductnamevarchar100商品名salepricefloat10銷售價buycountint11購買數(shù)量orderidint11訂單ID(外鍵)訂單表,用來存儲購物系統(tǒng)的所有訂單信息,能夠根據(jù)這個表來管理訂單信息,如表4-9所示。表4-9 訂單表(orders)字段類型長度備注orderidint11主鍵ordernovachar100訂單編號useridint11用戶ID(外鍵)bzvarchar100標(biāo)志paywayidint11支付方式ID(外鍵)sendwayidint11配送方式ID(外鍵)totalfloat10總價支付方式表,用來存儲購物系統(tǒng)的支付信息,能夠根據(jù)這個表來管理支付信息,如表4-10所示。表4-10 支付方式表(payway)字段類型長度備注paywayidint11主鍵titlevachar100支付方式收貨人信息表,用來存儲購物系統(tǒng)的收貨人信息,能夠根據(jù)這個表來管理收貨人信息,如表4-11所示。表4-11 收貨人信息表(receive)字段類型長度備注receiveidint11主鍵receivervarchar100收貨人addressvarchar100地址mobilevarchar100手機(jī)phonevarchar100固話mailvarchar100郵件postcodevarchar255郵編 配送方式表,用來存儲購物系統(tǒng)的配送方式,能夠根據(jù)這個表來管理配送方式,如表4-12所示。表4-12 配送方式表(sendway)字段類型長度備注sendwayidint11主鍵sendwayvarchar100配送方式sendmoneyfloat10運(yùn)費(fèi)用戶表,用來存儲所有會員用戶的信息,能夠根據(jù)這個表管理所有用戶,如表4-13所示。表4-13 用戶表(user)字段類型長度備注useridint11主鍵usernamevarchar100用戶名passwordvachar100密碼realnamevarchar100真實(shí)姓名scoreint11積分amountfloat10余額questionvarchar100問題answervarchar100答案emailvarchar100郵箱telvarchar100電話4.2 功能設(shè)計(jì)網(wǎng)上商城系統(tǒng)又稱在線商城系統(tǒng),其功能主要包含商品的管理、會員的管理、訂單的管理、在線支付等。1)后臺功能商品模塊:包括后臺商品庫存管理、上貨、出貨、編輯管理和商品分類管理、商品品牌管理等。 訂單模塊:在線訂單程序,使消費(fèi)者能夠順利的通過Web在線的方式,直接生成購買訂單。 會員模塊:在購物系統(tǒng)中,集成會員注冊是吸引會員進(jìn)行二次購買和提升轉(zhuǎn)換率最好的方式。配送模塊:購物系統(tǒng)集成的物流配送方式,從而方便消費(fèi)者對物流方式進(jìn)行在線選擇。如:EMS、順風(fēng)等等。2)前端功能商品搜索:通過前端界面,以標(biāo)準(zhǔn)的或者其他個性化的方式向用戶展示商品各類信息,完成購物系統(tǒng)內(nèi)信息流的傳遞。購物車:用戶可對想要購買的商品進(jìn)行網(wǎng)上訂購,在購物過程中,隨時增刪商品。商品瀏覽:隨著電子商務(wù)的發(fā)展商品圖片成為吸引消費(fèi)者的第一要素,多圖展示即提供前臺多張圖片的展示,從而提升消費(fèi)者的購物欲望。 用戶管理模塊:為了方便于網(wǎng)站的管理,必須由一套完整的用戶管理體系。該網(wǎng)站用戶管理模塊主要實(shí)現(xiàn)用戶的注冊、登錄、找回密碼3方面功能。 該購物網(wǎng)站具體功能結(jié)構(gòu)圖如圖4-3所示。商城平臺用戶管理員注冊購物車瀏覽商品搜索商品查看訂單訂單管理會員管理商品管理配送管理圖4-3 功能圖4.3 代碼設(shè)計(jì)4.3.1后臺功能1)添加或修改a.判斷是添加還是修改代碼/如果有商品ID,說明是編輯int productid=CommonUtil.getIntParameter(request, productid);BaseDAO dao=new BaseDAO();if(productid!=0)/說明是進(jìn)入修改頁面try Map record=dao.listWithPage(a.*,b.categoryname, product a,category b, and a.categoryid=b.categoryid and ductid=+productid, ductid desc, 1, 9999, false).getRecords().get(0); request.setAttribute(record, record); catch (Exception e) e.printStackTrace();String tree=CategoryUtil.makeTree(listcategory);request.setAttribute(tree, tree);request.getRequestDispatcher(addproduct.jsp).forward(request, response);b.添加或修改代碼/接收參數(shù)String productname = request.getParameter(productname);String categoryid = request.getParameter(categoryid);String storecount = request.getParameter(storecount);String marketprice = request.getParameter(marketprice);String saleprice = request.getParameter(saleprice);String hit = request.getParameter(hit);String picture = request.getParameter(picture);String addtime = request.getParameter(addtime);String isdel = request.getParameter(isdel);String content = request.getParameter(content);int productid=CommonUtil.getIntParameter(request, productid);try /調(diào)用DAOBaseDAO dao=new BaseDAO();int result=0;if(productid!=0)/修改result=dao.update(product,productname=+productname+,categoryid=+categoryid+,storecount=+storecount+,marketprice=+marketprice+,saleprice=+saleprice+,hit=+hit+,picture=+picture+,addtime=+addtime+,isdel=+isdel+,content=+content+, and productid=+productid);else/添加result=dao.add(product,productname=+productname+,categoryid=+categoryid+,storecount=+storecount+,marketprice=+marketprice+,saleprice=+saleprice+,hit=+hit+,picture=+picture+,addtime=+addtime+,isdel=+isdel+,content=+content+);String msg=;if(result0)msg=alert(操作成功);window.location.href=productServlet?action=list;elsemsg=alert(操作失敗);window.location.href=productServlet?action=list;/把提示信息放入requestrequest.setAttribute(msg, msg);request.getRequestDispatcher(msg.jsp).forward(request, response);c.商品的添加及修改公用一個頁面,如圖4-4所示。圖4-4 添加或修改頁面2)商品列表及刪除a.列表代碼String where= and a.categoryid=b.categoryid;String productname=CommonUtil.getStringParameter(request,productname);if(!productname.equals()where+= and ductname like %+productname+%;int categoryid=CommonUtil.getIntParameter(request,categoryid);if(categoryid!=0)where+= and a.categoryid=+categoryid;CommonUtil.getIntParameter(request,categoryname);float startprice=CommonUtil.getFloatParameter(request,startprice);float endprice=CommonUtil.getFloatParameter(request,endprice);if(startprice=0 & endprice=0)elsefloat temp=0;if(startpriceendprice)temp=startprice;startprice=endprice;endprice=temp;where+= and a.saleprice=+startprice+ and a.saleprice=+endprice;BaseDAO dao=new BaseDAO();SearchResult sr=dao.listWithPage(a.*,b.categoryname, product a,category b,where, a.addtime desc,CommonUtil.getPageNo(request), 2,true); request.setAttribute(records, sr.getRecords();request.setAttribute(pb, sr.getPb();List pagecode=new ArrayList();for(int i=1;i0)msg=alert(刪除成功);window.location.href=productServlet?action=list;elsemsg=alert(刪除失敗);window.location.href=productServlet?action=list;request.setAttribute(msg, msg);request.getRequestDispatcher(msg.jsp).forward(request, response);c.列表部分適合刪除在一起完成的,如列表圖4-5、刪除如圖4-6所示。圖4-5 列表圖4-6 刪除3)分類管理這一部分包括了分類的添加修改以及刪除,基本實(shí)現(xiàn)方法與商品管理相同,不同的地方是:分類主要的視圖是以分類樹的形式出現(xiàn)。如圖4-7所示是分類的添加及修改所公用的頁面,而圖4-8則是分類的刪除及列表的頁面。圖4-7添加修改公用頁面 圖4-8分類列表4.3.2前端功能1)主頁在這部分比較重要的是主頁的分類樹的實(shí)現(xiàn),如圖4-9、4-10所示 。圖4-9 主頁代碼圖4-10 主頁2)商品列表 在列表部分比較重要的是分頁樹的實(shí)現(xiàn)以及排序方式和分頁功能,如圖4-11、4-12所示。圖4-11列表代碼圖4-12 列表3)登陸a.可以完成的功能是登陸之后才可以結(jié)算。/調(diào)用DAOBaseDAO dao=new BaseDAO();String username=CommonUtil.getStringParameter(request, username);String password=MD5.md5(CommonUtil.getStringParameter(request, password);String checkcode=CommonUtil.getStringParameter(request, checkcode);/獲取SESSIONHttpSession session=request.getSession();String msg=;String rightcode=session.getAttribute(checkcode).toString();/驗(yàn)證碼正確if(checkcode.equals(rightcode)try ListMap records=dao.listWithPage(*, user, and username=+username+ and password=+password+, userid desc, 1, 1, false).getRecords();if(records.size()0) /當(dāng)前登錄用戶的信息Map user=records.get(0);session.setAttribute(user, user);msg=alert(登錄成功);window.location.href=frontServlet?action=orderconfirm;elsemsg=alert(用戶或密碼錯誤);window.location.href=userlogin.jsp; catch (Exception e) e.printStackTrace();elsemsg=alert(驗(yàn)證碼錯誤);window.location.href=userlogin.jsp;request.setAttribute(msg, msg);request.getRequestDispatcher(msg.jsp).forward(request, response);b.登陸如圖4-13所示。圖4-13 登陸4)將商品放入購物車a.這一部分需要完成的功能是商品放入購物車,并且可以計(jì)算出價錢。/這是購買第一件產(chǎn)品,即現(xiàn)在沒有車子,我們就創(chuàng)建一個車子if(session.getAttribute(cart)=null)cart=new ArrayListMap();/放入商品圖片record.put(picurl, record.get(picurl);/設(shè)置商品數(shù)量(增加一列)record.put(buycount, buycount);/增加總價record.put(totalprice, BaseCalculate.round(buycount*Float.parseFloat(record.get(saleprice).toString(), 1);/把產(chǎn)品放入車子就行了。cart.add(record);else /說明已經(jīng)有車子了cart=(ListMap)session.getAttribute(cart);/判斷該次購買的產(chǎn)品是否已在車中,默認(rèn)不在車中boolean inCart=false;/循環(huán)車子,判斷當(dāng)前購買的產(chǎn)品是已經(jīng)購買過(重復(fù)購買)for(int i=0;icart.size();i+)/獲取每一條車子中已有的產(chǎn)品Map temprecord=cart.get(i);/是重復(fù)購買if(temprecord.get(productid).equals(productid)/取出之前購買的數(shù)量,加上本次的購買數(shù)量temprecord.put(buycount, Integer.parseInt(temprecord.get(buycount).toString()+buycount);/重新計(jì)算總價temprecord.put(totalprice, BaseCalculate.round(BaseCalculate.add(Float.parseFloat(temprecord.get(totalprice).toString(), buycount*Float.parseFloat(record.get(saleprice).toString(), 1);/將更改的記錄重新放入Cart(更改)/cart.add(i, temprecord);inCart=true;break;/該產(chǎn)品不在車中if(inCart=false)System.out.println(buycount:+buycount);/放入商品圖片record.put(picurl, record.get(picurl);/增加數(shù)量列record.put(buycount, buycount);/增加總價列record.put(totalprice, BaseCalculate.round(buycount*Float.parseFloat(record.get(saleprice).toString(),1);System.out.println(=+record);/把商品放入車子cart.add(record);/購物車中商品的總價float sum=0;/重新循環(huán)購物車,統(tǒng)計(jì)總價for(int i=0;icart.size();i+)Map temp=cart.get(i);/當(dāng)前商品的總價sum=BaseCalculate.round(BaseCalculate.add(sum, Float.parseFloat(temp.get(totalprice).toString(), 1);/把總價放入Sessionsession.setAttribute(sum,sum);/將車子放入Sessionsession.setAttribute(cart, cart);response.sendRedirect(showCart.jsp);b.放入購物車如圖4-14所示。圖4-14 加入購物車5)訂單確認(rèn) a. 訂單確認(rèn)頁面進(jìn)行訂單確認(rèn)。/調(diào)用DAOBaseDAO dao=new BaseDAO();/獲取SESSIONHttpSession session=request.getSession();Mapuser=(Map)session.getAttribute(user)/當(dāng)前登錄用戶的IDString userid=getUserid(request);/查詢收貨人的信息try ListMap receivelist=dao.listWithPage(*, receive, and userid=+userid, receiveid desc, 1, , false).getRecords();if(receivelist.size()0)/把所有的收貨人信息放入頁面request.setAttribute(receivelist, receivelist);/跳轉(zhuǎn)到填寫訂單確認(rèn)的頁面 request.getRequestDispatcher(orderconfirm.jsp).forward(request, response);else/目前該用戶沒有收貨人信息/跳轉(zhuǎn)到填寫收貨信息人信息的頁面request.getRequestDispatcher(addreceiver.jsp).forward(request, response); b.訂單確認(rèn)如圖4-15所示。 圖4-15 訂單確認(rèn)6)保存收貨人信息 a.保存收貨人信息以便下次使用。String receiver=CommonUtil.getStringParameter(request, receiver);String address=CommonUtil.getStringParameter(request, address);String mobile=CommonUtil.getStringParameter(request, mobile);String phone=CommonUtil.getStringParameter(request, phone);String mail=CommonUtil.getStringPara

溫馨提示

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

評論

0/150

提交評論