基于Java的網(wǎng)上購物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于Java的網(wǎng)上購物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于Java的網(wǎng)上購物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于Java的網(wǎng)上購物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于Java的網(wǎng)上購物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、鄭州大學(xué)(軟件學(xué)院)實(shí)習(xí)報(bào)告學(xué)生姓名 王 鑫 院(系) 軟件學(xué)院 專 業(yè) 軟件工程 指導(dǎo)教師 韓 夢 薇 2014年 12月 目 錄1 緒論11.1 課題的研究意義11.2 本論文的目的、內(nèi)容及開發(fā)環(huán)境和工具12 研究現(xiàn)狀及設(shè)計(jì)目標(biāo)12.1 相近研究課題的特點(diǎn)及優(yōu)缺點(diǎn)分析12.2 現(xiàn)行研究存在的問題及解決辦法13 要解決的幾個(gè)關(guān)鍵問題23.1 研究設(shè)計(jì)中要解決的問題23.2 具體實(shí)現(xiàn)復(fù)雜性分析34 系統(tǒng)設(shè)計(jì)及結(jié)構(gòu)44.1 數(shù)據(jù)庫設(shè)計(jì)44.2 系統(tǒng)結(jié)構(gòu)圖65 系統(tǒng)實(shí)現(xiàn)技術(shù)75.1 分模塊詳述系統(tǒng)各部分的實(shí)現(xiàn)方法75.2 程序流程136 性能測試與分析136.1 測試實(shí)例(測試集)的研究與選擇13

2、6.2 測試環(huán)境146.3 性能分析147 結(jié)束語14參考文獻(xiàn)151 緒論1.1 課題的研究意義近年來,網(wǎng)絡(luò)技術(shù)迅猛發(fā)展,人類已經(jīng)進(jìn)入了信息化社會(huì)。隨著人們消費(fèi)觀念和生活方式的改變,網(wǎng)上購物憑借其簡單、快捷的特點(diǎn)逐漸融入了人們的生活中適應(yīng)了當(dāng)今社會(huì)快節(jié)奏地生活,使人們足不出戶便可以方便快捷輕松地選購自己喜歡的商品。1.2 本論文的目的、內(nèi)容及開發(fā)環(huán)境和工具1.論文的目的、內(nèi)容網(wǎng)上購物系統(tǒng),是在網(wǎng)絡(luò)上建立一個(gè)虛擬的購物商場,避免了挑選商品的煩瑣過程,使您的購物過程變得輕松、快捷、方便,很適合現(xiàn)代人快節(jié)奏的生活;同時(shí)又能有效的控制“商場”運(yùn)營的成本,開辟了一個(gè)新的銷售渠道。本系統(tǒng)是一個(gè)中小型的電子

3、商務(wù)系統(tǒng),可以為各類用戶提供方便的在線購物環(huán)境,符合目前國內(nèi)流行的電子商務(wù)模式。用戶可以再系統(tǒng)中實(shí)現(xiàn)注冊、登錄、修改個(gè)人信息、分類查詢商品信息、購物、管理購物車、結(jié)賬和查看各種服務(wù)條款等功能。通過后臺(tái)管理模塊可以實(shí)現(xiàn)后臺(tái)管理員對會(huì)員、商品、物流、訂單和系統(tǒng)管理。2. 開發(fā)環(huán)境和工具開發(fā)系統(tǒng):Windows7旗艦版開發(fā)工具:MyEclipse2014+Tomcat7.0+IE瀏覽器+MySQL開發(fā)技術(shù):Java+數(shù)據(jù)庫+Jsp+Html2 研究現(xiàn)狀及設(shè)計(jì)目標(biāo)2.1 相近研究課題的特點(diǎn)及優(yōu)缺點(diǎn)分析相比于傳統(tǒng)購物模式少了言語交流而有了更多的填單與確認(rèn)過程,讓人稍感不便外。總的來說,不受時(shí)間、地域限制

4、、便捷、安全、省時(shí)省力等優(yōu)點(diǎn)還是為買賣雙方帶來了不少好處。2.2 現(xiàn)行研究存在的問題及解決辦法網(wǎng)上購物系統(tǒng)是比較常見而求被廣泛應(yīng)用的系統(tǒng),本系統(tǒng)的開發(fā)主要是購物車功能、訂單功能和支付的實(shí)現(xiàn),傳統(tǒng)的購物模式,最令人煩惱的問題就是商品的進(jìn)貨、出貨、交易以及顧客對其所購商品不滿而引發(fā)的退貨問題等等?,F(xiàn)在市場上類似流行的網(wǎng)站或平臺(tái)有很多。3 要解決的幾個(gè)關(guān)鍵問題3.1 研究設(shè)計(jì)中要解決的問題1.界面設(shè)計(jì)界面布局設(shè)計(jì)是本系統(tǒng)中的一個(gè)重要的環(huán)節(jié),本系統(tǒng)采用B/S結(jié)構(gòu),即瀏覽器/服務(wù)器模式。2.功能需求網(wǎng)上購物系統(tǒng)的功能模塊有很多,大體可被簡單地劃分為兩部分:前臺(tái)模塊和后臺(tái)模塊。(1)前臺(tái)模塊:該模塊主要供

5、顧客使用,包括登錄模塊、注冊模塊、搜索模塊、購物車模塊、支付模塊等。前臺(tái)模塊功能結(jié)構(gòu)圖如圖3.1所示。圖3.1 前臺(tái)模塊結(jié)構(gòu)圖 登錄模塊本系統(tǒng)的登錄模塊提供網(wǎng)站用戶的登錄功能,包括用戶名和密碼的輸入,此模塊連接數(shù)據(jù)庫,點(diǎn)擊登錄按鈕,驗(yàn)證核實(shí)之后進(jìn)入系統(tǒng)主界面。 注冊模塊本系統(tǒng)的注冊模塊提供網(wǎng)站游客的注冊功能,輸入個(gè)人資料,注冊成為網(wǎng)站會(huì)員。包括用戶名、密碼、確認(rèn)密碼、性別、年齡、電子郵箱、驗(yàn)證碼、地址和聯(lián)系方式。 搜索模塊本模塊提供了兩種搜索功能。包括模糊搜索和條件搜索。模糊搜索即關(guān)鍵字搜索,用戶輸入自己想要商品的關(guān)鍵字,點(diǎn)擊搜索按鈕,進(jìn)行搜索。 購物車模塊購物車模塊相當(dāng)于現(xiàn)實(shí)中的購物車,用于

6、暫時(shí)存放用戶挑選的商品??梢燥@示所選商品的價(jià)格、數(shù)量、小計(jì)和總計(jì)。模塊功能包括單件商品的增減及刪除,小計(jì)表示同類商品的價(jià)格,總計(jì)表示所選商品的總計(jì)價(jià)格。確認(rèn)無誤后,點(diǎn)擊結(jié)算,便可生成訂單。 支付模塊本模塊提供了網(wǎng)上購物系統(tǒng)的支付功能。用戶接收商品,確認(rèn)試用后,點(diǎn)擊支付,給予評價(jià),完成此次交易的最后一步。 (2)后臺(tái)模塊:該模塊主要供管理員使用,包括商品管理模塊、會(huì)員管理模塊、訂單管理模塊、公告模塊等。后臺(tái)模塊功能結(jié)構(gòu)圖如圖3.2所示。圖3.2 后臺(tái)模塊結(jié)構(gòu)圖 商品管理模塊網(wǎng)上購物系統(tǒng)的商品管理模塊主要為管理員提供商品管理功能。管理員可修改商品信息,包括價(jià)格、庫存、上架以及下架。會(huì)員管理模塊會(huì)員

7、管理模塊為管理員提供了管理網(wǎng)站會(huì)員的功能??梢苑峙渚W(wǎng)站會(huì)員一定權(quán)限,也可刪除會(huì)員。訂單管理模塊此模塊的功能主要為訂單處理功能。管理員查看訂單信息,給用戶派送商品,等用戶支付之后,修改訂單狀態(tài),完成此次交易。公告模塊公告模塊用來顯示網(wǎng)站的一些活動(dòng)、獎(jiǎng)勵(lì)、上架新品、特價(jià)商品以及下架通知等信息。3.數(shù)據(jù)庫的設(shè)計(jì)數(shù)據(jù)庫是所有信息類系統(tǒng)的基礎(chǔ)核心,它把系統(tǒng)中出現(xiàn)的大量數(shù)據(jù)按照一定的規(guī)則存儲(chǔ)起來,提供檢索數(shù)據(jù)的功能。4 系統(tǒng)設(shè)計(jì)及結(jié)構(gòu)4.1 數(shù)據(jù)庫設(shè)計(jì)1.數(shù)據(jù)庫表的設(shè)計(jì)(1)用戶信息表(User_id,User_name,Password,Real_name,Age,Gender,Address,Emai

8、l,Is_Admin,Phone),其中User_id為關(guān)鍵字。該表用來存儲(chǔ)用戶id、用戶名、密碼、真實(shí)姓名、年齡、性別、地址、電子郵箱、是否為管理員和聯(lián)系方式。表的結(jié)構(gòu)如表4-1 所示。表4-1 用戶信息表含義字段類型鍵標(biāo)識(shí)用戶idUser_idIntPrimarykey用戶名User_nameVarchar密碼PasswordVarchar真實(shí)姓名Real_nameVarchar年齡AgeInt性別GenderVarchar地址AddressVarchar郵箱EmailVarchar是否管理員Is_AdminVarcharDefault聯(lián)系方式PhoneVarchar(2)商品表(Prod

9、uct_id,Name,Kind_id,Price,Uptime,Downtime,Count,Month_sell,Pro_picture,Describe),其中Product_id為主鍵,Kind_id為外鍵。該表用來存儲(chǔ)商品id、商品名稱、種類id、商品單價(jià)、上架時(shí)間、下架時(shí)間、庫存量、月銷量、商品圖片和商品描述。表的結(jié)構(gòu)如下表4-2所示。表4-2 商品信息表含義字段類型鍵標(biāo)識(shí)商品idProduct_idIntPrimarykey商品名稱NameVarchar種類idKind_idIntForeignkey商品單價(jià)PriceDouble上架時(shí)間UptimeDate下架時(shí)間Downtim

10、eDate庫存量CountInt月銷量Month_sellInt商品圖片Pro_pictureVarchar商品描述DescribeVarchar(3)商品種類表(Kind_id,F(xiàn)ather_id,Kind_name,Kind_grade),其中Kind_id為主鍵。該表用來存儲(chǔ)種類id、父種類id、種類名稱和種類等級。表的結(jié)構(gòu)如表4-3所示。表4-3 商品種類表含義字段類型鍵標(biāo)識(shí)種類idKind_idIntPrimarykey父種類idFather_idInt種類名稱Kind_nameVarchar種類等級Kind_gradeInt(4)訂單項(xiàng)表(Item_id,Order_id,Prod

11、uct_id,Product_count,User_id),其中Item_id為主鍵。該表存儲(chǔ)訂單項(xiàng)id、訂單id、商品id、商品數(shù)量、用戶id。表的結(jié)構(gòu)如表4-4所示。表4-4 訂單項(xiàng)表含義字段類型鍵標(biāo)識(shí)訂單項(xiàng)idItem_idIntPrimarykey訂單idOrder_idInt商品idKind_idInt商品數(shù)量Product_idInt用戶idUser_idInt(5) 訂單表(Order_id,Pay_way,Deliver_way,Address,Receive_name,Postcode,Receive_phone,User_id,State,isPaid),其中Order_i

12、d是主鍵,User_id為外鍵。該表用來存儲(chǔ)訂單id、支付方式、送貨方式、送貨地址、收貨人姓名、收貨人聯(lián)系方式、郵政編碼、用戶id 、訂單狀態(tài)、是否付款。表結(jié)構(gòu)如表4-5所示。表4-5 訂單表含義字段類型鍵標(biāo)識(shí)訂單idOrder_idIntPrimarykey支付方式Pay_wayVarchar送貨方式Deliver_wayVarchar送貨地址AddressVarchar收貨人姓名Receive_nameVarchar收貨人聯(lián)系方式Receive_phoneVarchar郵政編碼PostcodeVarchar用戶idUser_idIntForeignkey訂單狀態(tài)StateVarcharDe

13、fault是否付款isPaidVarcahrDefault2.數(shù)據(jù)庫表的關(guān)系圖根據(jù)需求分析和上述的數(shù)據(jù)庫設(shè)計(jì),我們得出數(shù)據(jù)庫表的ER圖,如下圖4.1所示。圖4.1 數(shù)據(jù)庫表的關(guān)系圖4.2 系統(tǒng)結(jié)構(gòu)圖結(jié)構(gòu)圖以模塊的關(guān)系為線索,用自上而下的連線表示調(diào)用關(guān)系并注明參數(shù)傳遞的方向和內(nèi)容。根據(jù)第三章節(jié)的功能分析,可以得出本系統(tǒng)總體結(jié)構(gòu)圖。如圖4.2所示。圖4.2 網(wǎng)上購物系統(tǒng)總體模塊結(jié)構(gòu)圖5 系統(tǒng)實(shí)現(xiàn)技術(shù)5.1 分模塊詳述系統(tǒng)各部分的實(shí)現(xiàn)方法1.登錄經(jīng)過上述的各項(xiàng)步驟之后,基本上完成了一個(gè)網(wǎng)上購物系統(tǒng)的開發(fā)。本系統(tǒng)的登錄界面如下圖所示。輸入用戶名和密碼,單擊登錄按鈕,與數(shù)據(jù)庫的用戶信息表進(jìn)行驗(yàn)證,核實(shí)身

14、份后進(jìn)入系統(tǒng)主界面。登錄界面如圖5.1所示。圖5.1 登錄界面對應(yīng)的部分程序代碼為:Overrideprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); String username = req

15、uest.getParameter("username"); String password = request.getParameter("password"); PrintWriter out=response.getWriter(); try User u = Userdao.getUser(username); if(u != null) if(u.getUser_password().equals(password) request.getSession().setAttribute("user", u);response.

16、sendRedirect("/dog_heaven/jsp/main.jsp"); elseout.println("<script>alert('密碼錯(cuò)誤');window.history.go(-1)</script>"); else out.println("<script>alert('用戶名不存在');window.history.go(-1)</script>"); catch (SQLException e) e.printStackTrac

17、e(); 2.注冊如果用戶還不是本網(wǎng)站會(huì)員,就只能瀏覽商品,沒有購物車功能,也不購買商品。這時(shí)就需要注冊會(huì)員。本系統(tǒng)注冊界面如下圖所示。本界面采用Ajax驗(yàn)證,即時(shí)更新驗(yàn)證輸入的信息。完成個(gè)人信息的填寫后,單擊立即注冊按鈕,即可成為本網(wǎng)站會(huì)員。注冊界面如圖5.2所示。圖5.2 注冊界面3.搜索本系統(tǒng)搜索功能如下圖所示,大體提供了兩種搜索功能。第一種:關(guān)鍵字查找(模糊查找),會(huì)員輸入關(guān)鍵字,單擊搜索按鈕進(jìn)行搜索;第二種:條件查找,具體可 為價(jià)格區(qū)間查找和商品類別查找。 對應(yīng)的部分程序代碼為:Overrideprivate void keywords(HttpServletRequest requ

18、est, HttpServletResponse response) throws SQLException, IOException String key = request.getParameter("keywords"); ArrayList<Dog> dogs = (ArrayList)Dogdao.findKeyWordsDog(key); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head&g

19、t;<title></title></head>"); out.println("<body>"); out.println(" <div style="background-image: url('image/main/memu.jpg');height: 600px; ">"); out.println("<table align="center">"); if (dogs.size()=0)

20、out.println("<br><br><div align="center"><h1>沒有符合條件的商品</h1></div><br>"); out.println("<div align="center"><h2><a href="/dog_heaven/jsp/main.jsp">如有需要,請重新搜索</a></h2></div><br&

21、gt;"); return; else out.println("<br><br><div align="center"><h1>商品如下</h1></div><br>"); out.println("<div align="center"><h2><a href="/dog_heaven/jsp/main.jsp">返回首頁</a></h2></

22、div><br>"); for (int i = 0; i < dogs.size(); i+) Dog d = dogs.get(i); if(i = 0) out.println("<tr>"); if(i%4=0&&i!=0) out.println("</tr>"); out.println("<td>"); out.println("<table width=" 200px">"); ou

23、t.println("<tr><td colspan="2"><a href="detailServlet?id="+d.getDog_id()+""><img width="180px" height="220px" src="image/dog/"+d.getDog_picture()+""/></a></td></tr>"); out.printl

24、n("<tr><td colspan="2">"+d.getDog_describe()+"</td></tr>"); out.println("<tr> <td ><img src="image/main/price.jpg"/></td> "); out.println(" <td>"+d.getDog_now_price()+"</td> &

25、lt;/tr>"); out.println("</table></td>"); out.println("</div>"); out.println("</body>"); out.println("</html>"); out.flush(); out.close(); 4.購物車購物車模塊相當(dāng)于現(xiàn)實(shí)中的購物車,用于暫時(shí)存放用戶挑選的商品。顧客可以選擇單件商品數(shù)量或者刪除商品。小計(jì)表示同類商品的價(jià)格,總計(jì)表示所選商品的總計(jì)價(jià)格。確認(rèn)無誤

26、后,點(diǎn)擊結(jié)算,生成訂單。核心程序代碼為: private ArrayList<CartItem> printCartItem(PrintWriter out, ShoppingCart cart) ArrayList<CartItem> items = cart.getCart();CartItem item = null;out.println("<table width="500" border="1" >");out.println("<tr>");out.pr

27、intln("<th width="100">圖片</th>");out.println("<th width="100">價(jià)格</th>");out.println("<th width="100">數(shù)量</th>");out.println("<th width="100">小計(jì)</th>");out.println("<

28、th width="100">操作</th>");out.println("</tr>");for (int i = 0; i < items.size(); i+) item = items.get(i);out.println("<form action="jsp/memu.jsp?price="+item.getPrice()+"&&number="+item.getQuantity()+"&&dogid=

29、"+item.getId()+"" >");out.println("<tr>");out.println("<td><img width=" 100px" height=" 100px" src="image/dog/"+ item.getPic() + "" /></td>");out.println("<td align="center"&g

30、t;"+item.getPrice()+"元</td>");out.println("<td align="center"><font size="5">" + item.getQuantity() + "</font></td>");out.println("<td align="center">" + item.getSum() + "元</td>&

31、quot;);out.println("<td align="center"><a href="/dog_heaven/DelShoppingCartServlet?id="+ item.getId()+ ""><font color="red">刪除</font></a></td>");out.println("</tr>");out.println("<tr>&quo

32、t;);out.println("<td colspan="3" align="center">總計(jì):<font color="red" size="6">"+ cart.getTotal() + "</font>元</td>");out.println("<td align="center"><a href="/dog_heaven/RemoveAllServlet&q

33、uot;>清空</a></td>");out.println("<td align="center"><input type="submit" value="結(jié)算"/></td>");out.println("</tr>");out.println("</form>");out.println("</table>");return items;5

溫馨提示

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

評論

0/150

提交評論