版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、西安電子科技大學網絡與繼續(xù)教育學院2014學年下學期網絡程序設計期末考試試題(綜合大作業(yè))題號一總分題分100得分考試說明:1、大作業(yè)于2014年12月25日下發(fā),2015年1月10日交回;2、考試必須獨立完成,如發(fā)現抄襲、雷同均按零分計;3、紙質文檔打印提交。請根據以下需求完成電子商務網站的設計與實現:電子商務網站分為前臺頁面和后臺管理。前臺頁面包括商品展示、用戶登錄、用戶基本信息維護、商品訂購、購物車等。后臺管理包括商品管理、訂單管理、用戶管理等模塊。主要模塊的功能如下:(1)用戶管理:注冊用戶,包括用戶名、密碼等信息。修改用戶信息、刪除用戶信息。(2)商品管理:添加商品類別,修改商品類別
2、,刪除商品類別,添加商品信息,(包括商品的類別、名稱、編號、生產公司等信息。)商品圖片上傳、修改和刪除,修改商品信息,刪除商品信息,查看商品信息。 (3)訂單的管理:生成訂單,發(fā)貨,結賬,刪除訂單。要求結合課程所學內容選擇合適的數據庫和開發(fā)語言完成電子商務網站設計與開發(fā)。提交作業(yè)報告,內容包括:需求分析,總體設計,實現方案,功能模塊設計,數據庫設計,網頁結構設計,運行結果,源程序等。1 系統開發(fā)背景與意義1.1系統開發(fā)背景與意義當下電子商務成為人們生活、工作的重要組成部分。購物不再是單一的現實、實體形式,b2c(企業(yè)對個人)電子商務網上購物日漸成為購買商品的主要形式。本文闡述了電子商務的背景和
3、發(fā)展前景,介紹一個具體的的電子商務網站購物網上商城的實現過程,實現了電子購物網站前臺和后臺功能。前臺包括商品瀏覽模塊、用戶登錄注冊模塊、購物車模塊,其中購物車模塊是電子商城的關鍵,后臺包括訂單、商品、會員管理模塊。通過后臺的管理將商品展示到前臺,供會員瀏覽、購買。這樣人們就可以足不出戶購買到所需商品,方便、省時,企業(yè)也減少了成本。2 設計運用技術及工具2.1 .jsp運行原理jsp全名為java server pages,中文名叫java服務器頁面,其根本是一個簡化的servlet設計,它1 是由sun microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準。jsp本質上
4、就是把java代碼嵌套到html中,然后經過jsp容器(tomcat、resin、weblogic等)的編譯執(zhí)行,再根據這些動態(tài)代碼的運行結果生成對應的html代碼,從而可以在客戶端的瀏覽器中正常顯示。如果jsp頁面是第一次被請求運行,服務器的jsp編譯器會生成jsp頁面對應的java代碼,并且編譯成類文件。當服務器再次收到對這個jsp頁面請求的時候,會判斷這個jsp頁面是否被修改過,如果被修改過就會重新生成java代碼并且重新編譯,而且服務器中的垃圾回收方法會把沒用的類文件刪除。如果沒有修改過,服務器就會直接調用以前已經編譯過的類文件。2.2 平臺選擇microsoft軟件是日常生活中使用最
5、為廣泛的軟件,基于這一特點,我們選用的平臺是java server page(簡稱jsp)+sql2005數據庫,它適應于windows操作系統并能很好的與其應用程序結合,而且sql server 2005數據庫也易操作,從而大大降低了編程難度。具體如下:l 采用了internet架構,bowser/server模式。l web服務器采用tomcat6.0服務器,數據庫管理系統為sql server 2005。l 開發(fā)工具使用dreamweaver搭建系統頁面框架,再用myeclipse在其中插入jsp語句,javabean使用myelipse編寫。2.3 系統開發(fā)工具本系統是基于jsp+sq
6、l server 2005數據庫技術實現的,現對jsp技術和sql server 2005數據庫作簡要的介紹。2.4 server 2005數據庫技術sql server是一個關系數據庫管理系統。sql server 2005是microsoft公司推出的sql server數據庫管理系統的較新版本。sql server 2005數據庫引擎提供完整的xml支持。它還具備構成最大的web站點的數據存儲組件所需的可伸縮性、可用性和安全功能。sql server 2005關系數據庫引擎支持當今苛刻的數據處理所需的功能。數據庫引擎充分保護數據完整性,同時將管理眾多并發(fā)修改數據庫的用戶的開銷減到最小。s
7、ql server 2005分布式查詢使得以引用來自不同數據源的數據,就好像這些數據是sql server 2005數據庫的一部分,同時分布式事務支持充分保護分布式數據更新的完整性。3 系統分析3.1 需求分析電子商務購物過程的實現與傳統的實體店購物方式不同。首先購物者必須要有一個唯一的身份,用戶通過這個身份登錄網站,查看購買信息,這樣才能確保一對一的購買和用戶的安全。而且在線購物的整個過程都是通過網絡進行的,購買者無法真是看到商家和商品,對商品信息的了解只能通過網絡前臺展示,所以商家必須分類、詳細、真實的展示商品信息5。在線購物網站的一般流程是:商家將上架的商品信息通過系統后臺管理功能發(fā)布到
8、網上,然后購買者登錄,通過系統前臺頁面瀏覽商品詳細信息,并且可以根據自己的需要搜索更具針對性的商品信息,將自己所選物品加入購物車,進去購物車付款。根據網上購物的過程,同時參考、分析目前市場上已有的電子購物網站,本系統要實現前臺展示和系統管理兩大模塊。其中的前臺功能由購物者使用,可以進行各類商品信息的瀏覽,如果是注冊會員那么可以選購商品到購物車并實現結算。系統系統管理功能由發(fā)布商品的商家使用,實現注冊會員管理、商品信息管理、訂單管理等功能。3.2可行性分析隨著網絡的快速發(fā)展,對比傳統的商場銷售,淘寶在2014年和2013年雙十一交易額600億元和350億元,說明電子商務給我們來到很大的變化。改變
9、了人們的購物方式。b2c電子商務網站以及其方便、快捷、省時的特點收到了越來越多用戶的青瞇,b2c電子商務網站可以將商品詳細分類,為用戶提供更大的選擇空間;通過前臺商品展示,可以使顧客更好的了解商城內的商品;網絡購物車的實現使顧客真實實現足不出戶、網上購物的目的4 總體設計4.1 功能設計電子商務網站主要實現以下功能:(1)用戶管理:注冊用戶,包括用戶名、密碼等信息。修改用戶信息、刪除用戶信息。(2)商品管理:添加商品類別,修改商品類別,刪除商品類別,添加商品信息,(包括商品的類別、名稱、編號、生產公司等信息。)商品圖片上傳、修改和刪除,修改商品信息,刪除商品信息,查看商品信息。 (3)訂單的管
10、理:生成訂單,發(fā)貨,結賬,刪除訂單。 (4)后臺管理模塊是管理員所見到的界面,管理員可通過這部分來管理網站。具體功能又細分為:a管理員登陸模塊;b商品信息管理模塊;c用戶管理模塊;d訂單管理模塊。4.2 功能結構b2c電子商務網站功能流程圖展示整個網站的各個功能,如圖4-1所示。商品管理用戶注冊登錄 修 改訂單管理在線支付模塊b2c電子商務網站功能結構圖網站前臺網站后臺訂單管理模塊庫存管理模塊用戶管理模塊管理員管理系統管理模塊圖4-1 網站功能流程圖4.3 數據庫設計本系統數據庫采用sql server 2005數據庫,系統數據庫名稱為db_shop,共包含9張表。(1)tb_supertyp
11、e(商品大分類信息表)商品大分類信息表主要用來保存商品類別中大的類別信息。表tb_supertype的結構如表4-1所示。表4-1 商品大分類信息表字段名數據類型長度是否主鍵描述idint4是類別idtypenamevarchar50類別名稱(2)tb_subtype(商品小分類信息表)商品小分類信息表主要用來保存商品類別中小的類別信息。表tb_subtype的結構如表4-2所示。表4-2 商品小分類信息表字段名數據類型長度是否主鍵描述idint4是類別idsupertypeint4父類idtypenamevarchar50類別名稱(3)tb_rebate(折扣表)折扣表用來保存顧客在購買商品
12、時的折扣信息。表tb_rebate的結構如表4-3所示。表4-3 折扣表字段名數據類型長度是否主鍵描述gradevarchar20是等級amountmoney8消費額rebatefloat8折扣(4)tb_order_detail(訂單明細表)訂單明細表用來保存訂單的詳細信息。表tb_order_detail的結構如表4-4所示。表4-4 訂單明細表字段名數據類型長度是否主鍵描述idbigint8是id號orderidbigint8與tb_order表的orderid字段關聯goodsidbigint8商品idpricemoney8價格numberint4數量(5)tb_order(訂單信息主
13、表)訂單信息主表用來保存訂單的概要信息。表tb_order的結構如表4-5所示。表4-5 訂單信息主表字段名數據類型長度是否主鍵描述orderidbigint8是訂單編號bnumbersmallint2品種數usernamevarchar15用戶名truenamevarchar15真實姓名addressvarchar100聯系地址postcodevarchar10郵政編碼telvarchar20電話payvarchar20付款方式carryvarchar20運送方式rebatefloat8折扣orderdatesmalldatetime4訂貨日期enforceint4是否執(zhí)行bzvarchar
14、200備注(6)tb_member(會員信息表)會員信息表主要用來存儲所注冊的會員的信息。表tb_member的結構如表4-6所示。表4-6 會員信息表字段名數據類型長度是否主鍵描述idint4是會員idusernamevarchar20用戶名truenamevarchar20真實姓名passwordvarchar20密碼cityvarchar20所在城市addressvarchar100聯系地址postcodevarchar6郵政編碼cardnovarchar24證件號碼cardtypevarchar20證件類型gradeint4等級amountmoney8消費額telvarchar20電話
15、emailvarchar100email地址freezeint4是否凍結(7)tb_manager(管理員信息表)管理員信息表用來保存管理員信息。表tb_manager的結構如表4-7所示。表4-7 管理員信息表字段名數據類型長度是否主鍵描述idint4是id號managervarchar30管理員名稱pwdvarchar30密碼(8)tb_goods(商品信息表)商品信息表主要用來保存商品信息。表tb_goods的結構如表4-8所示。表4-8 商品信息表字段名數據類型長度是否主鍵描述idbigint8是商品idtypeidint4類別idgoodsnamevarchar200商品名稱intr
16、oducetext16商品簡介pricemoney8定價nowpricemoney8現價picturevarchar100圖片文件intimedatetime8錄入時間newgoodsint4是否新品saleint4是否特價hitint4瀏覽次數(9)tb_bbs(公告信息表)公告信息表主要用來保存商城的公告信息。表tb_bbs的結構如表4-9所示。表4-9 公告信息表字段名數據類型長度是否主鍵描述idint4是id號titlevarchar100公告標題contentvarchar40000公告內容intimedatetime8錄入時間第5章 實現方案本系統所采用的是internet架構,三
17、層b/s模式,采用jsp+sql server 2005數據庫技術實現,同時利用了javabean、javascript、jdbc-odbc橋接器等技術。本節(jié)將首先介紹系統開發(fā)工具、再介紹系統各部分的實現方法。5.1 系統各部分的實現方法從系統功能模塊劃分中可以看出,系統功能模塊分為前臺和后臺。前臺包括有用戶注冊、用戶登錄、修改個人信息、查詢商品、特價商品展示、新品展示、購買商品、加入購物車、支付等功能。后臺模塊總要有添加商品、刪除商品、添加商品類別、管理用戶、管理公告、管理訂單等。各模塊雖然是獨立的,但又統一于同一數據庫中,便于管理員管理維護數據庫,同時也便于用戶的操作。5.1.1 創(chuàng)建與數
18、據庫的連接在jsp中可以使用java的jdbc技術,實現對數據庫中表記錄的查詢、修改和刪除等操作。jdbc技術在jsp中占有很重要的位置。jdbc(java database connectivity)是java數據庫連接api。簡單地說,jdbc能完成三件事:l 與一個數據庫建立連接l 向數據庫發(fā)送sql語句l 處理數據庫返回的結果jdbc-odbc橋是一個jdbc驅動程序,它通過將jdbc操作轉換為odbc操作來實現jdbc操作。對odbc,它像是通常的應用程序,橋為所有對odbc可用的數據庫實現jdbc。jdbc在設計上和odbc很相似。jdbc和數據庫建立連接的一種常見方式是建立一個j
19、dbc-odbc橋接器。由于odbc驅動程序被廣泛的使用,建立這種橋接器,是的jdbc有能力訪問幾乎所有類型的數據庫。jdbc也可以直接加載數據庫渠道程序訪問數據庫。5.1.2 訪問數據庫的javabeanjavabean是一種java語言寫成的可重用組件。為寫成javabean,類必須是具體的和公共的,并且具有無參數的構造器。javabean通過提供符合一致性設計模式的公共方法將內部域暴露成為屬性。眾所周知,屬性名稱符合這種模式,其他java類可以通過自省機制發(fā)現和操作這些javabean屬性。用戶可以使用javabean將功能、處理、值、數據庫訪問和其他任何可以用java代碼創(chuàng)造的對象進行
20、打包,并且其他的開發(fā)者可以通過內部的jsp頁面、servlet、其他javabean、applet程序或應用來使用這些對象。用戶可以認為javabean提供了一種隨時隨地的復制和粘貼的功能,而不用關心任何改變。jsp的一個重要特性就是可以用javabean實現功能的擴展。將大部分功能放在javabean中完成,以使jsp頁面程序更干凈簡潔、利于維護。javabean可以很方便的用來捕獲頁面表單的輸入并完成各種業(yè)務邏輯的處理。l 連接數據庫的javabeanconndb。通過jsp頁面調用此javabean,可以實現對數據庫的連接,數據表的添加、刪除、更新等操作。l 編譯及使用javabean例
21、如用jdk的javac命令編譯conndb.java,得到conndb.class文件,即表示建立了一個javabean。在jsp頁面中要使用這個javabean,先使用語句:,通過該引用就可以實現bean中相關功能函數,這樣就可以方便的完成對數據庫的增、刪、改和查詢等操作。5.2 系統界面設計5.2.1 網站頁面設計在西部商城的首頁中,用戶不但可以在第一時間內掌握商城推出的本月特價商品、促銷商品、最新公告等,還可以查看銷售排行、搜索指定商品、商品分類查詢等。西部商城前臺首頁的運行結果.圖5-1 網站前臺首頁圖5-2 網站后臺頁面圖5-3網站購物車頁面5.2.2 本月特價商品模塊設計特價商品模
22、塊共有兩個入口,一個是網站導航條中的【特價商品】導航按鈕,另一個是網站前臺的居中位置,分欄列出了商城中特價商品中最新的兩條特價商品信息,單擊特價商品展區(qū)中的“more”超鏈接可以進入到特價商品頁面,在該頁面中將列出商城中的全部特價商品。主要包括商品圖片、名稱、原價、現價等信息。同時設置了【購買】按鈕和【詳細信息】按鈕,分別用于將商品信息添加至購物車和查看商品詳細信息。特價商品模塊在網站首頁的設計效果如圖5-2所示。圖5-2 特價商品頁面查詢數據表中的特價商品。特價商品信息同商品基本信息同時保存在商品信息表tb_goods中,以字段sale標識,當sale字段的值為1時,代表該商品為特價商品。部
23、分實現代碼如下:resultset rs=conn.executequery(select top 10 id,goodsname,introduce,price,nowprice,picture from tb_goods where sale=1 order by goodsname);¥:(元) ¥: (元) input name=see type=button class=btn_grey onclick=window.location.href=cart_add.jsp?goodsid=value=購買5.2.3 新品上架模塊設計新品上架模塊也有兩個入口,一個是
24、網站導航條中的【新品上架】導航按鈕,另一個是網站前臺的居中位置,列出了商城中上架新品中的最新上市的4條商品信息,單擊新品上架展區(qū)中的“more”超鏈接可以進入到新品上架頁面,在該頁面中將列出商城中的全部上架新品。主要包括商品圖片、名稱、現價等信息。同時設置了【購買】按鈕和【查看詳細信息】按鈕,分別用于將商品信息添加至購物車和查看商品詳細信息。下面只以首頁中的新品上架為例進行介紹。新品上架模塊在網站首頁中的設計效果如圖5-3所示。圖5-3 新品上架頁面新品上架信息同商品基本信息同時保存在商品信息表tb_goods中,以字段newgoods標識,當newgoods字段的值為1時,代表該商品為上架新
25、品。在網站首頁中查詢新上架商品。部分實現代碼如下: atarget=_blankonclick=window.location.href=goods_detail.jsp?id=img src=images/goods/5.2.4 商品分類模塊設計為了方便用戶查詢所需商品信息,在網站中設置了商品分類顯示模塊。在網站首頁的右側以樹狀菜單的形式列出了商品的大、小分類信息,用戶單擊大類別結點可以顯示出該類的所有小類信息,單擊小類結點可以進入到分類商品顯示頁面查看該類別的全部商品信息,在分類商品顯示頁面中,單擊商品名稱可以查看相應商品的詳細信息。如果用戶已經登錄,還可以直接將商品信息添加至購物車中。商
26、品分類模塊的頁面設計效果如圖5-4所示。圖5-4 商品分類頁面實現以樹狀菜單的形式顯示商品的大、小分類信息的關鍵是獲取商品的大分類信息,并分別查詢出每個大類所對應的小分類信息,再通過標記和javascript自定義函數實現結點的顯示和隱藏。部分實現代碼如下:% if(subtype_rc a href=javascript:showtr(img,openrep)img src=images/jia.gif border=0 alt=展開 id=imgahref=javascript:showtr(im
27、g,openrep)5.2.5 會員管理模塊設計在前臺的會員管理模塊中主要包括會員注冊、會員登錄、會員資料修改3部分。由于會員資料修改同會員注冊的實現方法類似,只是調用的sql語句不同,所以此處只給出會員注冊和會員登錄進行介紹。會員注冊會員注冊的入口位于網站首頁的左側。用戶單擊【注冊】按鈕即可進入到會員注冊頁面,該頁面的設計效果如圖5-5所示。圖5-5 會員注冊頁面部分實現代碼如下:if (myform.pwd1.value=)alert(請確認密碼!);myform.pwd1.focus();return;if (myform.pwd.value!=myform.pwd1.value)ale
28、rt(您兩次輸入的密碼不一致,請重新輸入!);myform.pwd.focus();return;if(myform.cardno.value=)alert(請證件號碼!);myform.cardno.focus();return;if (myform.email.value=)alert(請輸入email地址!);myform.email.focus();return;var i=myform.email.value.indexof();var j=myform.email.value.indexof(.);if(i0)|(j0)alert(您輸入的email地址不正確,請重新輸入!);my
29、form.email.value=;myform.email.focus();return;會員注冊模塊由兩個頁面組成,一個是用于收集用戶輸入的注冊信息的會員注冊頁面,另一個用于將會員注冊信息保存到數據表中的處理頁。會員注冊頁面主要由表單元素組成,比較簡單。將會員注冊信息保存到數據表中,首先使用javabean中的member類保存客戶端輸入的會員信息,再通過調用memberdaoimpl中的insert方法將會員信息保存到會員信息表中。在保存會員信息時,還需要判斷會員名是否存在,必須保證會員名稱的惟一性。會員登錄會員登錄用于網站會員登錄本網站進行購物或查看訂單情況。會員登錄入口位于網站首頁的
30、左側,頁面運行結果如圖4所示。下面給出會員登錄頁面的設計效果圖和會員登錄后的會員登錄頁面的運行結果,分別如圖5-6、圖5-7所示。 圖5-6 會員登錄頁面 圖5-7 會員登錄后頁面部分實現代碼如下:tryresultset rs=conn.executequery(select * from tb_member where username=+username+ and freeze=0);if(rs.next()string pwd=request.getparameter(pwd);if(pwd.equals(rs.getstring(password) session.setattrib
31、ute(username,username); response.sendredirect(index.jsp); elseout.println(alert(您輸入的用戶名或密碼錯誤,請與管理員聯系!);window.location.href=index.jsp;);elseout.println(alert(您輸入的用戶名或密碼錯誤,或您的賬戶已經被凍結,請與管理員聯系!);window.location.href=index.jsp;);catch(exception e)out.println(alert(您的操作有誤!);window.location.href=index.jsp
32、;);conn.close(); %當用戶在登錄窗口中輸入用戶名和密碼后,單擊【登錄】按鈕,系統將對輸入的用戶名和密碼進行驗證,如果用戶輸入的用戶名存在并且凍結字段的值不為1,則判斷用戶輸入的密碼是否正確,如果密碼正確,則重新進入網站首頁,顯示登錄用戶的用戶名、【修改資料】按鈕、【退出登錄】按鈕,否則提示登錄失敗。第6章 系統測試與評價分析6.1 測試環(huán)境簡介硬件平臺:inter(r) core(tm)2 duo,內存2gb,硬盤250gb軟件平臺:windows 7操作系統,microsoft sql server 2005數據庫,ie8.0瀏覽器,tomcat 5.5, jsp開發(fā)的電子商
33、城商品銷售管理系統。everest ultimate是一個測試軟硬件系統信息的工具,它可以詳細的顯示出pc每一個方面的信息。支持上千種(3400+)主板,支持上百種(360+)顯卡,支持對并口/串口/usb這些pnp設備的檢測,支持對各式各樣的處理器的偵測。目前everest home已經能支持包括中文在內的30種語言,讓你輕松使用。而且經過幾次大的更新,現在的everest已經具備了一定的硬件測試能力,讓您對自己電腦的性能有個只管的認識。6.2 系統的不足及修改方法第一個問題就是用戶登陸以后,如果需要修改資料,系統會先將數據庫中該用戶的所有信息以列表形式顯示出來,問題就是此時出現的用戶密碼信息是以明碼形式出現的,這對用戶來說就存在這很大的風險,容易被他人看到,最好是以一些特殊符號來代替從而防止信息泄漏。在參考了其他網站的登陸模塊之后,我對代碼進行了簡單修改,即可實現,問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘋果素描課件教學課件
- 質量方針目標培訓課件
- 內分泌治療儀設備使用
- 學涯規(guī)劃演講
- 你好法語課件教學課件
- 企業(yè)文化工作規(guī)劃行動方案
- 高三化學一輪復習 原電池課件
- 第二章 相互作用-共點力的平衡 2025年高考物理基礎專項復習
- 3.4 1沉淀溶解平衡 課件 高二上學期化學人教版(2019)選擇性必修1
- 防臺風暴雨演練動員大會
- 2024-2025學年初中九年級數學上冊期中測試卷及答案(人教版)
- 2024入團知識題庫(含答案)
- 電梯日管控、周排查、月調度內容表格
- 1+X數字營銷技術應用題庫
- 學校安全隱患排查整治表
- 房屋施工安全協議書
- HCCDP 云遷移認證理論題庫
- 工程結算單(樣本)
- 論排球跳發(fā)球技術的動作結構和特點
- 《福建省建筑安裝工程費用定額》(2017版)正式版20176XXXX615
- 蘇教版二年級(上)數學全冊集體備課
評論
0/150
提交評論