JAVA網(wǎng)上商城購物系統(tǒng)_第1頁
JAVA網(wǎng)上商城購物系統(tǒng)_第2頁
JAVA網(wǎng)上商城購物系統(tǒng)_第3頁
JAVA網(wǎng)上商城購物系統(tǒng)_第4頁
JAVA網(wǎng)上商城購物系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、分類號: TP3學(xué)校代碼:xxxx學(xué) 號:xxxxxx Xxxx學(xué)院本科生畢業(yè)論文基于J2EE的網(wǎng)上文具購物系統(tǒng)的設(shè)計與實現(xiàn)Design and Implementation of Online Stationery Shopping System Based on J2EE所在院(系): 信息工程學(xué)院學(xué)生姓名: xxxx指導(dǎo)教師: xxxx 起止日期:二一四年十一月至二一五年五月 二一五年五月學(xué)位論文獨(dú)創(chuàng)性聲明本人鄭重聲明:1. 堅持以“求實、創(chuàng)新”的科學(xué)精神從事研究工作。2. 本論文是我個人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作和取得的研究成果。3. 本論文中除引文外,所有實驗、數(shù)

2、據(jù)和有關(guān)材料均是真實的。4. 本論文中除引文和致謝的內(nèi)容外,不包含其他人或其它機(jī)構(gòu)已經(jīng)發(fā)表或撰寫過的研究成果。5. 其他同志對本研究所做的貢獻(xiàn)均已在論文中作了聲明并表示了謝意?!菊勘疚难芯康氖蔷W(wǎng)上文具銷售系統(tǒng)的整個過程,以及網(wǎng)上商城的具體開發(fā)流程和各個功能模塊,整個系統(tǒng)開始于分析網(wǎng)上商城的具體業(yè)務(wù)流程,敲定需要的各個功能模塊,以及需要用到的數(shù)據(jù)庫表。以此為出發(fā)點,進(jìn)行代碼的開發(fā)以及測試,在此整個過程中不斷細(xì)化與矯正開始的需求分析與具體的業(yè)務(wù)流程。本文用到的是Java中的Web開發(fā)技術(shù),具體實現(xiàn)工具為常見的Eclipse集成開發(fā)環(huán)境。綜上:本文所研究的是如何在Java Web的技術(shù)基礎(chǔ)上實現(xiàn)

3、網(wǎng)上文具銷售系統(tǒng)的基本功能?!娟P(guān)鍵詞】網(wǎng)上銷售系統(tǒng); Java Web【Abstract】This paper is the study of the whole process online Stationery sales system, as well as online mall of the specific development process and the various functional modules, the specific business proces

4、ses of the system began in the analysis of online shopping mall, to finalize the various functional modules required, and the need to use the data table. As a starting point, code development and testing, the whole process of

5、 refinement and demand analysis and correction to specific business processes. In this paper, use the web development technology in Java, realization of tools for Eclipse integrated development environment, the common.Summary:

6、0;This paper is the study of how to achieve the basic functions of the online sales system in the stationery on the basis of the technology Java Web.【Keywords】  online sales system; Java Web目錄1緒論21.1選題背景21.2選題目的及意義22使用工具說明32.1 開發(fā)技術(shù)簡介32.1.1HTML技術(shù)簡介32.

7、1.2JavaScript技術(shù)簡介32.1.3Tomcat技術(shù)簡介32.1.4JSP技術(shù)簡介32.2開發(fā)環(huán)境32.2.1 系統(tǒng)環(huán)境的要求32.2.2 系統(tǒng)的安裝及運(yùn)行33系統(tǒng)需求分析說明43.1系統(tǒng)介紹43.2可行性分析43.3 功能需求44總體設(shè)計54.1總體結(jié)構(gòu)和模塊設(shè)計54.2處理流程64.3數(shù)據(jù)庫結(jié)構(gòu)74.4數(shù)據(jù)庫表75系統(tǒng)實現(xiàn)95.1 前臺總體設(shè)計95.1.1前臺商品瀏覽頁面95.1.2用戶登陸模塊105.1.3用戶登陸頁面125.1.4用戶注冊模塊135.1.5用戶注冊頁面145.1.6 購物車模塊165.1.7 我的訂單模塊185.1.8 商品瀏覽模塊205.1.9 個人管理模塊

8、225.2 后臺的設(shè)計245.2.1后臺總體模塊245.2.2訂單管理模塊265.2.3商品管理模塊276 測試296.1測試的方式及步驟296.2 測試報告306.3 測試結(jié)果評價30參考文獻(xiàn)31致 謝32南京曉莊學(xué)院 2015屆本科畢業(yè)論文1緒論1.1選題背景隨著計算機(jī)的普及以及因特網(wǎng)給我們帶來方便的同時,電子商城也借著互聯(lián)網(wǎng)這股東風(fēng)慢慢的扮演著我們生活中不可或缺的角色,傳統(tǒng)的超市,實體店也遭到?jīng)_擊,也慢慢加入到網(wǎng)上商城的過程中來。技術(shù)的發(fā)展是社會前進(jìn)的不竭動力,而互聯(lián)網(wǎng)式的技術(shù)更新發(fā)展,更是催生了一大批仁人志士參與到其中,為社會帶來利益的同時,也改變著千家萬戶的生活方式?;ヂ?lián)網(wǎng)的不斷發(fā)展

9、,人們已不再滿足單純的瀏覽網(wǎng)頁,收發(fā)郵件,日益繁忙的人們更希望足不出戶就能能買到自己需要的商品,電子商務(wù)因此應(yīng)運(yùn)而生。對于客戶來講,通過網(wǎng)上購物系統(tǒng)能夠滿足自身的需要,實現(xiàn)時間成本的價值,更高效品質(zhì)的生活。對于賣方來說,網(wǎng)上商城可以降低經(jīng)營成本,實現(xiàn)產(chǎn)品的更廣范圍的銷售。對于商城自身來說,線上線下可以聚集大量的用戶和商戶,有利于社會資源的再分配。因而開發(fā)具有買賣的網(wǎng)上銷售系統(tǒng),以滿足顧客和賣家的需求。1.2選題目的及意義隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)上商城已經(jīng)應(yīng)用到生活的各個領(lǐng)域,無論是平時周邊的商店,還是大型的熱賣商場,都已經(jīng)通過互聯(lián)網(wǎng)將自身的商品與世界掛鉤。這些給人們帶來了極大的方便的同時,也給社會

10、帶來了巨大改變。通過對Java Web等相關(guān)知識的認(rèn)真研究與學(xué)習(xí),我決定做一個簡單的網(wǎng)上文具銷售系統(tǒng),將自己所學(xué),所思,所想運(yùn)用到實踐中去。于此通過此次實踐活動,可讓我自我檢驗一下自身的能力。對我的所有的自我能力做一個較為深刻的總結(jié)。2使用工具說明2.1 開發(fā)技術(shù)簡介2.1.1HTML技術(shù)簡介HTML(超文本標(biāo)記語言)是網(wǎng)絡(luò)上的通用語言,也是網(wǎng)絡(luò)Web語言的基礎(chǔ)。它是一種標(biāo)記語言,通過嵌入式代碼或標(biāo)記來表明文本格式。在HTML語言中,經(jīng)常用到的語法主要有基本文檔標(biāo)記、段落的標(biāo)記、文字標(biāo)記、格式標(biāo)記、圖文標(biāo)記、表格、表單及框架集等。在HTML中每一種元素都對應(yīng)著一種顯示的風(fēng)格,而且每一個元素都包

11、含若干個屬性。2.1.2JavaScript技術(shù)簡介JavaScript(Java腳本)是一種基于對象和事件驅(qū)動并具有安全性能的腳本語言,是由Netscape公司的Live Script發(fā)展而來的。使用JavaScript可以輕松地實現(xiàn)與HTML的互操作,并且完成豐富的頁面交互效果。它是通過嵌入或調(diào)入在標(biāo)準(zhǔn)的HTML語言中實現(xiàn)的,它的出現(xiàn)彌補(bǔ)了HTML語言的缺陷,是Java與HTML折中的選擇。2.1.3Tomcat技術(shù)簡介Tomcat是Apache軟件基金會的一個核心項目,由Apache、SUN和其他一些公司及個人共同開發(fā)完成。由于有了SUN的參與和支持,最新的Servlet和JSP規(guī)范總是

12、能在Tomcat中體現(xiàn)。2.1.4JSP技術(shù)簡介JSP(Java Server Page)通過將動態(tài)代碼嵌入到靜態(tài)的HTML代碼中,從而產(chǎn)生動態(tài)的輸出。JSP運(yùn)行于服務(wù)器端,能夠?qū)蛻舳苏宫F(xiàn)的內(nèi)容產(chǎn)生變化的網(wǎng)頁文檔。2.2開發(fā)環(huán)境2.2.1 系統(tǒng)環(huán)境的要求1.硬件環(huán)境:硬盤:10G+, 內(nèi)存:512M+。2.軟件環(huán)境:WindowsXp/win7/win8.1;jdk1.7+;Tomcat7.X+;MySQL;IE9.0+。2.2.2 系統(tǒng)的安裝及運(yùn)行1.將整個項目部署到Tomcat中,2.將數(shù)據(jù)庫連接好。 3.啟動Tomcat和MySQL服務(wù)4.訪問系統(tǒng)首頁:http:/localhost:

13、8080/statSy5.訪問后臺管理頁面:http:/localhost:8080/statSy/adminMainPage.jsp3系統(tǒng)需求分析說明3.1系統(tǒng)介紹本系統(tǒng)是建立在B/S架構(gòu)之上的文具銷售系統(tǒng),能夠?qū)崿F(xiàn)簡單的購物商城的基本功能。通過對生活中的購物商城的了解及研究,我參照了一些系統(tǒng)的功能需求,開發(fā)出了此系統(tǒng)。3.2可行性分析可行性分析的基礎(chǔ)是,項目可以不做,目的是避免項目的開發(fā)風(fēng)險,避免資源浪費(fèi)。因為每個項目都需要消耗時間和資源,等等??尚行苑治龅娜蝿?wù)是從系統(tǒng)的邏輯模型,找到解決問題的辦法,如果有幾個或更多的可行性,也應(yīng)該在這些方案中根據(jù)問題的規(guī)模,需要的成本等因素,選擇一個最佳

14、的解決方案。在大多數(shù)情況下,可行性分析一般是從技術(shù)可行性,經(jīng)濟(jì)可行性,社會可行性和操作可行性等。3.3 功能需求通過對亞馬遜,當(dāng)當(dāng)網(wǎng)等網(wǎng)上文具銷售商城的認(rèn)識和分析,我對網(wǎng)上文具銷售有了大致的了解,我覺得此系統(tǒng)應(yīng)該具有以下的一些基本功能模塊:登陸的管理:能夠?qū)τ脩舻妮斎脒M(jìn)行有效性和正確性的驗證,并給出提示。注冊的管理:能夠?qū)τ脩裘?,密碼進(jìn)行簡單的驗證;能夠?qū)︵]箱進(jìn)行有效性的驗證;防止有人利用頁面刷新來重復(fù)注冊,以及對已經(jīng)注冊的用戶不能夠重復(fù)注冊。商品的瀏覽:可以分類的顯示商品;提供可以購買的鏈接;也可以對商品進(jìn)行簡單的模糊查詢操作。瀏覽所有的商品時不用用戶登錄,但在下訂單時用戶則必須進(jìn)行登錄操作

15、。購物車的管理:想要購買的商品,可以添加到購物車;也可以從購物車中刪除該商品,清空掉該購物車;對于同一個商家的同一個商品進(jìn)行多次購買則只能在原先的商品上增加數(shù)量,還可修改購物車某件商品的數(shù)量,最后進(jìn)行所購商品的金額匯總。訂單的管理:只有在登錄的前提下才有訂單;顧客可查看自身的訂單情況。管理員可修改訂單的進(jìn)程狀態(tài)。 商品的管理:管理員可修改商品的基本信息;增加商品的時候可進(jìn)行上傳圖片的操作;商品的基本信息刪除的時候,已經(jīng)存在的商品訂單信息只有用戶自身可刪除。4總體設(shè)計4.1總體結(jié)構(gòu)和模塊設(shè)計總體設(shè)計階段的一個重要任務(wù)是設(shè)計軟件的結(jié)構(gòu),也就是要確定系統(tǒng)中每個程序是由哪些模塊組成的,以及這些模塊之間

16、相互的關(guān)系。網(wǎng)上文具銷售系統(tǒng)分為前臺和后臺,前臺界面,包括用戶登陸,注冊,商品瀏覽,我的訂單,購物車等幾個模塊。后臺部分,包括用戶管理,訂單管理,商品管理等幾個模塊。功能模塊如下:圖4-1 功能模塊設(shè)計圖4.2處理流程開始訪問網(wǎng)站首頁進(jìn)入前臺頁面,用戶可選擇用戶登陸,注冊,商品購買,訂單查詢等操作,所有的操作最后都會在用戶登錄的前提下起作用。例如當(dāng)用戶購買物品時,可加入購物車,但只有等到用戶登錄后,才能對購物車的物品進(jìn)行寫入數(shù)據(jù)庫的操作。業(yè)務(wù)流程如下:圖4-2 業(yè)務(wù)流程圖4.3數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)庫的表的開發(fā)盡量采用低冗余的操作,部分的表結(jié)構(gòu)及屬性關(guān)系如下圖所示:圖4-3 ER圖4.4數(shù)據(jù)庫表表4-

17、1 顧客信息表屬性類型長度是否為主鍵userIdvarchar100是userNamevarchar100userPwdvarchar100addrvarchar100userPhonevarchar100emailvarchar100 表4-2 商品信息表屬性類型長度是否為主鍵skuvarchar200是skunamevarchar200sortvarchar200amountint200descriptionvarchar200imgvarchar200pricevarchar200表4-3 訂單信息表屬性類型長度是否為主鍵orderIdvarchar100是userIdvarchar10

18、0userNamevarchar100userPhonevarchar100addrvarchar100sidvarchar100snamevarchar100sphonevarchar100pricevarchar100表4-4 賣家信息表屬性類型長度是否為主鍵sidvarchar100是snamevarchar100sphonevarchar1005系統(tǒng)實現(xiàn)5.1 前臺總體設(shè)計前臺界面,包括用戶登陸,注冊,商品瀏覽,我的訂單,購物車等幾個模塊。模塊功能介紹:用戶的登陸:能夠提供給用戶進(jìn)行簡單的登陸,且可通過此頁面連接到注冊頁面,進(jìn)行表單的AJAX驗證且給出提示信息。用戶的注冊:能夠提供給用

19、戶進(jìn)行注冊,并且對用戶的注冊進(jìn)行校驗:輸入框中內(nèi)容非空;密碼大于6位且必須包含英文字母;電子信箱的有效性;通過AJAX進(jìn)行用戶名的重復(fù)性校驗等。購物車的管理:所購買的商品必須經(jīng)過購物車session回話進(jìn)個商品進(jìn)行多次購買則只能在原先的商品上增加數(shù)量。我的訂單:用戶可查看自身購買物品的訂單詳情。商品的瀏覽:用戶可通過搜索框,根據(jù)商品名稱,分類及描述進(jìn)行模糊查詢物品。個人信息管理:用戶可通過登陸進(jìn)入主頁面,點擊歡迎××登陸的鏈接進(jìn)行自我信息的修改。5.1.1前臺商品瀏覽頁面商品的瀏覽主頁由導(dǎo)航欄、搜索框、購物車圖標(biāo)以及物品的顯示頁面構(gòu)成,導(dǎo)航欄主要由列表組成,通過對菜單管理的

20、事件監(jiān)聽,在點擊時讓左邊的菜單項顯示,通過對菜單管理的再次點擊則可以讓左邊的菜單項消失。部分的代碼如下:<div class="main"><div class="top"> <ul id="top"><li><a href="<%=basePath %>message.jsp">用戶留言</a></li>/*此處為菜單管理增加了鼠標(biāo)移動,鼠標(biāo)移出事件用于對此菜單項的樣式變化的動態(tài)顯示,此外又對其增加了鼠標(biāo)點擊事件,用于

21、對左邊的菜單項的顯示與隱藏。*/<li onmousemove="styleChange()" id="menu" class="menu" onmouseout="styleRecover()" onclick="menuShow()" onmouseover="this.style.cursor='pointer'">菜單管理</li><li onmousemove="this.className='menu

22、Change'" class="menu" onmouseout="this.className='menu'" onclick="valid(<%=a%>)" onmouseover="this.style.cursor='pointer'">我的訂單</li><li><a href="<%=basePath %>">首頁</a></li><%if(

23、a=1) %><li><a href="<%=basePath %>register.jsp">免費(fèi)注冊</a></li><li><a href="<%=basePath %>loginForm.jsp">請登錄</a></li></ul></div><%elseif(b=0)%><li><a href="<%=basePath %>sellerManag

24、e.jsp">賣家頁面</a></li><% else%><li><a href="<%=basePath %>seller.jsp">注冊為賣家</a></li><%><li><a href="<%=basePath %>loginOut.jsp">退出</a></li></ul></div><div style="margin-t

25、op:15px;margin-left: 12px;height:30px;width:200px;position:absolute;"><a href="/statSy/customer/userInfoManage.jsp" target="_blank">歡迎,<%=(String)cust.getUserName() %>登陸</a></div><%>圖5-1 商品瀏覽頁面圖5.1.2用戶登陸模塊通過AJAX將用戶登錄的表單進(jìn)行提交到Servlet對賬號信息和密碼信息進(jìn)

26、行校驗,返回校驗信息,如果校驗賬號有誤,則通過JavaScript中的DOM操縱頁面顯示賬號有誤,如果是密碼有誤,則在頁面上顯示密碼有誤的提示信息。JavaScript驗證代碼實現(xiàn): function ajax()var xmlhttp;if(window.XMLHttpRequest)xmlhttp=new XMLHttpRequest();elsexmlhttp=new ActiveXObject("Microsoft.XMLHTTP");xmlhttp.onreadystatechange=function() if (xmlhttp.readyState=4 &am

27、p;& xmlhttp.status=200) zh=xmlhttp.responseText;/返回查詢結(jié)果 switch(zh) case "success":_ajax=0;break; case "account":_ajax=1;break; case "password":_ajax=2;break; xmlhttp.open("GET","servlet/loginCheck?account="+escape(account)+"&&passwor

28、d="+escape(pwd)+"&&role=user" , false);/請求路徑帶有參數(shù)xmlhttp.send();圖5-2 登陸驗證圖5.1.3用戶登陸頁面用戶的登陸界面由三個部分構(gòu)成,底層為一個DIV,背景顏色為層疊在此DIV上的圖片的顏色拾取,最上面的一層為基本的表單項。代碼如下: </div> <ul> <div id="st" class="tip"><span class="v_tip"></span><

29、;/div> <li><input class="account_c" name="account" type="text" id="account" value="賬號" onfocus="inputC()" onblur="input()"></li> <li> <input class="password_c" type="text" id="

30、;password" value="密碼" onfocus="inputD()""> <input id="password_i" class="password_cc" name="password" type="password" onkeydown="keydownEvent()" style="display: none;" onblur="inputF()"> <

31、/li> <li><input name="role" type="hidden" value="user"><input type="button" onclick="validate()" id="btn" class="btn" value="登 陸"></li> </ul> </div>圖5-3 用戶登錄頁面圖5.1.4用戶注冊模塊有效性驗證: 通過J

32、avaScript 對表單中提交的數(shù)據(jù)進(jìn)行有效性校驗.郵箱的校驗:為每一個注冊表單都加入鼠標(biāo)點擊事件、失去焦點事件、鍵盤按下、鍵盤按下并松開等事件。然后執(zhí)行不同的事件函數(shù)并給出提示。郵箱的校驗難度在于正則表達(dá)式的書寫,既要滿足數(shù)字輸入、英文輸入、特殊字符的輸入等還要滿足郵箱的特殊命名規(guī)則。 function v_email() var rv=/a-z0-9+(._-*a-z0-9)*(a-z0-9+-a-z0-9*a-z0-9+.)1,63a-z0-9+$/;/郵箱的正則表達(dá)式驗證 var email=$.trim($("#email").val(); if(rv.test

33、(email) /滿足此正則表達(dá)式在輸入表單后打勾 _email=0; $("#e_tip")0.className="ee_tip" $("#email_tip").html("<font style='color:yellow'></font>"); else _email=1; $("#e_tip")0.className="eee_tip" $("#email_tip").attr("style&q

34、uot;,"color:black"); $("#email_tip").html("email格式有誤"); 用戶名插入數(shù)據(jù)庫重復(fù)的校驗:用戶鍵入的賬號重名查詢,通過JavaScript可獲得前臺表單的數(shù)據(jù),然后JavaScript將獲得的數(shù)據(jù)通過AJAX傳遞到后臺進(jìn)行校驗處理,并返回一個結(jié)果信息到JavaScript中,然后將獲得的信息進(jìn)行判斷,并通過DOM對頁面進(jìn)行提示。 function ajax()var xmlhttp;if(window.XMLHttpRequest)xmlhttp=new XMLHttpRequest(

35、);elsexmlhttp=new ActiveXObject("Microsoft.XMLHTTP");xmlhttp.onreadystatechange=function() if (xmlhttp.readyState=4 && xmlhttp.status=200) zh=xmlhttp.responseText; if(zh="account") _ajax=1; else _ajax=0; xmlhttp.open("GET","servlet/accountCheck?account=&quo

36、t;+escape(account) , false);xmlhttp.send(); 圖5-4注冊驗證圖5.1.5用戶注冊頁面用戶的注冊頁面由基本的表單進(jìn)行開發(fā),并在每個輸入框中加入事件綁定,在表單為賬號的的輸入框中加入AJAX驗證,在輸入賬號與數(shù)據(jù)庫中的已鍵入數(shù)據(jù)進(jìn)行比對,如果與數(shù)據(jù)庫中的數(shù)據(jù)相同時,給出提示。部分頁面代碼如下: <div class="main"> <table align="center" id="register"> <tr ><td><lable for

37、="account">賬號:</lable><input name="account" type="text" style="width:250px;height:25px" id="account" onblur="v_account()" onfocus="v_account()" onkeyup="v_account()" onmouseup="v_account()" onmoused

38、own="v_account()"/></td><td><div id="a_tip" class="aa_tip"><span id="account_tip" style="color:red;">*</span></div></td></tr> <tr><td><lable for="password">密碼:</lable&g

39、t; <input name="password"type="password"style="width:250px;height:25px"id="password" onblur="v_password()" onfocus="v_password()" onkeyup="v_password()" onmouseup="v_password()" onmousedown="v_password()"/&g

40、t;</td><td><div id="b_tip" class="bb_tip"><span id="password_tip" style="color:red;">*</span></div></td></tr> <tr> <td><lable for="password1">確認(rèn)密碼:</lable><input name="pa

41、ssword1"type="password"style="width:250px;height:25px" id="password1" onblur="v_password1()" onfocus="v_password1()" onkeyup="v_password1()" onmouseup="v_password1()" onmousedown="v_password1()"/></td><t

42、d><div id="c_tip" class="cc_tip"><span id="password1_tip" style="color:red;">*</span></div></td></tr> <tr><td><input type="button"onclick="validate()"style="width:120px;height:25px;

43、float:right;margin-right:10px;" value="注冊"> <input type="reset" style="width:120px;height:25px;float:right;" value="重置"></td><td></td></tr> </table> </div>圖5-5 用戶注冊頁面圖5.1.6 購物車模塊在實際的生活中,例如在超市購物,我們可以將自己想要購買的商品放入

44、購物車中。而在網(wǎng)上商城中,也會用到稱為購物車的這一種技術(shù)。這種技術(shù)可模擬實際購物車的所有特點,對放入購物車的產(chǎn)品進(jìn)行增、刪、改、查操作。增加購物車時:在增加購物車時可分為兩個部分進(jìn)行不同的處理,一個是用戶未登錄時通過點擊加入購物車按鈕,可對物品進(jìn)行添加到購物車的操作,然后再增加一個判斷,當(dāng)用戶點擊查看我的購物車的圖標(biāo)時,提示用戶進(jìn)行登陸操作,當(dāng)用戶登錄成功后將購物車的信息添加至數(shù)據(jù)庫中,并顯示購物車中以添加的信息。二是用戶已經(jīng)登陸,則直接添加至購物車,并寫入數(shù)據(jù)庫。當(dāng)用戶在登陸成功時,可進(jìn)行我的訂單查詢操作。關(guān)鍵的代碼如下:try ArrayList<orderTemp>order

45、Temp=(ArrayList<orderTemp>)otdd.selectUserTempOrder(ci.getUserId();ArrayList<orderInfo> ori=(ArrayList<orderInfo>)odo.selectAllOrder(ci.getUserId();if(ori=null)ori=new ArrayList();if(orderTemp=null)orderTemp=new ArrayList();request.getSession().setAttribute("orders", ori)

46、;request.getSession().setAttribute("orderTemp", orderTemp);response.sendRedirect("/statSy/index.jsp"); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();圖5-6 我的購物車頁面圖修改購物車時:在購物車的頁面中,修改數(shù)量時,只能輸入數(shù)字,拒絕輸入其它字符通過對輸入框添加按鍵釋放的keypress事件,進(jìn)行按鍵的監(jiān)聽,當(dāng)事件被觸發(fā)時,執(zhí)行相應(yīng)的回調(diào)函數(shù),判斷按鍵

47、在48與57之間,則允許鍵入,否則輸入失敗。關(guān)鍵的代碼如下:if(Car!=null) /判斷購物車中不為空for(int i=0;i<Car.size();i+)orderTempDao otd=new orderTempDao();try /如果此賬號存在相同產(chǎn)品,則只將該產(chǎn)品數(shù)量增1,然后重新計算該商品價格if(otd.amouontCheck(ci.getUserId(),Car.get(i).getSku()try otd.amountAdd(ci.getUserId(),Car.get(i).getSku();otd.priceAdd(ci.getUserId(),Car.g

48、et(i).getSku(); catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();function IsNum(e) var k = window.event ? e.keyCode : e.which;/判斷按鍵在48-57之間為有效鍵入 if (k >= 48) && (k <= 57) | k = 8 | k = 0) else if (window.event) window.event.returnValue = false; else e.preventD

49、efault(); 清空購物車時:在重新購買商品時,可以到購物車中清空所選商品。用戶可在購物車查看頁面進(jìn)行對訂單的信息刪除,增加數(shù)量等操作,并對所做操作進(jìn)行事件綁定。當(dāng)操作觸發(fā)時,提交到JavaScript的對應(yīng)函數(shù)中進(jìn)行處理,由AJAX將信息提交到Servlet中對數(shù)據(jù)進(jìn)行數(shù)據(jù)庫的一些操作,然后再搜索數(shù)據(jù)庫,將更新后的基本表搜索出來放在session中,然后跳轉(zhuǎn)到購物車頁面對session中的信息進(jìn)行刷新,重新生成頁面。關(guān)鍵的代碼如下:otd.delAllOrders(userId);/清空購物車中該用戶的信息ArrayList<orderTemp>/ 重新更新購物車中的sess

50、ion orderTemp=(ArrayList<orderTemp>)otd.selectUserTempOrder(ci.getUserId();request.getSession().setAttribute("orderTemp", orderTemp);response.sendRedirect("/statSy/showOrders.jsp");查看購物車時:單擊購物車的鏈接,查看購物車所有商品,關(guān)鍵的代碼如下:ArrayList<orderTemp>/更新購物車中的sessionorderTemp=(ArrayLi

51、st<orderTemp>)otd.selectUserTempOrder(ci.getUserId();request.getSession().setAttribute("orderTemp", orderTemp);response.sendRedirect("/statSy/showOrders.jsp");在用戶成功登陸后,用戶才有權(quán)限進(jìn)行購物車的查詢操作,否則給出提示,當(dāng)用戶成功登陸時,將對用戶的購物車信息和訂單信息進(jìn)行搜索,并添加至session中,在所在的頁面進(jìn)行顯示。ArrayList<orderTemp> or

52、derTemp=(ArrayList<orderTemp>)otdd.selectUserTempOrder(ci.getUserId();ArrayList<orderInfo> ori=(ArrayList<orderInfo>)odo.selectAllOrder(ci.getUserId();if(ori=null)ori=new ArrayList();/判斷該用戶是否有訂單信息if(orderTemp=null)orderTemp=new ArrayList();request.getSession().setAttribute("or

53、ders", ori);request.getSession().setAttribute("orderTemp", orderTemp);response.sendRedirect("/statSy/index.jsp");5.1.7 我的訂單模塊用戶購買物品后,可到用戶首頁的導(dǎo)航欄的菜單項中找到我的訂單進(jìn)行訂單的信息查詢及核實工作。用戶登錄成功時,將對當(dāng)前客戶的訂單信息進(jìn)行查詢,并將查詢到的信息封裝在session中,并在相應(yīng)頁面寫入的session的獲取代碼中將信息獲取到。顯示所有訂單時:在我的訂單中可顯示所有購買的訂單信息,用戶也可進(jìn)行

54、訂單的刪除操作。關(guān)鍵的代碼如下:<%customerInfo cust=(customerInfo)session.getAttribute("customer");if(cust=null)response.sendRedirect("/statSy/index.jsp");ArrayList<orderInfo> orders=(ArrayList<orderInfo>)session.getAttribute("orders");if(orders=null)orders=new ArrayList

55、();%>/用戶可對自己的訂單進(jìn)行刪除操作,并可更新sessionif(otd.delOneOrder(userId, sku)ArrayList<orderTemp> orderTemp=(ArrayList<orderTemp> )otd.selectUserTempOrder(userId);request.getSession().setAttribute("orderTemp", orderTemp);response.getWriter().write("success");<div><span

56、 onclick="window.location.href='/statSy/index.jsp'" style="cursor:pointer;font-weight: bold;">返回主頁</span></div><div style="position: absolute;top:4%;"><h1 style="text-indent: 1em;">我的訂單</h1><table cellpadding="3

57、"><tr><td>訂單號</td><td>賬號</td><td>姓名</td><td>用戶聯(lián)系電話</td><td>地址</td><td>商家編號</td><td>商家名稱</td><td>商家聯(lián)系電話</td><td>總價</td><td>操作</td></tr>/*此處可通過for循環(huán),將session中封裝的信

58、息給循環(huán)打印出來,在對刪除操作綁定onclick事件,將用戶的訂單信息傳送到Servlet對其進(jìn)行必要性的操作更新數(shù)據(jù)庫,然后從數(shù)據(jù)庫中把查出的數(shù)據(jù)封裝在session中跳轉(zhuǎn)到顯示頁面,對其動態(tài)更新*/<%for(int i=0;i<orders.size();i+) %><tr><td><input type="text" value="<%=orders.get(i).getOrderId()%>" readonly="readonly"></td>&l

59、t;td><input type="text" value="<%=orders.get(i).getUserId()%>" readonly="readonly"></td><td><input type="text" value="<%=orders.get(i).getUserName()%>" readonly="readonly"></td><td><inpu

60、t type="text" value="<%=orders.get(i).getUserPhone()%>" readonly="readonly"></td><td><input type="text" value="<%=orders.get(i).getAddr()%>" readonly="readonly"></td><td><input type="text

61、" value="<%=orders.get(i).getSid()%>" readonly="readonly"></td><td><input type="text" value="<%=orders.get(i).getSname()%>" readonly="readonly"></td><td><input type="text" value="<

62、;%=orders.get(i).getSphone()%>" readonly="readonly"></td><td><input type="text" value="<%=orders.get(i).getPrice()%>" readonly="readonly"></td><td><input teype="text" value="刪除" onclick=&quo

63、t;window.location.href='/statSy/servlet/delOrderServlet?orderId=<%=orders.get(i).getOrderId()%>&&sid=<%=orders.get(i).getSid()%>'" style="cursor:pointer;"></td></tr><% %></table></div>圖5-7 我的訂單頁面圖5.1.8 商品瀏覽模塊 用戶在通過搜索框或分類查詢時可

64、通過商品名稱,商品關(guān)鍵字,商品描述來進(jìn)行對商品的查詢商品的分類:從列表項的菜單中可查詢到所有的分類信息,將其顯示到界面上。在頁面的導(dǎo)航欄菜單中,對所有的分類的列表項綁定鼠標(biāo)點擊事件,當(dāng)事件觸發(fā)時,JavaScript中獲得當(dāng)前點擊事件的元素并進(jìn)行AJAX的提交,到Servlet中進(jìn)行查詢,將所獲得的列表項封裝在JSON中并返回過來,JQuery將返回過來的JSON數(shù)據(jù)進(jìn)行解析,并通過DOM在頁面中顯示查詢到的物品信心。關(guān)鍵的代碼如下:$.ajax(type:"post",/以post方式發(fā)送請求url:"/statSy/servlet/searchServlet",/請求的路徑data:"search":input,/請求的參數(shù)async:false,/同步方式dataType:"json",/返回的數(shù)據(jù)格式為JSONsuccess:function(data)var jsonArray=eval(data);/對返回的JSON格式進(jìn)行解析var jsonA=jsonArray0;if(jsonA.list="")alert("貨物暫缺");window.location.href="/statSy/inde

溫馨提示

  • 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

提交評論