版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)論文(設(shè)計)</p><p> 題目: 基于JSP購物網(wǎng)站的設(shè)計與開發(fā) </p><p> 學(xué)院: 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院 </p><p> 班級: 08級計算機(jī)本科三班 </p><p> 基于JSP
2、購物網(wǎng)站的設(shè)計與開發(fā)</p><p> 摘要:隨著網(wǎng)絡(luò)化和信息化的發(fā)展,人們生活水平的不斷提高,互聯(lián)網(wǎng)已逐步深入人心,人們不再滿足于傳統(tǒng)的購物方式,“網(wǎng)上購物”這種新型的購物方式已經(jīng)為更多的人所接受,越來越多的網(wǎng)絡(luò)商店走入了大眾的生活,對電子商務(wù)網(wǎng)站的設(shè)計和實現(xiàn)技術(shù)要求也越來越高,網(wǎng)上手機(jī)銷售也成為商家新的運作模式。本網(wǎng)站主要以MySQL為數(shù)據(jù)庫開發(fā)平臺,采用JSP開發(fā)技術(shù)實現(xiàn)前臺用戶頁面和后臺管理員管理頁面。
3、此系統(tǒng)的開發(fā)改善了一些技術(shù)和增加創(chuàng)新,使之代替了傳統(tǒng)的銷售方式,解決了管理困難、銷售成本高等問題。同時此系統(tǒng)具有使用簡單,用戶界面友好,便于操作等特點。</p><p> 關(guān)鍵詞:JSP;MySQL;手機(jī)商城</p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p&
4、gt;<p> 1.1 網(wǎng)站的開發(fā)背景1</p><p> 1.2 系統(tǒng)開發(fā)工具概述2</p><p> 1.2.1 JSP簡介2</p><p> 1.2.2 JSP的優(yōu)點2</p><p> 1.2.3 JSP的弱勢2</p><p> 1.2.4 MyEclipse簡介2&l
5、t;/p><p> 1.2.5 MySql簡介3</p><p> 1.2.6 Tomcat簡介3</p><p> 1.2.7 系統(tǒng)開發(fā)環(huán)境3</p><p><b> 2 需求分析4</b></p><p> 2.1 功能需求分析4</p><p>
6、2.2 業(yè)務(wù)流程分析4</p><p> 2.3 數(shù)據(jù)流分析4</p><p><b> 3 系統(tǒng)設(shè)計7</b></p><p> 3.1系統(tǒng)總體功能結(jié)構(gòu)7</p><p> 3.2 系統(tǒng)數(shù)據(jù)庫模型設(shè)計8</p><p> 3.2.1系統(tǒng)概念結(jié)構(gòu)設(shè)計——E-R圖8</p
7、><p> 3.2.2 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計——關(guān)系模型10</p><p> 3.2.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計——關(guān)系表10</p><p> 3.2.4 數(shù)據(jù)表詳細(xì)說明10</p><p> 4 詳細(xì)設(shè)計與系統(tǒng)實現(xiàn)12</p><p> 4.1 系統(tǒng)詳細(xì)設(shè)計總體概述12</p><p&
8、gt; 4.2 數(shù)據(jù)庫的操作的JavaBean設(shè)計13</p><p> 4.3 用戶主界面設(shè)計14</p><p> 4.4 用戶信息管理模塊的設(shè)計15</p><p> 4.4.1 會員登錄模塊設(shè)計15</p><p> 4.4.2 會員注冊模塊的設(shè)計17</p><p> 4.4.3 用戶信
9、息的查看與修改模塊的設(shè)計18</p><p> 4.5 購物車模塊和訂單模塊的設(shè)計19</p><p> 4.5.1 購物車添加商品的設(shè)計20</p><p> 4.5.2 訂單的提交設(shè)計21</p><p> 4.6 后臺管理模塊的設(shè)計21</p><p> 4.6.1 后臺用戶管理模塊設(shè)計21
10、</p><p> 4.6.2 后臺手機(jī)管理模塊設(shè)計23</p><p><b> 5 軟件測試24</b></p><p> 5.1 軟件測試的目的24</p><p> 5.2 軟件測試過程24</p><p> 5.3 軟件測試結(jié)論24</p><p&
11、gt; 5.3.1 軟件能力24</p><p> 5.3.2 缺陷和限制24</p><p> 5.3.3 測試結(jié)論25</p><p><b> 6 結(jié)束語25</b></p><p><b> 1 緒論</b></p><p> 1.1 網(wǎng)站的開發(fā)背
12、景</p><p> 隨著社會的不斷進(jìn)步及網(wǎng)絡(luò)經(jīng)濟(jì)時代的蓬勃發(fā)展,互聯(lián)網(wǎng)已逐步深入人心,人們不再滿足于傳統(tǒng)的購物方式,“網(wǎng)上購物”這種新型的購物方式已經(jīng)為更多的人所接受。</p><p> 信息技術(shù)飛速發(fā)展,手機(jī)的銷售和管理水平也隨之提高,逐步實現(xiàn)信息化,縮減中間渠道,形成網(wǎng)上直銷,免去時間和空間的限制,在傳統(tǒng)購物的過程中,這些中間環(huán)節(jié)是不可能避免的,要想買到自己所需要的商品,就必須去
13、實體店,也就是人們所說的商場,如果網(wǎng)上商城開發(fā)成熟,人們就可以坐在家里,或者是任何一個地方,只要有一臺聯(lián)網(wǎng)的電腦,就能買到自己需要和想要的商品,極大的方便了人們的生活,節(jié)省了很多時間,此外網(wǎng)上的商品種類齊全,對一些特殊商品的需求也能得到滿足,由于網(wǎng)上購物可以減少很多中間環(huán)節(jié),大大的節(jié)省了成本,只需很少的運費就能送到家,所以再價錢上也占很大的優(yōu)勢。</p><p> 在國外,“網(wǎng)上購物”的理念已經(jīng)十分成熟,結(jié)合購
14、物搜索、在線圖形技術(shù)等實現(xiàn)在線試穿、在線著裝,并且可以以平面圖像、3D影像的表現(xiàn)形式使用戶的體驗水平非常人性化。而我國的信息化購物起步相對較晚,但由于電子商務(wù)的飛速發(fā)展,信息化程度有了明顯的提高,像淘寶、當(dāng)當(dāng)、卓越等網(wǎng)站和新浪、搜狐的網(wǎng)上商城等,極大的促進(jìn)了我國商品銷售信息化的發(fā)展。</p><p> 在設(shè)計上,該系統(tǒng)采用MVC模式,由于是滿足一些小型企業(yè)和商家的需求,不可能把所有的功能都完善,這對于任何一個網(wǎng)
15、站來說也是不可能實現(xiàn)的,隨著客戶需求的增加,后期的升級與改進(jìn)是很必要的,這種開發(fā)模式將顯示模式與設(shè)計模式相分離,對于后期的開發(fā)人員來說,是一件極大的好事,只需增加相應(yīng)的代碼,提供相應(yīng)的接口就可以了,而不必過多的考慮系統(tǒng)的整體情況,當(dāng)然,如果是大型的網(wǎng)站,就必須運用一些架構(gòu)等,但對于這樣的小型網(wǎng)站來說,這種模式就足夠了。</p><p> 此網(wǎng)上手機(jī)銷售網(wǎng)站正是針對傳統(tǒng)銷售出現(xiàn)的一系列問題而開發(fā)的,實現(xiàn)了銷售的高
16、效率、低錯誤、信息化、自動化和規(guī)范化。</p><p> 1.2 系統(tǒng)開發(fā)工具概述</p><p> 1.2.1 JSP簡介</p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo),許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)。就是普通網(wǎng)頁文件中插入Java程序和JSP標(biāo)記,就形成了JSP文件。</p>
17、<p> JSP是在服務(wù)端執(zhí)行的,使用Java語言編寫和封裝生成動態(tài)網(wǎng)頁的處理邏輯,將邏輯與顯示分離,服務(wù)器遇到訪問JSP頁面的請求時,先執(zhí)行網(wǎng)頁中的程序代碼段,然后再將執(zhí)行后的結(jié)果和JSP文件中的HTML代碼生成一個HTML文本返回給客戶端,因此客戶端只需要有瀏覽器就能瀏覽。</p><p> 1.2.2 JSP的優(yōu)點</p><p> JSP是目前主流的網(wǎng)絡(luò)編程環(huán)境
18、之一,是一種將各種Web元素組合在一起的服務(wù)器技術(shù),是一個網(wǎng)站開發(fā)的平臺,它提供了生成Web應(yīng)用程序所必需的各種服務(wù)。主要有以下幾個好處:</p><p> ?。?)一次編寫,到處運行。</p><p> (2)系統(tǒng)的多平臺支持。</p><p> ?。?)強(qiáng)大的可伸縮性。</p><p> ?。?)多樣化和開發(fā)工具的支持。 </p&
19、gt;<p> ?。?)支持服務(wù)器端組件。</p><p> 1.2.3 JSP的弱勢</p><p> ?。?)很高的復(fù)雜性,因為具有跨平臺性和強(qiáng)大的伸縮性,所以無形之中就增加了復(fù)雜程度。 </p><p> (2)Java的運行是靠class常駐內(nèi)存來實現(xiàn)的,占用內(nèi)存較高。此外還需要一定的硬盤空間存放.java文件和.class文件以及相應(yīng)的版
20、本文件。</p><p> 1.2.4 MyEclipse簡介</p><p> MyEclipse是一個用于開發(fā)Java、J2ee的Eclipse插件集合,功能強(qiáng)大,支持廣泛,對各種開源產(chǎn)品的支持十分不錯。</p><p> 簡單而言,MyEclipse是Eclipse的插件,是最強(qiáng)大的J2EE的集成開發(fā)環(huán)境之一,支持代碼編寫、配置、測試以及除錯,MyEcl
21、ipse6.0以后版本安裝時不再需要安裝Eclipse。</p><p> 1.2.5 MySql簡介</p><p> MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),將數(shù)據(jù)保存在不同的表中,因此增加了速度并提高了靈活性。MySQL使用SQL“結(jié)構(gòu)化查詢語言”,多種操作系統(tǒng)的支持,為多種編程語言提供了API,支持多線程,優(yōu)化的SQL查詢算法,可以處理大型數(shù)據(jù)庫,支持多種存儲引擎等,成本低、速度快
22、、體積小和開放源碼,由于它擁有這么多優(yōu)點,所以許多中小型網(wǎng)站都采用MySQL作為網(wǎng)站的數(shù)據(jù)庫。</p><p> 1.2.6 Tomcat簡介</p><p> Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。其性能穩(wěn)定、技術(shù)先進(jìn),擴(kuò)展性好,占
23、用的系統(tǒng)資源小,支持郵件服務(wù)等與負(fù)載平衡等系統(tǒng)功能并且免費,得到了開發(fā)人員的喜愛和認(rèn)可,成為目前流行的應(yīng)用服務(wù)器。</p><p><b> 系統(tǒng)開發(fā)環(huán)境</b></p><p><b> A 性能要求</b></p><p> 本網(wǎng)站采用了JSP開發(fā)技術(shù)和MySQL數(shù)據(jù)庫技術(shù),因此必須在Windows XP以上的操
24、作系統(tǒng)上運行。作為一個普通的小型網(wǎng)站來說,沒有必要對所有的數(shù)據(jù)都進(jìn)行加密。</p><p><b> B 運行要求</b></p><p> 硬件要求:1)服務(wù)器端:一臺配置為512M內(nèi)存,CPU為Intel Pentium IV 2.0GHZ以上,硬盤容量為80G的微機(jī).</p><p> 2)客戶端:586以上的微機(jī)</p>
25、;<p> 軟件要求:1)服務(wù)器端:使用語言:JSP(Java Server Pages) </p><p> 數(shù)據(jù)庫: MySQL</p><p> JSP編譯環(huán)境: J2SDK+TOMCAT+MySQL</p><p> 操作系統(tǒng): WindowsXP Professional以上 </p><p> 瀏覽器:In
26、ternet Explore6.0以上版本</p><p> 2)客戶端:IE6.0以上的瀏覽器版本, 800*600分辨率以上,使用Windows9X/2000/NT/XP 以上系統(tǒng)</p><p><b> 2 需求分析</b></p><p> 2.1 功能需求分析</p><p> 一是前臺顧客購買功能,
27、客戶進(jìn)入網(wǎng)站首頁可以查看最新上市的商品,正在搞活動的商品,商家推薦的商品,分類商品以及相關(guān)內(nèi)容。當(dāng)用戶選中某款商品時可以進(jìn)行登錄購買,如果不是本站會員也可以進(jìn)行注冊,然后再繼續(xù)購買,與傳統(tǒng)購物流程相似,但操作更為簡單,實現(xiàn)了隨時隨地只要在電腦前就可以購物的愿望。</p><p> 二是用戶的后臺管理功能。不同的用戶有不同的權(quán)限,如果是管理員,可以實現(xiàn)商品的添加與商品信息和用戶信息的修改、活動商品的管理、對違法用
28、戶的刪除,訂單的查看與管理等功能,如果是普通用戶則只能對自己信息的修改,自己訂單的查詢等操作。</p><p> 2.2 業(yè)務(wù)流程分析</p><p> 管理員對手機(jī)商城用戶人員的管理(用戶級別的修改、對用戶信息的查看和刪除),商品的管理(商品的添加,刪除,對商品信息的查看和更新),訂單的管理(訂單的查看和刪除)等。</p><p> 普通用戶在網(wǎng)站首頁了解相
29、關(guān)信息發(fā)布(各型號手機(jī)信息、特價手機(jī)、新款手機(jī)),用戶信息的管理(用戶登錄、修改密碼、選購手機(jī)、自助訂機(jī)、訂單提交、訂單查看)。</p><p> 后臺管理端流程如圖1,前臺用戶端流程如圖2: </p><p><b> 2.3 數(shù)據(jù)流分析</b></p><p> 數(shù)據(jù)流程分析即對信息流的傳遞、流動、存儲、處理等相關(guān)內(nèi)容的分析。目前的數(shù)
30、據(jù)流程分析主要是通過數(shù)據(jù)流程圖來描述的。其具體的步驟是:按照業(yè)務(wù)流程圖得出業(yè)務(wù)流程的順序,把了解到數(shù)據(jù)的流向和處理的過程,繪制成完整的數(shù)據(jù)流程圖。</p><p> 就此網(wǎng)站系統(tǒng)來說,后臺管理員可以把手機(jī)的各種信息錄入數(shù)據(jù)庫,同時允許修改和更新各種信息,對用戶的刪除和用戶級別的修改,訂單的查看和刪除;其他會員用戶可以錄入注冊信息,提交登錄信息、查看手機(jī)信息和個人信息以及其他信息。</p><
31、p> 此外數(shù)據(jù)文件有用戶表,手機(jī)信息表,訂單表等。</p><p> 圖2 前臺用戶端流程圖</p><p> 網(wǎng)站的各種信息流的內(nèi)部邏輯流向和邏輯變換過程和交換關(guān)系可以用數(shù)據(jù)流圖表示出來,如圖3為用戶信息管理數(shù)據(jù)流圖:</p><p> 商品管理流圖,顯示商品信息流在商品管理端與數(shù)據(jù)庫之間的邏輯交換和邏輯關(guān)系,如圖4所示:</p>&l
32、t;p> 后臺訂單管理數(shù)據(jù)流圖,如圖5所示:</p><p><b> 3 系統(tǒng)設(shè)計</b></p><p> 3.1系統(tǒng)總體功能結(jié)構(gòu)</p><p> 通過前面對需求分析和實際情況的了解,得出網(wǎng)上手機(jī)商城的總體功能結(jié)構(gòu):其中前臺用戶端包括手機(jī)信息瀏覽,購物車和用戶信息管理三個模塊;后臺管理端包括手機(jī)商品管理,訂單管理,用戶管理三
33、個模塊。系統(tǒng)主要模塊及其功能如下:</p><p><b> A 用戶信息管理:</b></p><p> 此模塊用于對賬戶信息的各種相關(guān)操作,如用戶的注冊,登錄等。</p><p> B 手機(jī)種類信息及相關(guān)信息瀏覽:</p><p> 主要包括手機(jī)具體內(nèi)容、分類列表,特價專區(qū)等內(nèi)容的查看。</p>
34、<p><b> C 購物車模塊:</b></p><p> 將手機(jī)放入購物車,商品取消和購買,,查看購物車,修改手機(jī)數(shù)量,全部刪去購物車中的商品。</p><p><b> D 訂單處理:</b></p><p> 用戶查閱訂單,生成新的訂單,查看訂單列表和詳細(xì)內(nèi)容以及訂單的確認(rèn)。</p>
35、<p><b> E 后臺用戶管理:</b></p><p> 查看用戶信息,刪除用戶。</p><p><b> F 手機(jī)商品管理:</b></p><p> 查看手機(jī)分類列表和手機(jī)的詳細(xì)信息,管理員添加、修改、刪除手機(jī)信息等操作。具體結(jié)構(gòu)如圖6:</p><p> 3.2
36、 系統(tǒng)數(shù)據(jù)庫模型設(shè)計</p><p> 3.2.1系統(tǒng)概念結(jié)構(gòu)設(shè)計——E-R圖</p><p> E-R方法是“實體-聯(lián)系方法”(Entity-Relationship Approach)的簡稱。是一種描述概念結(jié)構(gòu)模型的方法。具體方法是用矩形表示實體;用橢圓表示屬性,并用直線將兩者連接起來;用菱形表示實體和實體之間的聯(lián)系,并用直線將有關(guān)實體型連接起來, E-R圖就是這樣一種的圖形。&l
37、t;/p><p> 根據(jù)前面的具體分析就可以得到下面的關(guān)系模型圖,如圖7:</p><p><b> 具體屬性如下:</b></p><p> 用戶:會員ID,會員名,真實姓名,登錄密碼,會員性別,電話號碼,E-mail,具體住址,郵政編碼,用戶級別。(管理員屬性同上。)</p><p> 手機(jī):產(chǎn)品ID,所屬種類,
38、手機(jī)型號,手機(jī)簡介,活動與否,正常單價,活動單價,手機(jī)圖片,庫存數(shù)量,郵費。</p><p> 訂單:訂單號,用戶ID,訂單時間,用戶真實姓名,具體地址,郵政編碼,商品總價。</p><p> 訂單包含手機(jī)聯(lián)系屬性:數(shù)量,單項價格,總價。</p><p> 管理員信息:編號,姓名,密碼,權(quán)限。</p><p> 手機(jī)商品包含聯(lián)系屬性:
39、數(shù)量。</p><p> 管理員處理訂單屬性:訂單確認(rèn)人,確認(rèn)時間。</p><p> 3.2.2 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計——關(guān)系模型</p><p> 根據(jù)數(shù)據(jù)庫原理的相關(guān)規(guī)范可以做以下處理:</p><p> 根據(jù)相關(guān)原則規(guī)范從E-R圖向關(guān)系模型進(jìn)行轉(zhuǎn)換。</p><p> 由于普通用戶和管理員的關(guān)系模型除了在
40、權(quán)限不同,其他屬性全部一樣,所以可以將這兩種關(guān)系模型看成是一種,只需加入一個級別段將兩者進(jìn)行區(qū)分就可以了。</p><p> 瀏覽關(guān)系模式和此網(wǎng)站系統(tǒng)其它功能要求關(guān)系不大,因此可以忽略。</p><p> 由于手機(jī)分類的關(guān)系模式在系統(tǒng)中要經(jīng)常調(diào)用,故將其作為一個單獨的關(guān)系模式。</p><p> 通過上面的分析,可以得出以下的關(guān)系模式:</p>
41、<p> 用戶(會員ID,會員名,登錄密碼,會員性別,用戶電話,E-mail,具體住址,郵政編碼,真實姓名,用戶級別)</p><p> 手機(jī)商品(商品ID,所屬種類,手機(jī)型號,手機(jī)簡介,是否活動,正常單價,活動單價,產(chǎn)品照片,備忘)</p><p> 訂單(訂單號,用戶ID,訂單時間,用戶真實姓名,具體住址,聯(lián)系電話,產(chǎn)品總價)</p><p>
42、 3.2.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計——關(guān)系表</p><p> 根據(jù)以上關(guān)系模型可以得出相應(yīng)的關(guān)系表,關(guān)系表如表1:</p><p> 3.2.4 數(shù)據(jù)表詳細(xì)說明</p><p> 用戶表(users)主要記錄用戶(管理員和普通用戶)的相關(guān)信息,具體情況如表2:</p><p> 商品信息表(products)主要記錄手機(jī)的具體信息,具
43、體情況如表3:</p><p> 訂單表(orders)主要記錄每筆訂單的相關(guān)信息,如表4:</p><p> 訂單明細(xì)表(orderdetail)記錄訂單所選商品編號,數(shù)量等詳細(xì)信息。如表5所示:</p><p> 4 詳細(xì)設(shè)計與系統(tǒng)實現(xiàn)</p><p> 4.1 系統(tǒng)詳細(xì)設(shè)計總體概述</p><p> 此
44、系統(tǒng)的開發(fā)采用了現(xiàn)在比較流行的MVC開發(fā)模式,MVC是model,view,controller三個單詞的縮寫,這種開發(fā)模式將整個系統(tǒng)分為了三個大類,數(shù)據(jù)模型、用戶界面和控制器,其中數(shù)據(jù)模型(model)用java編寫,用于實現(xiàn)系統(tǒng)中的數(shù)據(jù)邏輯,包含了所有的JavaBean和方法;用戶界面(view)用jsp編寫,用于與用戶的交互,包含了用戶能看到的所有頁面信息,也可以理解為view就是由無數(shù)個頁面組成的;控制器(controller)
45、是model和view之間溝通的橋梁,可以根據(jù)用戶的不同請求來跳轉(zhuǎn)到相應(yīng)的界面,相當(dāng)于公司中的領(lǐng)導(dǎo)階層,接收view中提交上來的信息,然后交給model中的方法將這些信息進(jìn)行處理,接收處理后的信息返回給頁面或者存入數(shù)據(jù)庫。</p><p> 這種設(shè)計模式實現(xiàn)了業(yè)務(wù)層和視圖層的分離,使網(wǎng)站能更好的進(jìn)行維護(hù)與升級,并且有低耦合,高重用性,較低的生命周期成本,可維護(hù)性等優(yōu)點,下面就圍繞這種開發(fā)模式對本網(wǎng)站設(shè)計進(jìn)行分模
46、塊的詳細(xì)介紹。</p><p> 4.2 數(shù)據(jù)庫的操作的JavaBean設(shè)計</p><p> 作為一個公共類,數(shù)據(jù)庫操作的JavaBean一般包括數(shù)據(jù)庫的鏈接getConnection、執(zhí)行executeQuery、更新操作的執(zhí)行executeUpdate、連接的關(guān)閉close方法。下面是數(shù)據(jù)庫操作JavaBean的具體信息。</p><p> 使用JDBC
47、訪問數(shù)據(jù)庫:</p><p> 在Java語言中, Java可以通過JDBC對數(shù)據(jù)庫進(jìn)行訪問。JDBC是一種“開放”的方案,提供了一種標(biāo)準(zhǔn)的應(yīng)用程序接口。應(yīng)用程序要訪問數(shù)據(jù)庫必須加載數(shù)據(jù)庫驅(qū)動,再通過JDBC建立連接才能訪問數(shù)據(jù)庫,執(zhí)行SQL語句,最后必須斷連接以釋放資源,過程如圖8所示:</p><p> 在connDB中使用getConnection()方法建立與數(shù)據(jù)庫的連接。首先
48、是加載數(shù)據(jù)庫驅(qū)動程序:Class.forName("com.mysql.jdbc.Driver");用到j(luò)ava.lang包中的類Class,調(diào)用Class類中的方法forName()方法來獲取MySQL數(shù)據(jù)庫連接,DriverManager.getConnection("jdbc:mysql://localhost:3306/Database","root","14
49、2857");第一個參數(shù)是連接數(shù)據(jù)庫URL,第二,三個參數(shù)為帳戶名和密碼.最后調(diào)用Statement的executeQuery(),executeUpdate()或execute()方法完成對數(shù)據(jù)庫的訪問。</p><p> connDB類的成員及說明如表6:</p><p> 4.3 用戶主界面設(shè)計</p><p> 系統(tǒng)的用戶主界面是用戶了解商城
50、的首要窗口,其中必須包括商城中商品的主要信息和相關(guān)入口。用戶在首頁可以進(jìn)行注冊成為會員,登錄后可以進(jìn)行購機(jī)等相關(guān)操作。用戶還可以選擇相應(yīng)的菜單選項進(jìn)行選購手機(jī),手機(jī)詳細(xì)信息的查看,不同分類的手機(jī)信息瀏覽,還有常見問題,相關(guān)聯(lián)系方式。</p><p> 主界面的構(gòu)成:最上面為head.jsp,包含頭部的主要信息,比如用戶登錄狀態(tài),商城logo,搜索框,導(dǎo)航欄的信息;左邊的為left.jsp,包含用戶登錄注冊入口和
51、新品上市,分別是用戶登錄和顯示本商城最新上市商品的地方;右邊是right.jsp,包含一個flash和活動專區(qū),flash顯示了本店的特色商品和一些最新活動信息,活動專區(qū)則提供了本店正在促銷和降價的商品,主界面最下面是tail.jsp,用來聲明版權(quán)。</p><p> 在系統(tǒng)主界面最上面顯示用戶的登錄狀態(tài),如果用戶未登錄就有用戶未登錄的提示,如果用戶已經(jīng)登錄則顯示登錄用戶的用戶名和安全退出的信息,用戶名是一個超
52、鏈接,通過點擊用戶名則完成從主界面到用戶中心的跳轉(zhuǎn),跳轉(zhuǎn)的時候后臺會根據(jù)登錄用戶的級別(是否為管理員)跳轉(zhuǎn)到不同級別的個人中心頁面,導(dǎo)航欄通過超鏈接實現(xiàn)分類信息的參數(shù)傳遞,通過后臺程序的運行從數(shù)據(jù)庫中提取相應(yīng)的列表,從而實現(xiàn)到分類信息列表的跳轉(zhuǎn)。左邊的登錄和注冊入口在未登錄的時候顯示的是登錄和注冊窗口,用戶登陸以后則以一張圖片替換,新品上市和活動專區(qū)則與數(shù)據(jù)庫相連,根據(jù)數(shù)據(jù)庫中的信息動態(tài)的顯示相關(guān)商品的信息。主界面如圖9所示:</
53、p><p><b> 圖9 主界面</b></p><p> 4.4 用戶信息管理模塊的設(shè)計</p><p> 4.4.1 會員登錄模塊設(shè)計</p><p> 此模塊的主要功能是對用戶名和密碼進(jìn)行驗證,只有合法的用戶才能使用本系統(tǒng)購買手機(jī)。如果不是本網(wǎng)站的會員必須先進(jìn)行注冊才能購買此網(wǎng)站的商品。在首頁的登錄窗口中有一
54、個用戶登錄菜單。用戶填寫的所有信息都由Form表單使用post方法提交給服務(wù)器。服務(wù)器通過getParameter函數(shù)獲得Form表單提交的信息,通過提交的用戶名取出數(shù)據(jù)庫中的密碼,將取出的密碼與用戶提交的密碼進(jìn)行比對,如果一致則合法,并不是直接通過數(shù)據(jù)庫語言與數(shù)據(jù)庫中的密碼匹配,這樣做的好處是可以有效的防治SQL漏洞。在用戶登錄后,將用戶的所有信息通過setAttribute 函數(shù)保存在session中,方便其它界面使用隨時使用對象中
55、的用戶信息。此外,該界面還提供出錯處理,如用戶登錄時用戶信息填寫的格式不正確或字符不合法,都會給用戶做出相應(yīng)的錯誤提示,直到輸入信息合法才能提交。本網(wǎng)站的所有用戶(普通會員與管理員)都是通過此登錄窗口進(jìn)行登錄,只需要更具用戶的級別實現(xiàn)頁面的選擇就可以了。在此界面中還添加了一個用戶注冊的按鈕,用以幫助第一次使用該系統(tǒng)的人通過注冊而成為本網(wǎng)站的會員。</p><p> 在頁面上有一個安全退出的選項,是退出本網(wǎng)站的出
56、口,當(dāng)退出時把網(wǎng)頁中的session對象清空,登錄狀態(tài)就變?yōu)橛脩粑吹卿浀奶崾尽_@樣做的原因有兩個:首先就是安全性,如果沒有安全退出,下一個用戶很可能會用該沒有過期的session對象;此外,假如大多數(shù)人都不退出登錄,那么session中無用的對象在過期之前就會一直占用著系統(tǒng)資源,從而造成網(wǎng)絡(luò)資源的浪費。</p><p> 登錄窗口如圖10,登錄流程如圖11:</p><p><b&
57、gt; 圖10 用戶登錄窗</b></p><p> 4.4.2 會員注冊模塊的設(shè)計</p><p> 此網(wǎng)站規(guī)定只有會員才有購買資格,生成訂單。游客只能進(jìn)行手機(jī)商品的瀏覽和手機(jī)詳情查看的操作。</p><p> 在首頁的登錄窗口有一個注冊的按鈕,用戶通過此按鈕可以進(jìn)入注冊頁面,也可以先將商品加入購物車,購買的時候會有提示進(jìn)入注冊頁面。 <
58、/p><p> 此模塊中用到了用戶信息Bean(userbean)用來傳遞form表單提交的注冊信息,后臺通過reguest對象的gerParameter方法接收表單提交的信息,調(diào)用相關(guān)函數(shù)將這些信息存入數(shù)據(jù)庫,其中還有異常的處理,比如數(shù)據(jù)庫中已經(jīng)存在相應(yīng)的用戶名,兩次輸入的密碼是否一致等情況也都由這些相關(guān)函數(shù)進(jìn)行判斷和處理。注冊用戶的代碼如下:</p><p> public boole
59、an addUser(String username,String password,String sex,String birthday,String email,String truename,String address,String telephone){</p><p> boolean b=true;</p><p><b> try{</b><
60、/p><p> ct=new ConnDB().getconnection();</p><p> ps=ct.prepareStatement("insert into users (name,password,sex,birthday,email,truename,address,telephone)values(?,?,?,?,?,?,?,?)");</p&
61、gt;<p> ps.setString(1, username);</p><p> ps.setString(2, password);</p><p> ps.setString(3, sex);</p><p> ps.setString(4, birthday);</p><p> ps.setString(
62、5, email);</p><p> ps.setString(6, truename);</p><p> ps.setString(7, address);</p><p> ps.setString(8, telephone);</p><p> ps.execute();</p><p> }cat
63、ch(Exception e){</p><p> e.printStackTrace();</p><p><b> b=false;</b></p><p><b> }finally{</b></p><p> this.close();</p><p><
64、;b> }</b></p><p><b> return b;</b></p><p><b> }</b></p><p> 注冊成功后,用戶就可以用自己注冊的賬戶進(jìn)行商品的購買和對自己信息的修改等操作,當(dāng)然注冊成功后會自動登錄,將用戶信息的bean放入session中,以便用戶在本網(wǎng)站繼續(xù)其
65、他的操作。用戶注冊界面如圖12:</p><p> 圖12 用戶注冊界面</p><p> 4.4.3 用戶信息的查看與修改模塊的設(shè)計</p><p> 用戶在這里可以查看和修改自己信息,更改密碼。如果是系統(tǒng)管理員,還可以查看其他用戶的信息,級別的修改,對不合法用戶進(jìn)行刪除等操作。</p><p> 在用戶信息的查看與修改界面和注冊界
66、面幾乎完全一樣,只不過注冊的會員名是不可以修改的,其他的信息都可以根據(jù)用戶的需要(如工作、住址、電話的變更)進(jìn)行修改,具體修改的代碼如下:</p><p> public boolean updateByUsername(String username,String truename,String address,String telephone,String email){</p><p&
67、gt; boolean b=true;</p><p><b> try{</b></p><p> ct=new ConnDB().getconnection();</p><p> ps=ct.prepareStatement("update users set telephone=?,address=?,email=?,
68、truename=? where name=?");</p><p> ps.setString(1,telephone);</p><p> ps.setString(2,address);</p><p> ps.setString(3,email);</p><p> ps.setString(4,truename);
69、</p><p> ps.setString(5,username);</p><p> ps.execute();</p><p> }catch(Exception e){</p><p> e.printStackTrace();</p><p><b> b=false;</b>
70、</p><p><b> }finally{</b></p><p> this.close();</p><p><b> }</b></p><p><b> return b;</b></p><p><b> }</b
71、></p><p> 信息修改后后臺程序會返回一個布爾量,如果為真則修改成功,反正則拋出異常,根據(jù)不同的返回值選擇跳回到哪個頁面。</p><p> 4.5 購物車模塊和訂單模塊的設(shè)計</p><p> 該模塊主要包括添加手機(jī),刪除手機(jī),改變手機(jī)數(shù)量,清空購物車和購物車信息查看的功能,是實現(xiàn)購物的關(guān)鍵部分。</p><p> 訂
72、單處理是根據(jù)用戶購物車內(nèi)的信息和用戶的個人信息生成訂單和訂單的查看功能。</p><p> 由于這兩個模塊是聯(lián)系在一起的,所以放在一起說明。當(dāng)用戶將商品添加到購物車后提交,由系統(tǒng)自動生成訂單號并存入數(shù)據(jù)庫供用戶隨時查看。購物車界面如圖13所示,訂單界面如圖14:</p><p><b> 圖13 購物車界面</b></p><p><
73、b> 圖14 訂單界面</b></p><p> 4.5.1 購物車添加商品的設(shè)計</p><p> 用戶在手機(jī)詳細(xì)信息頁面選擇加入購物車,就可以跳轉(zhuǎn)到購物車信息界面如圖13。會員只有登錄后才可以進(jìn)行繼續(xù)購買。</p><p> 在本模塊后臺購物車的設(shè)計采用了HashMap方法,這個方法的好處是可以非常方便的對里面的對象進(jìn)行增加、修改和刪除
74、,甚至是清空購物車,然后將其中的對象用ArrayList方法保存到session中,用戶可以隨時的從session中得到購物車中的商品信息,也可以隨時的修改數(shù)量和刪除。具體代碼如下:</p><p> public class MyShoppingCarBO {</p><p> HashMap <String,String> hm=new HashMap<Strin
75、g,String>();</p><p> private ResultSet rs=null;</p><p> private Connection ct=null;</p><p> private PreparedStatement ps=null;</p><p> private float allprice=0.0
76、f;</p><p> public float getallprice(){</p><p> return this.allprice;</p><p><b> }</b></p><p> public String getnumbygoodid(String goodid){</p>&l
77、t;p> return (String)hm.get(goodid);</p><p><b> }</b></p><p> public void addgood(String goodid,String goodnum){</p><p> hm.put(goodid,goodnum);</p><p&g
78、t;<b> }</b></p><p> public void deletgood(String goodid){</p><p> hm.remove(goodid);</p><p><b> }</b></p><p> public void cleangood(){</
79、p><p> hm.clear();</p><p><b> }</b></p><p> public void updategood(String goodid,String newnum){</p><p> hm.put(goodid,newnum);</p><p><b&g
80、t; }</b></p><p><b> }</b></p><p> 4.5.2 訂單的提交設(shè)計</p><p> 當(dāng)用戶選擇完商品后,選擇提交,這時會有一個訂單詳情的顯示,供用戶對購買信息的核對,如果沒有問題則單擊完成訂購按鈕生成新的訂單并保存到數(shù)據(jù)庫中。這時系統(tǒng)需獲取當(dāng)前時間來決定訂單的生成時間,還需查找出數(shù)據(jù)庫中的
81、訂單數(shù)量來決定當(dāng)前訂單的訂單號,并將這次訂單包含的所有信息存入數(shù)據(jù)庫中,如果拋出異常應(yīng)該返回錯誤信息,反之則跳回下單成功界面并顯示訂單信息。</p><p> 4.6 后臺管理模塊的設(shè)計</p><p> 4.6.1 后臺用戶管理模塊設(shè)計</p><p> 后臺用戶管理模塊主要是實現(xiàn)管理員查看普通會員的信息,級別的修改和刪除操作。在次模塊中分頁顯示用戶列表。用
82、戶管理頁面如圖15:</p><p> 圖15 用戶管理界面</p><p> 刪除用戶的代碼如下:</p><p> public boolean deleteUserByUserid(long userid){</p><p> boolean b=false;</p><p><b> try
83、{</b></p><p> ct=new ConnDB().getconnection();</p><p> ps=ct.prepareStatement("delete from users where userid=?");</p><p> ps.setLong(1, userid);</p><p
84、> int a=ps.executeUpdate();</p><p><b> if(a==1){</b></p><p><b> b=true;</b></p><p><b> }</b></p><p> }catch(Exception e){<
85、;/p><p> e.printStackTrace();</p><p><b> b=false;</b></p><p><b> }finally{</b></p><p> this.close();</p><p><b> }</b>
86、</p><p><b> return b;</b></p><p><b> }</b></p><p> 分頁顯示所有用戶信息代碼:</p><p> public ArrayList <UserBean> getUserBeanByPage(int pagesize,in
87、t pagenow,String type){</p><p> ArrayList <UserBean> al=new ArrayList<UserBean>();</p><p><b> try{</b></p><p> ct=new ConnDB().getconnection();</p>
88、<p> if(type.equals("1")){</p><p> ps=ct.prepareStatement("select * from users where grade='1' limit "+(pagenow-1)*pagesize+","+pagesize);</p><p>
89、}else if(type.equals("all")){</p><p> ps=ct.prepareStatement("select * from users limit "+(pagenow-1)*pagesize+","+pagesize);</p><p><b> }</b></p&g
90、t;<p> rs=ps.executeQuery();</p><p> while(rs.next()){</p><p> UserBean ub=new UserBean();</p><p> ub.setUserid(rs.getLong(1));</p><p> ub.setName(rs.getStr
91、ing(2));</p><p> ub.setSex(rs.getString(3));</p><p> ub.setBirthday(rs.getString(4));</p><p> ub.setPassword(rs.getString(5));</p><p> ub.setTelephone(rs.getString(
92、6));</p><p> ub.setAddress(rs.getString(7));</p><p> ub.setEmail(rs.getString(8));</p><p> ub.setGrade(rs.getString(9));</p><p> ub.setTruename(rs.getString(10));&l
93、t;/p><p> al.add(ub);</p><p><b> }</b></p><p> }catch(Exception e){</p><p> e.printStackTrace();</p><p><b> }finally{</b></p&g
94、t;<p> this.close();</p><p><b> }</b></p><p> return al;</p><p><b> }</b></p><p> 4.6.2 后臺手機(jī)管理模塊設(shè)計</p><p> 管理員可以對手機(jī)信息進(jìn)
95、行查看、添加、刪除和修改工作。此模塊便于管理員及時的更新手機(jī)的相關(guān)信息,為用戶提供最新的手機(jī)信息動態(tài)。代碼與用戶管理模塊的代碼相似,這里就不再贅述,手機(jī)管理頁面如圖16:</p><p> 圖16 手機(jī)管理界面</p><p><b> 5 軟件測試</b></p><p> 5.1 軟件測試的目的 </p><p&
96、gt; 開發(fā)一個軟件是為了給人們提供方便,實現(xiàn)功能的同時也要避免錯誤,但這是不可能實現(xiàn)的,只能采用各種方法如:方法分析、設(shè)計軟件等盡可能的減少錯誤。另外人們在程序編寫的時候還會引進(jìn)很多錯誤。如果得不到正確的處理,在最終投入使用的時候終究還是會暴露出來,因此,軟件測試是一個必要的環(huán)節(jié)。</p><p> 軟件測試是軟件開發(fā)的后期階段,在編寫完成后根據(jù)需求分析、設(shè)計規(guī)格的最終審查,是驗證軟件是否能正常使用的關(guān)鍵。
97、</p><p> 測試的目標(biāo)用最少的成本發(fā)現(xiàn)軟件中存在的錯誤和缺陷。軟件經(jīng)過成功的測試,就會發(fā)現(xiàn)還存在的相關(guān)錯誤,還可以證明開發(fā)的軟件是否能符合客戶的功能需求。</p><p> 5.2 軟件測試過程</p><p> 本網(wǎng)站主要采用的是黑盒測試,對于系統(tǒng)所有的模塊均涉及到黑盒測試。對所有的功能都設(shè)計兩個用例,即正確的符合規(guī)范的數(shù)據(jù)和不合法的數(shù)據(jù),看是否都能
98、實現(xiàn)頁面的正確跳轉(zhuǎn)和程序的正確運行,使程序無論是正確的還是錯誤的數(shù)據(jù)都能得到正確的處理。</p><p> 5.3 軟件測試結(jié)論</p><p> 5.3.1 軟件能力</p><p> 經(jīng)過測試證明,本系統(tǒng)在操作上和輸入數(shù)據(jù)的驗證上,比較全面,達(dá)到了預(yù)期設(shè)計系統(tǒng)的功能。能夠比較全面的實現(xiàn)網(wǎng)上手機(jī)商城的各項基本功能。</p><p>
99、 5.3.2 缺陷和限制</p><p> 本系統(tǒng)的開發(fā)旨在提高顧客購買商品的效率,以及方便客戶和商家。提高人們的生活水平,也使商家能對商店更好的管理。但由于開發(fā)者能力有限,致使網(wǎng)站還存在諸多不足與缺陷,因此本網(wǎng)站還可以從以下幾個方面進(jìn)行改進(jìn)。</p><p> (1)豐富和完善用戶功能; </p><p> ?。?)添加在線交流模塊;</p>&
100、lt;p><b> (3)添加留言板;</b></p><p> ?。?)系統(tǒng)功能并非完全實現(xiàn),在后期逐步完善;</p><p> ?。?)界面上還不夠完美;</p><p> 5.3.3 測試結(jié)論</p><p> 軟件已經(jīng)基本運行實現(xiàn)了設(shè)計的各項功能,可以投入使用。</p><p>
101、;<b> 6 結(jié)束語</b></p><p> 到這里,本次畢業(yè)設(shè)計已經(jīng)接近尾聲,在此期間,我也學(xué)到了很多。在前面的三年半時間內(nèi)我學(xué)習(xí)了很多的課程及編程語言,從最初始的C語言到稍微深入一點的C++,JAVA,數(shù)據(jù)庫系統(tǒng)概論等等,雖然通過學(xué)習(xí)對這些課程有所了解和掌握,但也只是對理論知識的理解階段,對知識的掌握還不夠全面和熟練不能進(jìn)行的編程開發(fā),更不用說真正應(yīng)用于實踐設(shè)計開發(fā),而且并不能真
102、正獨立的開發(fā)出一個完整的應(yīng)用于實際的系統(tǒng)。通過這次的畢業(yè)設(shè)計,又更加深入的學(xué)習(xí)了JAVA和JSP技術(shù)以及很多關(guān)于電子商務(wù)方面的知識,在整個畢業(yè)設(shè)計的過程中,遇到了好多的困難和自己無法解決的問題,主要是自己的知識還不夠扎實和全面,通過上網(wǎng)查閱相關(guān)知識和老師同學(xué)們的幫助,終于順利的完成了畢業(yè)設(shè)計,但還有很多功能和缺陷需要不斷的完善,需要不斷的努力改進(jìn)。 </p><p><b> 參考文獻(xiàn):</b&
103、gt;</p><p> [1]劉志成.JSP程序設(shè)計案例教程[M].北京:清華大學(xué)出版社,2007.</p><p> [2]Kevin Duffey. Professional JSP Site Design[M]. Wros Press,2001.</p><p> [3]Bruce Eckel. Thinking in Java[M]. Pren
104、tice Hall PTR,2003.</p><p> [4]徐國智.SQL Server 2000數(shù)據(jù)庫開發(fā)實力精粹[M].北京:電子工業(yè)出版社,2002.</p><p> [5](美)施瓦茨(Schwartz,B.)等著.高性能MYSQL(影印版)[M].開明出版社,2005.</p><p> [6](荷)范德蘭斯著許杰星等譯.MySQL開發(fā)者SQ
105、L權(quán)威指南[DB].北京:機(jī)械工業(yè)出版社,2004.</p><p> [7](美)Patrick Galbraith著.Apache+MySQL+memcached+Per開發(fā)高速開源網(wǎng)站[M].北京:清華大學(xué)出版社,2001.</p><p> [8]Kevin Duffey Professional JSP Site Design[M]. Wros Press,2001.<
106、;/p><p> [9] 張靖.基于J2EE平臺的Web應(yīng)用研究[D].四川:攀枝花學(xué)院網(wǎng)絡(luò)中心,2006.</p><p> [10] 孫鑫.Servlet/JSP深入詳解——基于Tomcat的Web開發(fā)[M].北京:電工業(yè)出版社,2008.</p><p> Design and Development Based on JSP Shopping Site&l
107、t;/p><p> Abstract: With the development of networking and information technology, people's living standards improve, the Internet has been gradually accepted by the people no longer satisfied with traditi
108、onal shopping, online shopping this new way to shop moreaccepted, a growing number of online stores into the lives of the public's e-commerce site design and technical requirements have become more sophisticated, onl
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于java網(wǎng)上購物商城畢業(yè)論文
- 基于java網(wǎng)上購物商城-畢業(yè)論文
- 基于java網(wǎng)上購物商城畢業(yè)論文
- 網(wǎng)上商城畢業(yè)論文--網(wǎng)上購物商城設(shè)計和實現(xiàn)
- 網(wǎng)上購物商城系統(tǒng)的畢業(yè)論文
- 模擬網(wǎng)上購物商城畢業(yè)論文
- 畢業(yè)論文--網(wǎng)上購物商城的設(shè)計
- 基于java開發(fā)的網(wǎng)上購物商城
- 基于web的網(wǎng)上購物商城的設(shè)計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文---基于jsp的網(wǎng)上購物商城的設(shè)計與實現(xiàn)
- 畢業(yè)論文--基于java的網(wǎng)上商城系統(tǒng)的設(shè)計與實現(xiàn)
- 網(wǎng)上購物畢業(yè)論文
- 網(wǎng)上商城畢業(yè)論文
- 網(wǎng)上商城畢業(yè)論文
- 畢業(yè)論文——電子購物商城系統(tǒng)
- 網(wǎng)上商城購物系統(tǒng)畢業(yè)設(shè)計論文
- 電子購物商城系統(tǒng)畢業(yè)論文
- 網(wǎng)上商城購物系統(tǒng)畢業(yè)設(shè)計論文
- 基于javaee網(wǎng)上購物系統(tǒng)--畢業(yè)論文
- 網(wǎng)上購物系統(tǒng)畢業(yè)論文
評論
0/150
提交評論