2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)論文(設計)</p><p>  題目: 基于JAVA語言的《農(nóng)產(chǎn)品銷售系統(tǒng)》設計 </p><p>  學院: 計算機與信息學院 </p><p>  班級: 10級通信工程一班 </p><p> 

2、 姓名: </p><p>  指導教師: 職稱: 講師 </p><p>  完成日期: 2014 年 2 月 10 日</p><p>  基于JAVA語言的《農(nóng)產(chǎn)品銷售系統(tǒng)》設計</p><p&

3、gt;  摘要:隨著網(wǎng)絡化和信息化的發(fā)展,人們生活水平的不斷提高,互聯(lián)網(wǎng)已逐步深入人心,人們不再滿足于傳統(tǒng)的購物方式,“網(wǎng)上購物”這種新型的購物方式已經(jīng)為更多的人所接受,越來越多的網(wǎng)絡商店走入了大眾的生活,農(nóng)產(chǎn)品的網(wǎng)絡營銷也成為商家新的運作模式。本網(wǎng)站主要以Java語言為開發(fā)平臺,MySQL為數(shù)據(jù)庫,以及使用SSH(Spring+Struts+Hibernate)框架體系,使用jsp+css+js開發(fā)前臺頁面。此系統(tǒng)具有使用簡單,用戶界

4、面友好,便于操作等特點。</p><p>  關(guān)鍵詞:JAVA;MySQL;SSH;JSP;農(nóng)產(chǎn)品銷售系統(tǒng)</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 網(wǎng)站的開發(fā)背景1</p><p>  

5、1.2 系統(tǒng)開發(fā)技術(shù)以及工具概述2</p><p>  1.2.1 Java簡介2</p><p>  1.2.2 JSP的優(yōu)點2</p><p>  1.2.3 JSP的弱勢2</p><p>  1.2.4 MyEclipse簡介2</p><p>  1.2.5 MySql簡介3</p>

6、<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>  2.2 業(yè)務流程分析4</p><p>  2.3 數(shù)據(jù)流分析4&

7、lt;/p><p><b>  3 系統(tǒng)設計7</b></p><p>  3.1系統(tǒng)總體功能結(jié)構(gòu)7</p><p>  3.2 系統(tǒng)數(shù)據(jù)庫模型設計8</p><p>  3.2.1系統(tǒng)概念結(jié)構(gòu)設計——E-R圖8</p><p>  3.2.2 系統(tǒng)邏輯結(jié)構(gòu)設計——關(guān)系模型10</p&

8、gt;<p>  3.2.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計——關(guān)系表10</p><p>  3.2.4 數(shù)據(jù)表詳細說明10</p><p>  4 詳細設計與系統(tǒng)實現(xiàn)12</p><p>  4.1 系統(tǒng)詳細設計總體概述12</p><p>  4.2 數(shù)據(jù)庫的操作的JavaBean設計13</p><p&

9、gt;  4.3 用戶主界面設計14</p><p>  4.4 用戶信息管理模塊的設計15</p><p>  4.4.1 會員登錄模塊設計15</p><p>  4.4.2 會員注冊模塊的設計17</p><p>  4.4.3 用戶信息的查看與修改模塊的設計18</p><p>  4.5 購物車模塊

10、和訂單模塊的設計19</p><p>  4.5.1 購物車添加商品的設計20</p><p>  4.5.2 訂單的提交設計21</p><p>  4.6 后臺管理模塊的設計21</p><p>  4.6.1 后臺用戶管理模塊設計21</p><p>  4.6.2 后臺手機管理模塊設計23</

11、p><p><b>  5 軟件測試24</b></p><p>  5.1 軟件測試的目的24</p><p>  5.2 軟件測試過程24</p><p>  5.3 軟件測試結(jié)論24</p><p>  5.3.1 軟件能力24</p><p>  5.3.2

12、缺陷和限制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ā)背景</p><p>  隨著社會的不斷進步及網(wǎng)絡經(jīng)濟時代的蓬勃發(fā)展,互

13、聯(lián)網(wǎng)已逐步深入人心,人們不再滿足于傳統(tǒng)的購物方式,“網(wǎng)上購物”這種新型的購物方式已經(jīng)為更多的人所接受。</p><p>  信息技術(shù)飛速發(fā)展,手機的銷售和管理水平也隨之提高,逐步實現(xiàn)信息化,縮減中間渠道,形成網(wǎng)上直銷,免去時間和空間的限制,在傳統(tǒng)購物的過程中,這些中間環(huán)節(jié)是不可能避免的,要想買到自己所需要的商品,就必須去實體店,也就是人們所說的商場,如果網(wǎng)上商城開發(fā)成熟,人們就可以坐在家里,或者是任何一個地方,只

14、要有一臺聯(lián)網(wǎng)的電腦,就能買到自己需要和想要的商品,極大的方便了人們的生活,節(jié)省了很多時間,此外網(wǎng)上的商品種類齊全,對一些特殊商品的需求也能得到滿足,由于網(wǎng)上購物可以減少很多中間環(huán)節(jié),大大的節(jié)省了成本,只需很少的運費就能送到家,所以再價錢上也占很大的優(yōu)勢。</p><p>  在國外,“網(wǎng)上購物”的理念已經(jīng)十分成熟,結(jié)合購物搜索、在線圖形技術(shù)等實現(xiàn)在線試穿、在線著裝,并且可以以平面圖像、3D影像的表現(xiàn)形式使用戶的體

15、驗水平非常人性化。而我國的信息化購物起步相對較晚,但由于電子商務的飛速發(fā)展,信息化程度有了明顯的提高,像淘寶、當當、卓越等網(wǎng)站和新浪、搜狐的網(wǎng)上商城等,極大的促進了我國商品銷售信息化的發(fā)展。</p><p>  在設計上,該系統(tǒng)采用MVC模式,由于是滿足一些小型企業(yè)和商家的需求,不可能把所有的功能都完善,這對于任何一個網(wǎng)站來說也是不可能實現(xiàn)的,隨著客戶需求的增加,后期的升級與改進是很必要的,這種開發(fā)模式將顯示模式

16、與設計模式相分離,對于后期的開發(fā)人員來說,是一件極大的好事,只需增加相應的代碼,提供相應的接口就可以了,而不必過多的考慮系統(tǒng)的整體情況,當然,如果是大型的網(wǎng)站,就必須運用一些架構(gòu)等,但對于這樣的小型網(wǎng)站來說,這種模式就足夠了。</p><p>  此網(wǎng)上手機銷售網(wǎng)站正是針對傳統(tǒng)銷售出現(xiàn)的一系列問題而開發(fā)的,實現(xiàn)了銷售的高效率、低錯誤、信息化、自動化和規(guī)范化。</p><p>  1.2 系

17、統(tǒng)開發(fā)工具概述</p><p>  1.2.1 JSP簡介</p><p>  JSP(Java Server Pages)是由Sun Microsystems公司倡導,許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)。就是普通網(wǎng)頁文件中插入Java程序和JSP標記,就形成了JSP文件。</p><p>  JSP是在服務端執(zhí)行的,使用Java語言編寫和封裝生成動態(tài)網(wǎng)頁的處理

18、邏輯,將邏輯與顯示分離,服務器遇到訪問JSP頁面的請求時,先執(zhí)行網(wǎng)頁中的程序代碼段,然后再將執(zhí)行后的結(jié)果和JSP文件中的HTML代碼生成一個HTML文本返回給客戶端,因此客戶端只需要有瀏覽器就能瀏覽。</p><p>  1.2.2 JSP的優(yōu)點</p><p>  JSP是目前主流的網(wǎng)絡編程環(huán)境之一,是一種將各種Web元素組合在一起的服務器技術(shù),是一個網(wǎng)站開發(fā)的平臺,它提供了生成Web應

19、用程序所必需的各種服務。主要有以下幾個好處:</p><p> ?。?)一次編寫,到處運行。</p><p> ?。?)系統(tǒng)的多平臺支持。</p><p> ?。?)強大的可伸縮性。</p><p>  (4)多樣化和開發(fā)工具的支持。 </p><p> ?。?)支持服務器端組件。</p><p&g

20、t;  1.2.3 JSP的弱勢</p><p> ?。?)很高的復雜性,因為具有跨平臺性和強大的伸縮性,所以無形之中就增加了復雜程度。 </p><p>  (2)Java的運行是靠class常駐內(nèi)存來實現(xiàn)的,占用內(nèi)存較高。此外還需要一定的硬盤空間存放.java文件和.class文件以及相應的版本文件。</p><p>  1.2.4 MyEclipse簡介<

21、;/p><p>  MyEclipse是一個用于開發(fā)Java、J2ee的Eclipse插件集合,功能強大,支持廣泛,對各種開源產(chǎn)品的支持十分不錯。</p><p>  簡單而言,MyEclipse是Eclipse的插件,是最強大的J2EE的集成開發(fā)環(huán)境之一,支持代碼編寫、配置、測試以及除錯,MyEclipse6.0以后版本安裝時不再需要安裝Eclipse。</p><p&g

22、t;  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ù)庫,支持多種存儲引擎等,成本低、速度快、體積小和開放源碼,由于它擁有這么多優(yōu)點,所以許多中小型網(wǎng)站都采用MySQL作為網(wǎng)站的數(shù)據(jù)庫。

23、</p><p>  1.2.6 Tomcat簡介</p><p>  Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。其性能穩(wěn)定、技術(shù)先進,擴展性好,占用的系統(tǒng)資源小,支持郵件服務等與負載平衡等系統(tǒng)功能并且免費,得到了開發(fā)人員的喜愛和認可,成為目

24、前流行的應用服務器。</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以上的操作系統(tǒng)上運行。作為一個普通的小型網(wǎng)站來說,沒有必要對所有的數(shù)據(jù)都進行加密。</p>

25、<p><b>  B 運行要求</b></p><p>  硬件要求:1)服務器端:一臺配置為512M內(nèi)存,CPU為Intel Pentium IV 2.0GHZ以上,硬盤容量為80G的微機.</p><p>  2)客戶端:586以上的微機</p><p>  軟件要求:1)服務器端:使用語言:JSP(Java Server

26、Pages) </p><p>  數(shù)據(jù)庫: MySQL</p><p>  JSP編譯環(huán)境: J2SDK+TOMCAT+MySQL</p><p>  操作系統(tǒng): WindowsXP Professional以上 </p><p>  瀏覽器:Internet Explore6.0以上版本</p><p>  2)客

27、戶端:IE6.0以上的瀏覽器版本, 800*600分辨率以上,使用Windows9X/2000/NT/XP 以上系統(tǒng)</p><p><b>  2 需求分析</b></p><p>  2.1 功能需求分析</p><p>  一是前臺顧客購買功能,客戶進入網(wǎng)站首頁可以查看最新上市的商品,正在搞活動的商品,商家推薦的商品,分類商品以及相關(guān)內(nèi)容

28、。當用戶選中某款商品時可以進行登錄購買,如果不是本站會員也可以進行注冊,然后再繼續(xù)購買,與傳統(tǒng)購物流程相似,但操作更為簡單,實現(xiàn)了隨時隨地只要在電腦前就可以購物的愿望。</p><p>  二是用戶的后臺管理功能。不同的用戶有不同的權(quán)限,如果是管理員,可以實現(xiàn)商品的添加與商品信息和用戶信息的修改、活動商品的管理、對違法用戶的刪除,訂單的查看與管理等功能,如果是普通用戶則只能對自己信息的修改,自己訂單的查詢等操作。

29、</p><p>  2.2 業(yè)務流程分析</p><p>  管理員對手機商城用戶人員的管理(用戶級別的修改、對用戶信息的查看和刪除),商品的管理(商品的添加,刪除,對商品信息的查看和更新),訂單的管理(訂單的查看和刪除)等。</p><p>  普通用戶在網(wǎng)站首頁了解相關(guān)信息發(fā)布(各型號手機信息、特價手機、新款手機),用戶信息的管理(用戶登錄、修改密碼、選購手機

30、、自助訂機、訂單提交、訂單查看)。</p><p>  后臺管理端流程如圖1,前臺用戶端流程如圖2: </p><p><b>  2.3 數(shù)據(jù)流分析</b></p><p>  數(shù)據(jù)流程分析即對信息流的傳遞、流動、存儲、處理等相關(guān)內(nèi)容的分析。目前的數(shù)據(jù)流程分析主要是通過數(shù)據(jù)流程圖來描述的。其具體的步驟是:按照業(yè)務流程圖得出業(yè)務流程的順序,把了

31、解到數(shù)據(jù)的流向和處理的過程,繪制成完整的數(shù)據(jù)流程圖。</p><p>  就此網(wǎng)站系統(tǒng)來說,后臺管理員可以把手機的各種信息錄入數(shù)據(jù)庫,同時允許修改和更新各種信息,對用戶的刪除和用戶級別的修改,訂單的查看和刪除;其他會員用戶可以錄入注冊信息,提交登錄信息、查看手機信息和個人信息以及其他信息。</p><p>  此外數(shù)據(jù)文件有用戶表,手機信息表,訂單表等。</p><p&

32、gt;  圖2 前臺用戶端流程圖</p><p>  網(wǎng)站的各種信息流的內(nèi)部邏輯流向和邏輯變換過程和交換關(guān)系可以用數(shù)據(jù)流圖表示出來,如圖3為用戶信息管理數(shù)據(jù)流圖:</p><p>  商品管理流圖,顯示商品信息流在商品管理端與數(shù)據(jù)庫之間的邏輯交換和邏輯關(guān)系,如圖4所示:</p><p>  后臺訂單管理數(shù)據(jù)流圖,如圖5所示:</p><p>

33、<b>  3 系統(tǒng)設計</b></p><p>  3.1系統(tǒng)總體功能結(jié)構(gòu)</p><p>  通過前面對需求分析和實際情況的了解,得出網(wǎng)上手機商城的總體功能結(jié)構(gòu):其中前臺用戶端包括手機信息瀏覽,購物車和用戶信息管理三個模塊;后臺管理端包括手機商品管理,訂單管理,用戶管理三個模塊。系統(tǒng)主要模塊及其功能如下:</p><p><b>

34、  A 用戶信息管理:</b></p><p>  此模塊用于對賬戶信息的各種相關(guān)操作,如用戶的注冊,登錄等。</p><p>  B 手機種類信息及相關(guān)信息瀏覽:</p><p>  主要包括手機具體內(nèi)容、分類列表,特價專區(qū)等內(nèi)容的查看。</p><p><b>  C 購物車模塊:</b></p&g

35、t;<p>  將手機放入購物車,商品取消和購買,,查看購物車,修改手機數(shù)量,全部刪去購物車中的商品。</p><p><b>  D 訂單處理:</b></p><p>  用戶查閱訂單,生成新的訂單,查看訂單列表和詳細內(nèi)容以及訂單的確認。</p><p><b>  E 后臺用戶管理:</b></p

36、><p>  查看用戶信息,刪除用戶。</p><p><b>  F 手機商品管理:</b></p><p>  查看手機分類列表和手機的詳細信息,管理員添加、修改、刪除手機信息等操作。具體結(jié)構(gòu)如圖6:</p><p>  3.2 系統(tǒng)數(shù)據(jù)庫模型設計</p><p>  3.2.1系統(tǒng)概念結(jié)構(gòu)設計—

37、—E-R圖</p><p>  E-R方法是“實體-聯(lián)系方法”(Entity-Relationship Approach)的簡稱。是一種描述概念結(jié)構(gòu)模型的方法。具體方法是用矩形表示實體;用橢圓表示屬性,并用直線將兩者連接起來;用菱形表示實體和實體之間的聯(lián)系,并用直線將有關(guān)實體型連接起來, E-R圖就是這樣一種的圖形。</p><p>  根據(jù)前面的具體分析就可以得到下面的關(guān)系模型圖,如圖7

38、:</p><p><b>  具體屬性如下:</b></p><p>  用戶:會員ID,會員名,真實姓名,登錄密碼,會員性別,電話號碼,E-mail,具體住址,郵政編碼,用戶級別。(管理員屬性同上。)</p><p>  手機:產(chǎn)品ID,所屬種類,手機型號,手機簡介,活動與否,正常單價,活動單價,手機圖片,庫存數(shù)量,郵費。</p>

39、;<p>  訂單:訂單號,用戶ID,訂單時間,用戶真實姓名,具體地址,郵政編碼,商品總價。</p><p>  訂單包含手機聯(lián)系屬性:數(shù)量,單項價格,總價。</p><p>  管理員信息:編號,姓名,密碼,權(quán)限。</p><p>  手機商品包含聯(lián)系屬性:數(shù)量。</p><p>  管理員處理訂單屬性:訂單確認人,確認時間。

40、</p><p>  3.2.2 系統(tǒng)邏輯結(jié)構(gòu)設計——關(guān)系模型</p><p>  根據(jù)數(shù)據(jù)庫原理的相關(guān)規(guī)范可以做以下處理:</p><p>  根據(jù)相關(guān)原則規(guī)范從E-R圖向關(guān)系模型進行轉(zhuǎn)換。</p><p>  由于普通用戶和管理員的關(guān)系模型除了在權(quán)限不同,其他屬性全部一樣,所以可以將這兩種關(guān)系模型看成是一種,只需加入一個級別段將兩者進行區(qū)

41、分就可以了。</p><p>  瀏覽關(guān)系模式和此網(wǎng)站系統(tǒng)其它功能要求關(guān)系不大,因此可以忽略。</p><p>  由于手機分類的關(guān)系模式在系統(tǒng)中要經(jīng)常調(diào)用,故將其作為一個單獨的關(guān)系模式。</p><p>  通過上面的分析,可以得出以下的關(guān)系模式:</p><p>  用戶(會員ID,會員名,登錄密碼,會員性別,用戶電話,E-mail,具體

42、住址,郵政編碼,真實姓名,用戶級別)</p><p>  手機商品(商品ID,所屬種類,手機型號,手機簡介,是否活動,正常單價,活動單價,產(chǎn)品照片,備忘)</p><p>  訂單(訂單號,用戶ID,訂單時間,用戶真實姓名,具體住址,聯(lián)系電話,產(chǎn)品總價)</p><p>  3.2.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計——關(guān)系表</p><p>  根據(jù)以

43、上關(guān)系模型可以得出相應的關(guān)系表,關(guān)系表如表1:</p><p>  3.2.4 數(shù)據(jù)表詳細說明</p><p>  用戶表(users)主要記錄用戶(管理員和普通用戶)的相關(guān)信息,具體情況如表2:</p><p>  商品信息表(products)主要記錄手機的具體信息,具體情況如表3:</p><p>  訂單表(orders)主要記錄每筆

44、訂單的相關(guān)信息,如表4:</p><p>  訂單明細表(orderdetail)記錄訂單所選商品編號,數(shù)量等詳細信息。如表5所示:</p><p>  4 詳細設計與系統(tǒng)實現(xiàn)</p><p>  4.1 系統(tǒng)詳細設計總體概述</p><p>  此系統(tǒng)的開發(fā)采用了現(xiàn)在比較流行的MVC開發(fā)模式,MVC是model,view,controlle

45、r三個單詞的縮寫,這種開發(fā)模式將整個系統(tǒng)分為了三個大類,數(shù)據(jù)模型、用戶界面和控制器,其中數(shù)據(jù)模型(model)用java編寫,用于實現(xiàn)系統(tǒng)中的數(shù)據(jù)邏輯,包含了所有的JavaBean和方法;用戶界面(view)用jsp編寫,用于與用戶的交互,包含了用戶能看到的所有頁面信息,也可以理解為view就是由無數(shù)個頁面組成的;控制器(controller)是model和view之間溝通的橋梁,可以根據(jù)用戶的不同請求來跳轉(zhuǎn)到相應的界面,相當于公司中的

46、領導階層,接收view中提交上來的信息,然后交給model中的方法將這些信息進行處理,接收處理后的信息返回給頁面或者存入數(shù)據(jù)庫。</p><p>  這種設計模式實現(xiàn)了業(yè)務層和視圖層的分離,使網(wǎng)站能更好的進行維護與升級,并且有低耦合,高重用性,較低的生命周期成本,可維護性等優(yōu)點,下面就圍繞這種開發(fā)模式對本網(wǎng)站設計進行分模塊的詳細介紹。</p><p>  4.2 數(shù)據(jù)庫的操作的JavaBe

47、an設計</p><p>  作為一個公共類,數(shù)據(jù)庫操作的JavaBean一般包括數(shù)據(jù)庫的鏈接getConnection、執(zhí)行executeQuery、更新操作的執(zhí)行executeUpdate、連接的關(guān)閉close方法。下面是數(shù)據(jù)庫操作JavaBean的具體信息。</p><p>  使用JDBC訪問數(shù)據(jù)庫:</p><p>  在Java語言中, Java可以通過

48、JDBC對數(shù)據(jù)庫進行訪問。JDBC是一種“開放”的方案,提供了一種標準的應用程序接口。應用程序要訪問數(shù)據(jù)庫必須加載數(shù)據(jù)庫驅(qū)動,再通過JDBC建立連接才能訪問數(shù)據(jù)庫,執(zhí)行SQL語句,最后必須斷連接以釋放資源,過程如圖8所示:</p><p>  在connDB中使用getConnection()方法建立與數(shù)據(jù)庫的連接。首先是加載數(shù)據(jù)庫驅(qū)動程序:Class.forName("com.mysql.jdbc.D

49、river");用到java.lang包中的類Class,調(diào)用Class類中的方法forName()方法來獲取MySQL數(shù)據(jù)庫連接,DriverManager.getConnection("jdbc:mysql://localhost:3306/Database","root","142857");第一個參數(shù)是連接數(shù)據(jù)庫URL,第二,三個參數(shù)為帳戶名和密碼.最后調(diào)用S

50、tatement的executeQuery(),executeUpdate()或execute()方法完成對數(shù)據(jù)庫的訪問。</p><p>  connDB類的成員及說明如表6:</p><p>  4.3 用戶主界面設計</p><p>  系統(tǒng)的用戶主界面是用戶了解商城的首要窗口,其中必須包括商城中商品的主要信息和相關(guān)入口。用戶在首頁可以進行注冊成為會員,登錄后

51、可以進行購機等相關(guān)操作。用戶還可以選擇相應的菜單選項進行選購手機,手機詳細信息的查看,不同分類的手機信息瀏覽,還有常見問題,相關(guān)聯(lián)系方式。</p><p>  主界面的構(gòu)成:最上面為head.jsp,包含頭部的主要信息,比如用戶登錄狀態(tài),商城logo,搜索框,導航欄的信息;左邊的為left.jsp,包含用戶登錄注冊入口和新品上市,分別是用戶登錄和顯示本商城最新上市商品的地方;右邊是right.jsp,包含一個fl

52、ash和活動專區(qū),flash顯示了本店的特色商品和一些最新活動信息,活動專區(qū)則提供了本店正在促銷和降價的商品,主界面最下面是tail.jsp,用來聲明版權(quán)。</p><p>  在系統(tǒng)主界面最上面顯示用戶的登錄狀態(tài),如果用戶未登錄就有用戶未登錄的提示,如果用戶已經(jīng)登錄則顯示登錄用戶的用戶名和安全退出的信息,用戶名是一個超鏈接,通過點擊用戶名則完成從主界面到用戶中心的跳轉(zhuǎn),跳轉(zhuǎn)的時候后臺會根據(jù)登錄用戶的級別(是否為

53、管理員)跳轉(zhuǎn)到不同級別的個人中心頁面,導航欄通過超鏈接實現(xiàn)分類信息的參數(shù)傳遞,通過后臺程序的運行從數(shù)據(jù)庫中提取相應的列表,從而實現(xiàn)到分類信息列表的跳轉(zhuǎn)。左邊的登錄和注冊入口在未登錄的時候顯示的是登錄和注冊窗口,用戶登陸以后則以一張圖片替換,新品上市和活動專區(qū)則與數(shù)據(jù)庫相連,根據(jù)數(shù)據(jù)庫中的信息動態(tài)的顯示相關(guān)商品的信息。主界面如圖9所示:</p><p><b>  圖9 主界面</b><

54、/p><p>  4.4 用戶信息管理模塊的設計</p><p>  4.4.1 會員登錄模塊設計</p><p>  此模塊的主要功能是對用戶名和密碼進行驗證,只有合法的用戶才能使用本系統(tǒng)購買手機。如果不是本網(wǎng)站的會員必須先進行注冊才能購買此網(wǎng)站的商品。在首頁的登錄窗口中有一個用戶登錄菜單。用戶填寫的所有信息都由Form表單使用post方法提交給服務器。服務器通過ge

55、tParameter函數(shù)獲得Form表單提交的信息,通過提交的用戶名取出數(shù)據(jù)庫中的密碼,將取出的密碼與用戶提交的密碼進行比對,如果一致則合法,并不是直接通過數(shù)據(jù)庫語言與數(shù)據(jù)庫中的密碼匹配,這樣做的好處是可以有效的防治SQL漏洞。在用戶登錄后,將用戶的所有信息通過setAttribute 函數(shù)保存在session中,方便其它界面使用隨時使用對象中的用戶信息。此外,該界面還提供出錯處理,如用戶登錄時用戶信息填寫的格式不正確或字符不合法,都會

56、給用戶做出相應的錯誤提示,直到輸入信息合法才能提交。本網(wǎng)站的所有用戶(普通會員與管理員)都是通過此登錄窗口進行登錄,只需要更具用戶的級別實現(xiàn)頁面的選擇就可以了。在此界面中還添加了一個用戶注冊的按鈕,用以幫助第一次使用該系統(tǒng)的人通過注冊而成為本網(wǎng)站的會員。</p><p>  在頁面上有一個安全退出的選項,是退出本網(wǎng)站的出口,當退出時把網(wǎng)頁中的session對象清空,登錄狀態(tài)就變?yōu)橛脩粑吹卿浀奶崾?。這樣做的原因有兩

57、個:首先就是安全性,如果沒有安全退出,下一個用戶很可能會用該沒有過期的session對象;此外,假如大多數(shù)人都不退出登錄,那么session中無用的對象在過期之前就會一直占用著系統(tǒng)資源,從而造成網(wǎng)絡資源的浪費。</p><p>  登錄窗口如圖10,登錄流程如圖11:</p><p><b>  圖10 用戶登錄窗</b></p><p>  

58、4.4.2 會員注冊模塊的設計</p><p>  此網(wǎng)站規(guī)定只有會員才有購買資格,生成訂單。游客只能進行手機商品的瀏覽和手機詳情查看的操作。</p><p>  在首頁的登錄窗口有一個注冊的按鈕,用戶通過此按鈕可以進入注冊頁面,也可以先將商品加入購物車,購買的時候會有提示進入注冊頁面。 </p><p>  此模塊中用到了用戶信息Bean(userbean)用來傳

59、遞form表單提交的注冊信息,后臺通過reguest對象的gerParameter方法接收表單提交的信息,調(diào)用相關(guān)函數(shù)將這些信息存入數(shù)據(jù)庫,其中還有異常的處理,比如數(shù)據(jù)庫中已經(jīng)存在相應的用戶名,兩次輸入的密碼是否一致等情況也都由這些相關(guān)函數(shù)進行判斷和處理。注冊用戶的代碼如下:</p><p>  public boolean addUser(String username,String password,Stri

60、ng sex,String birthday,String email,String truename,String address,String telephone){</p><p>  boolean b=true;</p><p><b>  try{</b></p><p>  ct=new ConnDB().getconnectio

61、n();</p><p>  ps=ct.prepareStatement("insert into users (name,password,sex,birthday,email,truename,address,telephone)values(?,?,?,?,?,?,?,?)");</p><p>  ps.setString(1, username);</

62、p><p>  ps.setString(2, password);</p><p>  ps.setString(3, sex);</p><p>  ps.setString(4, birthday);</p><p>  ps.setString(5, email);</p><p>  ps.setString(6

63、, truename);</p><p>  ps.setString(7, address);</p><p>  ps.setString(8, telephone);</p><p>  ps.execute();</p><p>  }catch(Exception e){</p><p>  e.printS

64、tackTrace();</p><p><b>  b=false;</b></p><p><b>  }finally{</b></p><p>  this.close();</p><p><b>  }</b></p><p><b&g

65、t;  return b;</b></p><p><b>  }</b></p><p>  注冊成功后,用戶就可以用自己注冊的賬戶進行商品的購買和對自己信息的修改等操作,當然注冊成功后會自動登錄,將用戶信息的bean放入session中,以便用戶在本網(wǎng)站繼續(xù)其他的操作。用戶注冊界面如圖12:</p><p>  圖12 用戶注冊

66、界面</p><p>  4.4.3 用戶信息的查看與修改模塊的設計</p><p>  用戶在這里可以查看和修改自己信息,更改密碼。如果是系統(tǒng)管理員,還可以查看其他用戶的信息,級別的修改,對不合法用戶進行刪除等操作。</p><p>  在用戶信息的查看與修改界面和注冊界面幾乎完全一樣,只不過注冊的會員名是不可以修改的,其他的信息都可以根據(jù)用戶的需要(如工作、住址

67、、電話的變更)進行修改,具體修改的代碼如下:</p><p>  public boolean updateByUsername(String username,String truename,String address,String telephone,String email){</p><p>  boolean b=true;</p><p><b&

68、gt;  try{</b></p><p>  ct=new ConnDB().getconnection();</p><p>  ps=ct.prepareStatement("update users set telephone=?,address=?,email=?,truename=? where name=?");</p><

69、p>  ps.setString(1,telephone);</p><p>  ps.setString(2,address);</p><p>  ps.setString(3,email);</p><p>  ps.setString(4,truename);</p><p>  ps.setString(5,username)

70、;</p><p>  ps.execute();</p><p>  }catch(Exception e){</p><p>  e.printStackTrace();</p><p><b>  b=false;</b></p><p><b>  }finally{</b

71、></p><p>  this.close();</p><p><b>  }</b></p><p><b>  return b;</b></p><p><b>  }</b></p><p>  信息修改后后臺程序會返回一個布爾量,如果

72、為真則修改成功,反正則拋出異常,根據(jù)不同的返回值選擇跳回到哪個頁面。</p><p>  4.5 購物車模塊和訂單模塊的設計</p><p>  該模塊主要包括添加手機,刪除手機,改變手機數(shù)量,清空購物車和購物車信息查看的功能,是實現(xiàn)購物的關(guān)鍵部分。</p><p>  訂單處理是根據(jù)用戶購物車內(nèi)的信息和用戶的個人信息生成訂單和訂單的查看功能。</p>

73、<p>  由于這兩個模塊是聯(lián)系在一起的,所以放在一起說明。當用戶將商品添加到購物車后提交,由系統(tǒng)自動生成訂單號并存入數(shù)據(jù)庫供用戶隨時查看。購物車界面如圖13所示,訂單界面如圖14:</p><p><b>  圖13 購物車界面</b></p><p><b>  圖14 訂單界面</b></p><p> 

74、 4.5.1 購物車添加商品的設計</p><p>  用戶在手機詳細信息頁面選擇加入購物車,就可以跳轉(zhuǎn)到購物車信息界面如圖13。會員只有登錄后才可以進行繼續(xù)購買。</p><p>  在本模塊后臺購物車的設計采用了HashMap方法,這個方法的好處是可以非常方便的對里面的對象進行增加、修改和刪除,甚至是清空購物車,然后將其中的對象用ArrayList方法保存到session中,用戶可以隨

75、時的從session中得到購物車中的商品信息,也可以隨時的修改數(shù)量和刪除。具體代碼如下:</p><p>  public class MyShoppingCarBO {</p><p>  HashMap <String,String> hm=new HashMap<String,String>();</p><p>  private R

76、esultSet rs=null;</p><p>  private Connection ct=null;</p><p>  private PreparedStatement ps=null;</p><p>  private float allprice=0.0f;</p><p>  public float getallpri

77、ce(){</p><p>  return this.allprice;</p><p><b>  }</b></p><p>  public String getnumbygoodid(String goodid){</p><p>  return (String)hm.get(goodid);</p&g

78、t;<p><b>  }</b></p><p>  public void addgood(String goodid,String goodnum){</p><p>  hm.put(goodid,goodnum);</p><p><b>  }</b></p><p>  

79、public void deletgood(String goodid){</p><p>  hm.remove(goodid);</p><p><b>  }</b></p><p>  public void cleangood(){</p><p>  hm.clear();</p><p&

80、gt;<b>  }</b></p><p>  public void updategood(String goodid,String newnum){</p><p>  hm.put(goodid,newnum);</p><p><b>  }</b></p><p><b>  

81、}</b></p><p>  4.5.2 訂單的提交設計</p><p>  當用戶選擇完商品后,選擇提交,這時會有一個訂單詳情的顯示,供用戶對購買信息的核對,如果沒有問題則單擊完成訂購按鈕生成新的訂單并保存到數(shù)據(jù)庫中。這時系統(tǒng)需獲取當前時間來決定訂單的生成時間,還需查找出數(shù)據(jù)庫中的訂單數(shù)量來決定當前訂單的訂單號,并將這次訂單包含的所有信息存入數(shù)據(jù)庫中,如果拋出異常應該返回錯

82、誤信息,反之則跳回下單成功界面并顯示訂單信息。</p><p>  4.6 后臺管理模塊的設計</p><p>  4.6.1 后臺用戶管理模塊設計</p><p>  后臺用戶管理模塊主要是實現(xiàn)管理員查看普通會員的信息,級別的修改和刪除操作。在次模塊中分頁顯示用戶列表。用戶管理頁面如圖15:</p><p>  圖15 用戶管理界面<

83、/p><p>  刪除用戶的代碼如下:</p><p>  public boolean deleteUserByUserid(long userid){</p><p>  boolean b=false;</p><p><b>  try{</b></p><p>  ct=new ConnDB

84、().getconnection();</p><p>  ps=ct.prepareStatement("delete from users where userid=?");</p><p>  ps.setLong(1, userid);</p><p>  int a=ps.executeUpdate();</p><

85、p><b>  if(a==1){</b></p><p><b>  b=true;</b></p><p><b>  }</b></p><p>  }catch(Exception e){</p><p>  e.printStackTrace();</p&

86、gt;<p><b>  b=false;</b></p><p><b>  }finally{</b></p><p>  this.close();</p><p><b>  }</b></p><p><b>  return b;</b

87、></p><p><b>  }</b></p><p>  分頁顯示所有用戶信息代碼:</p><p>  public ArrayList <UserBean> getUserBeanByPage(int pagesize,int pagenow,String type){</p><p>  A

88、rrayList <UserBean> al=new ArrayList<UserBean>();</p><p><b>  try{</b></p><p>  ct=new ConnDB().getconnection();</p><p>  if(type.equals("1")){<

89、/p><p>  ps=ct.prepareStatement("select * from users where grade='1' limit "+(pagenow-1)*pagesize+","+pagesize);</p><p>  }else if(type.equals("all")){</p&g

90、t;<p>  ps=ct.prepareStatement("select * from users limit "+(pagenow-1)*pagesize+","+pagesize);</p><p><b>  }</b></p><p>  rs=ps.executeQuery();</p>

91、<p>  while(rs.next()){</p><p>  UserBean ub=new UserBean();</p><p>  ub.setUserid(rs.getLong(1));</p><p>  ub.setName(rs.getString(2));</p><p>  ub.setSex(rs.get

92、String(3));</p><p>  ub.setBirthday(rs.getString(4));</p><p>  ub.setPassword(rs.getString(5));</p><p>  ub.setTelephone(rs.getString(6));</p><p>  ub.setAddress(rs.get

93、String(7));</p><p>  ub.setEmail(rs.getString(8));</p><p>  ub.setGrade(rs.getString(9));</p><p>  ub.setTruename(rs.getString(10));</p><p>  al.add(ub);</p><

94、;p><b>  }</b></p><p>  }catch(Exception e){</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p>  this.close();</p><p&g

95、t;<b>  }</b></p><p>  return al;</p><p><b>  }</b></p><p>  4.6.2 后臺手機管理模塊設計</p><p>  管理員可以對手機信息進行查看、添加、刪除和修改工作。此模塊便于管理員及時的更新手機的相關(guān)信息,為用戶提供最新的手機信

96、息動態(tài)。代碼與用戶管理模塊的代碼相似,這里就不再贅述,手機管理頁面如圖16:</p><p>  圖16 手機管理界面</p><p><b>  5 軟件測試</b></p><p>  5.1 軟件測試的目的 </p><p>  開發(fā)一個軟件是為了給人們提供方便,實現(xiàn)功能的同時也要避免錯誤,但這是不可能實現(xiàn)的,只

97、能采用各種方法如:方法分析、設計軟件等盡可能的減少錯誤。另外人們在程序編寫的時候還會引進很多錯誤。如果得不到正確的處理,在最終投入使用的時候終究還是會暴露出來,因此,軟件測試是一個必要的環(huán)節(jié)。</p><p>  軟件測試是軟件開發(fā)的后期階段,在編寫完成后根據(jù)需求分析、設計規(guī)格的最終審查,是驗證軟件是否能正常使用的關(guān)鍵。</p><p>  測試的目標用最少的成本發(fā)現(xiàn)軟件中存在的錯誤和缺陷

98、。軟件經(jīng)過成功的測試,就會發(fā)現(xiàn)還存在的相關(guān)錯誤,還可以證明開發(fā)的軟件是否能符合客戶的功能需求。</p><p>  5.2 軟件測試過程</p><p>  本網(wǎng)站主要采用的是黑盒測試,對于系統(tǒng)所有的模塊均涉及到黑盒測試。對所有的功能都設計兩個用例,即正確的符合規(guī)范的數(shù)據(jù)和不合法的數(shù)據(jù),看是否都能實現(xiàn)頁面的正確跳轉(zhuǎn)和程序的正確運行,使程序無論是正確的還是錯誤的數(shù)據(jù)都能得到正確的處理。<

99、;/p><p>  5.3 軟件測試結(jié)論</p><p>  5.3.1 軟件能力</p><p>  經(jīng)過測試證明,本系統(tǒng)在操作上和輸入數(shù)據(jù)的驗證上,比較全面,達到了預期設計系統(tǒng)的功能。能夠比較全面的實現(xiàn)網(wǎng)上手機商城的各項基本功能。</p><p>  5.3.2 缺陷和限制</p><p>  本系統(tǒng)的開發(fā)旨在提高顧客

100、購買商品的效率,以及方便客戶和商家。提高人們的生活水平,也使商家能對商店更好的管理。但由于開發(fā)者能力有限,致使網(wǎng)站還存在諸多不足與缺陷,因此本網(wǎng)站還可以從以下幾個方面進行改進。</p><p> ?。?)豐富和完善用戶功能; </p><p>  (2)添加在線交流模塊;</p><p><b>  (3)添加留言板;</b></p>

101、;<p>  (4)系統(tǒng)功能并非完全實現(xiàn),在后期逐步完善;</p><p> ?。?)界面上還不夠完美;</p><p>  5.3.3 測試結(jié)論</p><p>  軟件已經(jīng)基本運行實現(xiàn)了設計的各項功能,可以投入使用。</p><p><b>  6 結(jié)束語</b></p><p>

102、;  到這里,本次畢業(yè)設計已經(jīng)接近尾聲,在此期間,我也學到了很多。在前面的三年半時間內(nèi)我學習了很多的課程及編程語言,從最初始的C語言到稍微深入一點的C++,JAVA,數(shù)據(jù)庫系統(tǒng)概論等等,雖然通過學習對這些課程有所了解和掌握,但也只是對理論知識的理解階段,對知識的掌握還不夠全面和熟練不能進行的編程開發(fā),更不用說真正應用于實踐設計開發(fā),而且并不能真正獨立的開發(fā)出一個完整的應用于實際的系統(tǒng)。通過這次的畢業(yè)設計,又更加深入的學習了JAVA和JS

103、P技術(shù)以及很多關(guān)于電子商務方面的知識,在整個畢業(yè)設計的過程中,遇到了好多的困難和自己無法解決的問題,主要是自己的知識還不夠扎實和全面,通過上網(wǎng)查閱相關(guān)知識和老師同學們的幫助,終于順利的完成了畢業(yè)設計,但還有很多功能和缺陷需要不斷的完善,需要不斷的努力改進。 </p><p><b>  參考文獻:</b></p><p>  [1]劉志成.JSP程序設計案例教程[M

104、].北京:清華大學出版社,2007.</p><p>  [2]Kevin Duffey. Professional JSP Site Design[M]. Wros Press,2001.</p><p>  [3]Bruce Eckel. Thinking in Java[M]. Prentice Hall PTR,2003.</p><p>  [4]徐

105、國智.SQL Server 2000數(shù)據(jù)庫開發(fā)實力精粹[M].北京:電子工業(yè)出版社,2002.</p><p>  [5](美)施瓦茨(Schwartz,B.)等著.高性能MYSQL(影印版)[M].開明出版社,2005.</p><p>  [6](荷)范德蘭斯著許杰星等譯.MySQL開發(fā)者SQL權(quán)威指南[DB].北京:機械工業(yè)出版社,2004.</p><p>

106、  [7](美)Patrick Galbraith著.Apache+MySQL+memcached+Per開發(fā)高速開源網(wǎng)站[M].北京:清華大學出版社,2001.</p><p>  [8]Kevin Duffey Professional JSP Site Design[M]. Wros Press,2001.</p><p>  [9] 張靖.基于J2EE平臺的Web應用研究[D].

107、四川:攀枝花學院網(wǎng)絡中心,2006.</p><p>  [10] 孫鑫.Servlet/JSP深入詳解——基于Tomcat的Web開發(fā)[M].北京:電工業(yè)出版社,2008.</p><p>  Design and Development Based on JSP Shopping Site</p><p>  Abstract: With the develop

108、ment of networking and information technology, people's living standards improve, the Internet has been gradually accepted by the people no longer satisfied with traditional shopping, online shopping this new way to

109、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, online cell phone sales to become the business'

溫馨提示

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

評論

0/150

提交評論