畢業(yè)論文---家電商城網(wǎng)上銷(xiāo)售系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  家電商城網(wǎng)上銷(xiāo)售系統(tǒng)</p><p><b>  摘 要</b></p><p>  隨著計(jì)算機(jī)的廣泛應(yīng)用,人們已經(jīng)對(duì)網(wǎng)絡(luò)不再感到陌生。在科技飛速發(fā)展的今天,電腦信息技術(shù)與各行各業(yè)進(jìn)行了有效的結(jié)合。人們?cè)诰W(wǎng)上可以進(jìn)行網(wǎng)上購(gòu)物,網(wǎng)上交友,電子商務(wù)等等。面對(duì)強(qiáng)大的網(wǎng)絡(luò)功能,必須在某方面要有一個(gè)健全的系統(tǒng)才能使網(wǎng)絡(luò)發(fā)揮的淋漓盡致,而網(wǎng)上購(gòu)物提供了一個(gè)

2、全新的購(gòu)物新方式。然而開(kāi)發(fā)應(yīng)用程序必須了解兩部分內(nèi)容,即前臺(tái)開(kāi)發(fā)工具和后臺(tái)的數(shù)據(jù)庫(kù)。本文利用jsp+html+JavaScript技術(shù)進(jìn)行前臺(tái)界面設(shè)計(jì),利用oracle9i設(shè)計(jì)后臺(tái)數(shù)據(jù)庫(kù)以及利用jdbc數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各種管理操作,實(shí)現(xiàn)網(wǎng)上家電商城的各種基本功能。主要分析了網(wǎng)上家電商城的主要組成情況,包括網(wǎng)上家電商城的設(shè)計(jì)目標(biāo),框架結(jié)構(gòu)(本系統(tǒng)采用的是仿Struts的MVC框架),數(shù)據(jù)流程和網(wǎng)上商城的主要特點(diǎn)等,重點(diǎn)介紹了網(wǎng)

3、上家電商城前臺(tái)功能模塊的詳細(xì)思路和實(shí)現(xiàn)方法,以及對(duì)后臺(tái)數(shù)據(jù)庫(kù)關(guān)鍵技術(shù)和部分源代碼的詳細(xì)說(shuō)明。</p><p>  關(guān)鍵詞:jsp,oracle9i,JavaScript,html,tomcat,mvc</p><p><b>  目錄</b></p><p><b>  摘 要2</b></p><

4、p><b>  第一章緒論4</b></p><p>  1.1網(wǎng)上家電商城系統(tǒng)介紹4</p><p>  第二章使用工具及相關(guān)知識(shí)5</p><p>  2.1 Java簡(jiǎn)介:5</p><p>  2.2 后臺(tái)數(shù)據(jù)庫(kù)oracle與sql:6</p><p>  2.3 Js

5、p簡(jiǎn)介7</p><p>  2.4 servlet8</p><p>  2.5 JavaScript8</p><p>  2.6 相關(guān)術(shù)語(yǔ)的解釋8</p><p>  第三章 系統(tǒng)分析9</p><p>  3.1 系統(tǒng)可行性分析9</p><p>  3.1.1.經(jīng)濟(jì)可行性:

6、9</p><p>  3.1.2.技術(shù)可行性:9</p><p>  3.1.3操作可行性:10</p><p>  3.1.4法律可行性:10</p><p>  3.2 環(huán)境需求分析10</p><p>  3.2.1硬件要求:10</p><p>  3.2.2軟件要求:1

7、0</p><p>  3.3 功能模塊分析11</p><p>  3.1系統(tǒng)流程11</p><p>  3.2 模塊分析12</p><p>  3.3 系統(tǒng)角色定義12</p><p>  第四章 系統(tǒng)概要設(shè)計(jì)13</p><p>  4.1系統(tǒng)總體模塊體系圖13</p

8、><p>  4.2前臺(tái)功能模塊13</p><p>  4.2.1.商品瀏覽模塊13</p><p>  4.2.2 個(gè)人管理中心14</p><p>  4.2.3論壇模塊15</p><p>  4.2.4會(huì)員注冊(cè)與登錄模塊16</p><p>  4.3后臺(tái)功能模塊17</

9、p><p>  4.2.1 用戶(hù)管理模塊:17</p><p>  4.2.2商品模塊:18</p><p>  4.2.3 訂單模塊:18</p><p>  4.2.4 論壇管理模塊:19</p><p>  4.4數(shù)據(jù)庫(kù)設(shè)計(jì)19</p><p>  4.4.1 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)19

10、</p><p>  4.4.2 數(shù)據(jù)庫(kù)的物理設(shè)計(jì)(數(shù)據(jù)模型)21</p><p>  4.4.3 通過(guò)plsql developer 8.0建表的腳本語(yǔ)句例子21</p><p>  第五章 系統(tǒng)詳細(xì)設(shè)計(jì)22</p><p>  5.1前臺(tái)界面設(shè)計(jì)22</p><p>  5.1.1 系統(tǒng)首頁(yè)22</

11、p><p>  5.1.2 會(huì)員登錄頁(yè)面23</p><p>  5.1.3 用戶(hù)注冊(cè)頁(yè)面24</p><p>  5.1.4會(huì)員管理中心24</p><p>  5.1.5論壇首頁(yè)25</p><p>  5.1.6 購(gòu)物車(chē)頁(yè)面25</p><p>  5.1.7 商品顯示頁(yè)面26&l

12、t;/p><p>  5.1.8 商品評(píng)價(jià)頁(yè)面26</p><p>  5.2 后臺(tái)管理設(shè)計(jì)28</p><p>  5.2.1用戶(hù)管理后臺(tái)頁(yè)面28</p><p>  5.2.2商品管理后臺(tái)頁(yè)面28</p><p>  5.2.3訂單管理后臺(tái)頁(yè)面29</p><p>  5.2.4論壇管

13、理后臺(tái)頁(yè)面29</p><p>  第六章 編碼、系統(tǒng)測(cè)試與調(diào)試30</p><p>  6.1. 編碼與實(shí)現(xiàn)30</p><p>  6.1.1 包結(jié)構(gòu)約定30</p><p>  6.1.2 前臺(tái)頁(yè)面編碼UI(以用戶(hù)注冊(cè)為例)31</p><p>  6.1.2 action控制層代碼實(shí)現(xiàn)(以用戶(hù)注冊(cè)為例

14、)36</p><p>  6.1.3 BLL業(yè)務(wù)邏輯層代碼實(shí)現(xiàn)(以用戶(hù)注冊(cè)為例)37</p><p>  6.1.4 DAL數(shù)據(jù)庫(kù)訪問(wèn)層代碼實(shí)現(xiàn)(以用戶(hù)注冊(cè)為例)38</p><p>  6.2測(cè)試與調(diào)試39</p><p>  6.2.1 測(cè)試的重要性39</p><p>  6.2.2測(cè)試報(bào)告(用戶(hù)注

15、冊(cè)為例)39</p><p>  第七章 結(jié)論與其它40</p><p><b>  7.1 結(jié)論40</b></p><p>  7.2 參考文獻(xiàn)40</p><p><b>  緒論</b></p><p>  1.1網(wǎng)上家電商城系統(tǒng)介紹</p>&

16、lt;p>  伴隨著Internet的蓬勃發(fā)展和逐漸成熟的計(jì)算機(jī)網(wǎng)絡(luò)與通信技術(shù),網(wǎng)絡(luò)購(gòu)物中心作為電子商物的一種形式正以其高效、低成本的優(yōu)勢(shì),逐步成為新興的經(jīng)營(yíng)模式和理念,人們已不再滿(mǎn)足于信息瀏覽和發(fā)布,而是渴望著能夠充分享受網(wǎng)絡(luò)所帶來(lái)的更多的便利。的確,客戶(hù)足不出戶(hù)便可以方便快捷地選購(gòu)自己喜歡的商品,這正是網(wǎng)絡(luò)購(gòu)物中心為客戶(hù)帶來(lái)的好處。</p><p>  敏銳的網(wǎng)絡(luò)商家當(dāng)然不會(huì)錯(cuò)過(guò)這樣絕好的機(jī)會(huì),越來(lái)越多

17、的網(wǎng)站投身到提供網(wǎng)絡(luò)購(gòu)物服務(wù)的行列中來(lái),一個(gè)基于Internet的全球電子商務(wù)框架正在形成。網(wǎng)絡(luò)購(gòu)物中心所承載的信息量大、購(gòu)物流程比較繁瑣而且互聯(lián)網(wǎng)中日益肆虐的黑客和病毒對(duì)網(wǎng)絡(luò)系統(tǒng)的安全性提出了更高的挑戰(zhàn)統(tǒng)?;赥omcat服務(wù)器和Oracle 9i數(shù)據(jù)庫(kù),采用國(guó)際先進(jìn)的JSP+Servlet+JavaBean基于MVC模式進(jìn)行開(kāi)發(fā),具有很高的穩(wěn)定性和安全性。網(wǎng)上家電商城網(wǎng)站真正實(shí)現(xiàn)了在Internet上的經(jīng)營(yíng)銷(xiāo)售,從而使其獲得更大的市

18、場(chǎng)機(jī)遇及經(jīng)濟(jì)效益,很大程度不同地提高了企業(yè)的核心競(jìng)爭(zhēng)力。</p><p>  網(wǎng)上家電商城網(wǎng)站主要包括家電目錄、會(huì)員注冊(cè)、網(wǎng)上訂貨與購(gòu)物、商品查詢(xún)等。本系統(tǒng)里的家電和市場(chǎng)上的家電在質(zhì)量一樣的前提下,價(jià)格上有明顯的優(yōu)勢(shì),而且方便消費(fèi)者能夠?yàn)g覽到更多家電信息,足不出戶(hù)就能購(gòu)買(mǎi)到自己喜歡的家電,是定點(diǎn)銷(xiāo)售模式所不能做到的。</p><p>  在此系統(tǒng)設(shè)計(jì)上采用三層結(jié)構(gòu)MVC、所使用的框架是仿S

19、truts的,使之在選用平臺(tái)、采用技術(shù)上具有先進(jìn)性、前瞻性、擴(kuò)充性,從而保證建成的系統(tǒng)具有良好的穩(wěn)定性、可擴(kuò)展性和安全性。在系統(tǒng)構(gòu)架、采用技術(shù)、選用平臺(tái)方面都有較好的開(kāi)放性。特別是在選擇產(chǎn)品使用的技術(shù)上,采用符合開(kāi)放性要求,遵循國(guó)際標(biāo)準(zhǔn)化組織技術(shù)標(biāo)準(zhǔn)的先進(jìn)技術(shù)。家電商城既有自己的獨(dú)特優(yōu)勢(shì),又能與其他多家優(yōu)秀的產(chǎn)品進(jìn)行組合,共同構(gòu)成一個(gè)開(kāi)放的、易擴(kuò)充的、穩(wěn)定的、統(tǒng)一軟件的系統(tǒng)。</p><p><b> 

20、 使用工具及相關(guān)知識(shí)</b></p><p>  2.1 Java簡(jiǎn)介:</p><p>  現(xiàn)在,市場(chǎng)上可以選購(gòu)的應(yīng)用開(kāi)發(fā)產(chǎn)品很多,流行的也有數(shù)十種,java是一個(gè)非常理想選擇,其主要特點(diǎn)為:</p><p><b>  (1)面向?qū)ο螅?lt;/b></p><p>  其實(shí)是現(xiàn)實(shí)世界模型的自然延伸。現(xiàn)實(shí)世界中

21、任何實(shí)體都可以看作是對(duì)象。對(duì)象之間通過(guò)消息相互作用。另外,現(xiàn)實(shí)世界中任何實(shí)體都可歸屬于某類(lèi)事物,任何對(duì)象都是某一類(lèi)事物的實(shí)例。如果說(shuō)傳統(tǒng)的過(guò)程式編程語(yǔ)言是以過(guò)程為中心以算法為驅(qū)動(dòng)的話,面向?qū)ο蟮木幊陶Z(yǔ)言則是以對(duì)象為中心以消息為驅(qū)動(dòng)。用公式表示,過(guò)程式編程語(yǔ)言為:程序=算法+數(shù)據(jù);面向?qū)ο缶幊陶Z(yǔ)言為:程序=對(duì)象+消息。 所有面向?qū)ο缶幊陶Z(yǔ)言都支持三個(gè)概念:封裝、多態(tài)性和繼承,Java也不例外。現(xiàn)實(shí)世界中的對(duì)象均有屬性和行為,映射到計(jì)算機(jī)程

22、序上,屬性則表示對(duì)象的數(shù)據(jù),行為表示對(duì)象的方法(其作用是處理數(shù)據(jù)或同外界交互)。所謂封裝,就是用一個(gè)自主式框架把對(duì)象的數(shù)據(jù)和方法聯(lián)在一起形成一個(gè)整體??梢哉f(shuō),對(duì)象是支持封裝的手段,是封裝的基本單位。Java語(yǔ)言的封裝性較強(qiáng),因?yàn)镴ava無(wú)全程變量,無(wú)主函數(shù),在Java中絕大部分成員是對(duì)象,只有簡(jiǎn)單的數(shù)字類(lèi)型、字符類(lèi)型和布爾類(lèi)型除外。而對(duì)于這些類(lèi)型,Java也提供了相應(yīng)的對(duì)象類(lèi)型以便與其他對(duì)象交互操作。 </p><p

23、><b>  (2)可移植性:</b></p><p>  就是在這個(gè)系統(tǒng)上作的程序經(jīng)過(guò)一次編譯后可以移植到別的系統(tǒng)上解釋執(zhí)行,只要經(jīng)過(guò)簡(jiǎn)單的粘貼和復(fù)制就行了,不影響程序的效果</p><p><b>  (3)安全性:</b></p><p>  在tomcat服務(wù)器上運(yùn)行的大多數(shù) Java(TM) 程序是應(yīng)用程序

24、,而不是 applet,所以“砂箱”安全性模型對(duì)它們不起限制作用。從安全性的觀點(diǎn)看,Java 應(yīng)用程序所受的安全性限制與 iSeries 服務(wù)器上的任何其它程序相同。要在 iSeries 服務(wù)器上運(yùn)行 Java 程序,您必須對(duì)集成文件系統(tǒng)中的類(lèi)文件具有權(quán)限。程序一旦啟動(dòng),它就在該用戶(hù)權(quán)限控制下運(yùn)行。 您可以使用沿用權(quán)限來(lái)訪問(wèn)具有運(yùn)行程序的用戶(hù)的權(quán)限和程序擁有者權(quán)限的對(duì)象。沿用權(quán)限臨時(shí)地將用戶(hù)原先無(wú)權(quán)訪問(wèn)的對(duì)象的權(quán)限授予用戶(hù)。</p

25、><p><b>  (4)并發(fā)性:</b></p><p>  JAVA支持多線程技術(shù),就是多個(gè)線程并行機(jī)制,多線程是Java的一個(gè)重要方法,特別有利于在程序中實(shí)現(xiàn)并發(fā)任務(wù).Java提供Thread線程類(lèi),實(shí)現(xiàn)了多線程的并發(fā)機(jī)制.然而,程序的并發(fā)執(zhí)行必定會(huì)出現(xiàn)多個(gè)線程互斥訪問(wèn)臨界資源的局面,因而并發(fā)系統(tǒng)解決的關(guān)鍵就是對(duì)臨界資源的管理和分配問(wèn)題,而在進(jìn)行臨界資源分配時(shí)有兩

26、方面需要考慮,即安全性和公平性.文中首先討論了多線程并發(fā)系統(tǒng)中的安全性與公平性問(wèn)題,指出安全性與公平性在并發(fā)系統(tǒng)中訪問(wèn)臨界資源時(shí)的重要性.并通過(guò)火車(chē)行駛單行隧道的實(shí)例,演示各種條件下的行駛情況來(lái)進(jìn)一步說(shuō)明該問(wèn)題.</p><p>  附:Java開(kāi)發(fā)工具JDK簡(jiǎn)介:Java開(kāi)發(fā)工具(JDK)是許多Java專(zhuān)家最初使用的開(kāi)發(fā)環(huán)境。盡管許多編程人員已經(jīng)使用第三方的開(kāi)發(fā)工具,但JDK仍被當(dāng)作Java開(kāi)發(fā)的重要工具。JD

27、K由一個(gè)標(biāo)準(zhǔn)類(lèi)庫(kù)和一組建立,測(cè)試及建立文檔的Java實(shí)用程序組成。其核心Java API是一些預(yù)定義的類(lèi)庫(kù),開(kāi)發(fā)人員需要用這些類(lèi)來(lái)訪問(wèn)Java語(yǔ)言的功能。Java API包括一些重要的語(yǔ)言結(jié)構(gòu)以及基本圖形,網(wǎng)絡(luò)和文件I/O。一般來(lái)說(shuō),Java API的非I/O部分對(duì)于運(yùn)行Java的所有平臺(tái)是相同的,而I/O部分則僅在通用Java環(huán)境中實(shí)現(xiàn)。</p><p>  2.2 后臺(tái)數(shù)據(jù)庫(kù)oracle與sql:</p

28、><p>  1、Oracle(甲骨文)公司</p><p>  1977年6月創(chuàng)辦(Software Development Laboratories,SDL)</p><p>  1979年,SDL 更名為Relational Software,Inc.,RSI</p><p>  1983年,RSI再次更名為ORACLE</p>

29、<p>  現(xiàn)為全球最大數(shù)據(jù)庫(kù)軟件及服務(wù)供應(yīng)商、全球第二大軟件供應(yīng)</p><p>  2、Oracle數(shù)據(jù)庫(kù)</p><p>  全球化、跨平臺(tái)的數(shù)據(jù)庫(kù)</p><p>  Oracle遵守?cái)?shù)據(jù)存取語(yǔ)言、操作系統(tǒng)、用戶(hù)接口和網(wǎng)絡(luò)通信協(xié)議的工業(yè)標(biāo)準(zhǔn)</p><p>  支持多用戶(hù)、高性能的事務(wù)處理</p><

30、p>  強(qiáng)大的安全性控制和完整性控制</p><p>  支持分布式數(shù)據(jù)庫(kù)和分布處理</p><p>  Oracle 9i 就是關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)能匯集各種信息以供查詢(xún)、存儲(chǔ)和檢索.Oracle數(shù)據(jù)庫(kù),全球化、跨平臺(tái)的數(shù)據(jù)庫(kù),Oracle遵守?cái)?shù)據(jù)存取語(yǔ)言、操作系統(tǒng)、用戶(hù)接口和網(wǎng)絡(luò)通信協(xié)議的工業(yè)標(biāo)準(zhǔn),支持多用戶(hù)、高性能的事務(wù)處理,強(qiáng)大的安全性控制和完整性控制,支持分布式數(shù)據(jù)庫(kù)

31、和分布處理.</p><p>  Java中數(shù)據(jù)庫(kù)的鏈接(JDBC),JDBC是由一組驅(qū)動(dòng)程序?qū)崿F(xiàn)的java接口,它由JDBC驅(qū)動(dòng)程序管理器為特定的數(shù)據(jù)庫(kù)選擇驅(qū)動(dòng)程序,處理JDBC的初始化調(diào)用,為每個(gè)驅(qū)動(dòng)程序提供JDBC功能接口。通過(guò)JDBC驅(qū)動(dòng)后,就可以與數(shù)據(jù)庫(kù)oracle鏈接了,客戶(hù)端可以輸入sql語(yǔ)句對(duì)數(shù)據(jù)庫(kù)里的數(shù)據(jù)進(jìn)行增加,刪除,查詢(xún),修改等操作,服務(wù)器端執(zhí)行相關(guān)的指令并返回其查詢(xún)的結(jié)果。</p&g

32、t;<p><b>  3、sql語(yǔ)言</b></p><p>  SQL(Structured Query Language) 意為結(jié)構(gòu)化查詢(xún)語(yǔ)言,是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢(xún)語(yǔ)言。它的主要功能就是同各種數(shù)據(jù)庫(kù)建立聯(lián)系,進(jìn)行溝通。ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))規(guī)定SQL是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。SQL語(yǔ)句可以用來(lái)執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)

33、、從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)等。SQL語(yǔ)言之所以能夠?yàn)橛脩?hù)和業(yè)界所接受,并成為國(guó)際標(biāo)準(zhǔn),是因?yàn)樗且粋€(gè)綜合的、功能極強(qiáng)同時(shí)又簡(jiǎn)捷易學(xué)的語(yǔ)言。SQL語(yǔ)言集數(shù)據(jù)查詢(xún)、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,主要特點(diǎn)包括:</p><p><b>  1、綜合統(tǒng)一</b></p><p>  非關(guān)系模型的數(shù)據(jù)語(yǔ)言一般都分為模式數(shù)據(jù)定義語(yǔ)言(模式DDL)、外模式數(shù)據(jù)定義語(yǔ)言(外模式D

34、DL)、與數(shù)據(jù)存儲(chǔ)有關(guān)的描述語(yǔ)言(DSDL)及數(shù)據(jù)操縱語(yǔ)言(DML),分別用于定義模式、外模式、內(nèi)模式和進(jìn)行數(shù)據(jù)的存取與處置。當(dāng)用戶(hù)數(shù)據(jù)庫(kù)投入運(yùn)行后,如果需要修改模式,必須停止現(xiàn)有的數(shù)據(jù)庫(kù)的運(yùn)行,轉(zhuǎn)儲(chǔ)數(shù)據(jù),修改模式并編譯后再重裝數(shù)據(jù)庫(kù),十分麻煩。SQL語(yǔ)言則集數(shù)據(jù)定義語(yǔ)言DDL、數(shù)據(jù)操縱語(yǔ)言DML、數(shù)據(jù)控制語(yǔ)言DCL的功能于一體,語(yǔ)言風(fēng)格統(tǒng)一,可以獨(dú)立完成數(shù)據(jù)庫(kù)生命周期中的全部活動(dòng),包括定義關(guān)系模式、建立數(shù)據(jù)庫(kù)、插入數(shù)據(jù)、查詢(xún)、更新、維

35、護(hù)、數(shù)據(jù)庫(kù)重構(gòu)、數(shù)據(jù)庫(kù)安全性控制等一系列操作要求,這就為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)提供了良好的環(huán)境。用戶(hù)在數(shù)據(jù)庫(kù)系統(tǒng)投入運(yùn)行后,還可根據(jù)需要隨時(shí)地逐步地修改模式,且并不影響數(shù)據(jù)庫(kù)的運(yùn)行,從而使系統(tǒng)具有良好的可擴(kuò)展性。另外,在關(guān)系模式中實(shí)體和實(shí)體的聯(lián)系均用關(guān)系表示,這種數(shù)據(jù)結(jié)構(gòu)的單一性帶來(lái)了數(shù)據(jù)操作符的統(tǒng)一,從而克服了非關(guān)系系統(tǒng)由于信息表示方式的多樣性帶來(lái)的操作復(fù)雜性。</p><p><b>  2、高度非過(guò)

36、程化</b></p><p>  非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語(yǔ)言是面向過(guò)程的語(yǔ)言,用其完成某項(xiàng)請(qǐng)求必須指定存取路徑。而用SQL語(yǔ)言進(jìn)行數(shù)據(jù)操作,只要提出“做什么”,而無(wú)須指明“怎么做”,因此無(wú)須了解存取路徑,存取路徑的選擇以及SQL語(yǔ)言句的操作過(guò)程由系統(tǒng)自動(dòng)完成。這不但大大減輕了用戶(hù)負(fù)擔(dān),而且有利于提高數(shù)據(jù)獨(dú)立性。</p><p>  3、面向集合的操作方式</p>

37、<p>  非關(guān)系數(shù)據(jù)模型采用的是面向記錄的操作方式,操作對(duì)象是一條記錄。而SQL語(yǔ)言采用集合操作方式,不僅操作對(duì)象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可以是元組的集合。</p><p>  4、以同一種語(yǔ)法結(jié)構(gòu)提供兩種使用方式</p><p>  SQL語(yǔ)言既是自含式語(yǔ)言,又是嵌入式語(yǔ)言。作為自含式語(yǔ)言,他能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式,用戶(hù)何以

38、在終端鍵盤(pán)上直接鍵入SQL命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作;作為嵌入式語(yǔ)言,SQL語(yǔ)句能夠嵌入到高級(jí)語(yǔ)言中,供程序員設(shè)計(jì)程序時(shí)使用。而在兩種不同的使用方式下,SQL語(yǔ)言的語(yǔ)法結(jié)構(gòu)基本上是一致的。</p><p>  5、語(yǔ)言簡(jiǎn)捷,易學(xué)易用</p><p>  SQL語(yǔ)言功能極強(qiáng),但由于設(shè)計(jì)巧妙,語(yǔ)言十分簡(jiǎn)捷,完成核心功能只用了9個(gè)動(dòng)詞,SQL語(yǔ)言接近英語(yǔ)口語(yǔ),因此容易學(xué)習(xí),容易使用。</p>

39、;<p><b>  2.3 Jsp簡(jiǎn)介</b></p><p>  JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類(lèi)似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.

40、jsp)。 用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。</p><p>  Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶(hù)。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。 JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶(hù)端的就是一個(gè)H

41、TML文本,因此客戶(hù)端只要有瀏覽器就能瀏覽。</p><p>  2.4 servlet </p><p>  Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁(yè)面。 它擔(dān)當(dāng)客戶(hù)請(qǐng)求(Web瀏覽器或其他HTTP客戶(hù)程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序)的中間層。 Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用

42、程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。本系統(tǒng)中用的就是Tomcat服務(wù)器。</p><p>  2.5 JavaScript</p><p>  JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶(hù)端腳本語(yǔ)言。</p><p>  JavaScr

43、ipt 的優(yōu)點(diǎn):JavaScript 使網(wǎng)頁(yè)增加互動(dòng)性。JavaScript 使有規(guī)律地重復(fù)的HTML文段簡(jiǎn)化,減少下載時(shí)間。JavaScript 能及時(shí)響應(yīng)用戶(hù)的操作,對(duì)提交表單做即時(shí)的檢查,無(wú)需浪費(fèi)時(shí)間交由 CGI 驗(yàn)證。JavaScript 的特點(diǎn)是無(wú)窮無(wú)盡的,只要你有創(chuàng)意。 </p><p>  JavaScript程序是純文本的,且不需要編譯,所以任何純文本的編輯器都可以編輯JavaScript文件。&

44、lt;/p><p>  2.6 相關(guān)術(shù)語(yǔ)的解釋</p><p>  列出本報(bào)告中用到的專(zhuān)門(mén)術(shù)語(yǔ)的定義和外文首字母組詞的原詞組。</p><p><b>  第三章 系統(tǒng)分析</b></p><p>  3.1 系統(tǒng)可行性分析</p><p>  可行性研究是為了弄清楚系統(tǒng)開(kāi)發(fā)的項(xiàng)目是不是可以實(shí)現(xiàn)和值得

45、進(jìn)行研究的過(guò)程,實(shí)際上是一次大大簡(jiǎn)化系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的過(guò)程,所以,進(jìn)行可執(zhí)行性的分析是非常必要的,也是很重要的,經(jīng)過(guò)最初的設(shè)計(jì)目標(biāo)和進(jìn)行的市場(chǎng)調(diào)查得出以下四點(diǎn)的可行性分析:</p><p>  3.1.1.經(jīng)濟(jì)可行性:</p><p>  該系統(tǒng)開(kāi)發(fā)需求的比較低,加上具有成熟的軟硬件環(huán)境,所以在軟硬件的支出上十分有限。而且,目標(biāo)系統(tǒng)不是很復(fù)雜,開(kāi)發(fā)的周期較短,人員經(jīng)濟(jì)支出不大。當(dāng)系統(tǒng)實(shí)際

46、投入運(yùn)行后,它打破了傳統(tǒng)的銷(xiāo)售模式,極大限度的方便了用戶(hù),也為系統(tǒng)的進(jìn)一步推廣創(chuàng)造了條件。而傳統(tǒng)的銷(xiāo)售運(yùn)營(yíng)過(guò)程中,產(chǎn)品的的宣傳受到限制,采購(gòu)商或顧客只能通過(guò)上門(mén)咨詢(xún),電話溝通等方式進(jìn)行各種產(chǎn)品信息的獲取,而且時(shí)間與物理的局限性嚴(yán)重影響了產(chǎn)品的銷(xiāo)售,并且在無(wú)形中提高了產(chǎn)品的銷(xiāo)售成本。本家電銷(xiāo)售系統(tǒng)完全可以改變這種現(xiàn)狀,以少量的時(shí)間和資金建立起企業(yè)商務(wù)網(wǎng)絡(luò),以此來(lái)使企業(yè)與消費(fèi)者之間的經(jīng)濟(jì)運(yùn)動(dòng)更加靈活,更加主動(dòng)。這種投資在長(zhǎng)遠(yuǎn)的來(lái)看,非常適合

47、企業(yè)的發(fā)展。這帶來(lái)的經(jīng)濟(jì)回報(bào)將遠(yuǎn)超過(guò)投入,以從經(jīng)濟(jì)角度來(lái)講,此系統(tǒng)可行。</p><p>  3.1.2.技術(shù)可行性:</p><p>  開(kāi)發(fā)工具M(jìn)yEclipse和tomcat他們都是免費(fèi)的,且技術(shù)成熟,大大縮短了開(kāi)發(fā)的周期。前臺(tái)頁(yè)面html超文本標(biāo)記語(yǔ)言,jsp代碼、JavaScript等簡(jiǎn)單易學(xué)的腳本語(yǔ)言,加仿struts的框架,即可快速地完成系統(tǒng)的應(yīng)用程序。容易編寫(xiě),可在服務(wù)器端

48、快速執(zhí)行。使用普通的記事本既可以進(jìn)行編輯設(shè)計(jì)。使用的數(shù)據(jù)庫(kù)Oracle 9i Server容易獲得,且技術(shù)方面可以較快學(xué)得到。以此看來(lái)本系統(tǒng)用到的開(kāi)發(fā)工具和環(huán)境在實(shí)際的開(kāi)發(fā)中廣泛用于,所以說(shuō)明本系統(tǒng)在技術(shù)方面可以。</p><p>  3.1.3操作可行性:</p><p>  該系統(tǒng)既有簡(jiǎn)潔的操作界面,可以使用戶(hù)操作方便。該系統(tǒng)是基于WEB的,以網(wǎng)頁(yè)形式展現(xiàn)在用戶(hù)的面前。采用的是B/S結(jié)

49、構(gòu)的設(shè)計(jì),只要是懂得上網(wǎng)瀏覽網(wǎng)頁(yè),對(duì)計(jì)算機(jī)的正常操作了解的人都可以對(duì)該系統(tǒng)進(jìn)行操作。本系統(tǒng)盡力為用戶(hù)著想,因而該系統(tǒng)是方便可操作的。而且,對(duì)于網(wǎng)站的維護(hù)也是十分方便的,管理員可以在任何一臺(tái)機(jī)器上,只要能連網(wǎng)就能夠?qū)ο到y(tǒng)進(jìn)行維護(hù)。不管從用戶(hù)角度,還是從管理員角度,本系統(tǒng)都是非常便于操作的。</p><p>  3.1.4法律可行性:</p><p>  即該平臺(tái)的開(kāi)發(fā)會(huì)不會(huì)在社會(huì)上引起侵權(quán)或

50、其它責(zé)任問(wèn)題。因?yàn)樵撈脚_(tái)是作為畢業(yè)設(shè)計(jì)與商業(yè)無(wú)關(guān),又因?yàn)槭亲灾鏖_(kāi)發(fā)設(shè)計(jì),因此不會(huì)構(gòu)成侵權(quán),在法律上是可行的。</p><p>  通過(guò)以上的可行性分析,我將采用JSP+JavaScript+html+ajax技術(shù),運(yùn)用Oracle 9i Server數(shù)據(jù)庫(kù)對(duì)網(wǎng)站進(jìn)行建設(shè),使用仿struts的框架,把應(yīng)用程序部署在tomcat服務(wù)器上,方便用戶(hù)和管理員操作。</p><p>  3.2 環(huán)境

51、需求分析</p><p>  此系統(tǒng)是基于WEB瀏覽器的系統(tǒng)網(wǎng)站開(kāi)發(fā),后臺(tái)數(shù)據(jù)庫(kù)采用 Oracle 9i,前端使用JSP環(huán)境進(jìn)行開(kāi)發(fā),開(kāi)發(fā)工具為MyEclipse6.5,編程語(yǔ)言為Java,網(wǎng)頁(yè)開(kāi)發(fā)工具為DREAMWARE。</p><p>  運(yùn)行環(huán)境配置從硬件和軟件兩方面來(lái)描述,所列出的都是系統(tǒng)所能正常運(yùn)行的最低限度。而更高的硬件配置和軟件環(huán)境將會(huì)帶來(lái)更快的運(yùn)行速度以及更穩(wěn)定的運(yùn)行效果

52、。</p><p>  3.2.1硬件要求:</p><p>  CPU:Intel Pentium III 600 MHz(最好Intel Pentium III 600 MHz 以上)。</p><p>  內(nèi)存:1GB(最好1 GB以上)。</p><p>  磁盤(pán)空間:160GB(完全安裝,包括MyEclipse 以及jdk全部開(kāi)發(fā)工

53、具和tomcat,,DreamWare8,WebZip網(wǎng)頁(yè)制作工具);</p><p>  顯示:800×600,256色。</p><p>  CD-ROM:必需。</p><p>  3.2.2軟件要求:</p><p><b>  客戶(hù)端軟件:</b></p><p>  Micr

54、osoft Windows xp。</p><p>  Microsoft Internet Explorer 7(目前最新為9.0版本)。</p><p><b>  數(shù)據(jù)庫(kù)服務(wù)器軟件:</b></p><p>  Oracle9i或更高版本</p><p>  Pl_sql 8.0。</p><p

55、><b>  Web服務(wù)器</b></p><p>  Tomcat5.5或6.0更高的版本</p><p><b>  開(kāi)發(fā)軟件:</b></p><p>  Dreamweaver8或更高版本,JDK1.4或更高版本,MyEclipse6.0或更高版本。</p><p>  3.3 功能模

56、塊分析</p><p>  本平臺(tái)利用現(xiàn)在比較廣泛的JSP+ Oracle 9i Server數(shù)據(jù)庫(kù)的架構(gòu)實(shí)現(xiàn)的,進(jìn)行系統(tǒng)分析,為將來(lái)進(jìn)一步的實(shí)施打下一個(gè)堅(jiān)實(shí)的技術(shù)基礎(chǔ)。本平臺(tái)將投入到實(shí)際的試運(yùn)行之中,進(jìn)行測(cè)試,如果測(cè)試滿(mǎn)意的話,將進(jìn)行平臺(tái)的完善開(kāi)發(fā),從而實(shí)現(xiàn)信息化,規(guī)范化,系統(tǒng)化,網(wǎng)絡(luò)化的平臺(tái),具有較好的適應(yīng)性和推廣性。</p><p>  此系統(tǒng)分為前臺(tái)管理和后臺(tái)管理。前臺(tái)管理是友好的

57、操作界面,供用戶(hù)瀏覽、查詢(xún)使用。包括:瀏覽商品、查詢(xún)商品、評(píng)價(jià)商品,訂購(gòu)商品、購(gòu)物車(chē)、用戶(hù)維護(hù),論壇等功能;后臺(tái)管理是提供給管理員的,其中包括:商品管理、用戶(hù)管理,論壇管理等。使管理員從繁瑣的手工操作中解脫出來(lái),并提高了辦公效率。</p><p><b>  3.3.1系統(tǒng)流程</b></p><p>  系統(tǒng)大致的流程如下:</p><p>

58、  3.3.2 模塊分析</p><p>  在線家電商城重要完成的功能如下:</p><p>  用戶(hù)管理模塊、商品信息模塊、導(dǎo)航分類(lèi)檢索模塊、購(gòu)物車(chē)功能,訂單管理模塊、論壇管理</p><p><b> ?。?)用戶(hù)管理模塊</b></p><p>  管理用戶(hù)登錄、用戶(hù)注冊(cè)和用戶(hù)修改等用戶(hù)信息的基本功能。</

59、p><p><b>  (2)商品信息模塊</b></p><p>  陳列產(chǎn)品的詳細(xì)信息,添加商品,修改商品。</p><p> ?。?)導(dǎo)航分類(lèi)檢索模塊</p><p>  按不同分類(lèi)和不同應(yīng)用導(dǎo)航產(chǎn)品,把相關(guān)產(chǎn)品列出,也提供了按不同品牌檢索商品,按商品類(lèi)別的漢語(yǔ)簡(jiǎn)拼檢索商品。</p><p> 

60、?。?)購(gòu)物車(chē)處理模塊</p><p>  通過(guò)HttpSession技術(shù)實(shí)現(xiàn)購(gòu)物車(chē)。用戶(hù)選者產(chǎn)品后,點(diǎn)擊“購(gòu)買(mǎi)”進(jìn)入購(gòu)物頁(yè)面,陳列要購(gòu)買(mǎi)的產(chǎn)品明細(xì)項(xiàng)。</p><p><b>  (5)訂單管理模塊</b></p><p>  用戶(hù)選擇產(chǎn)品完畢,通過(guò)購(gòu)物頁(yè)面到訂單結(jié)帳頁(yè)面,填寫(xiě)必要的信息,產(chǎn)生最終訂單;還提供訂單查詢(xún)功能。</p>

61、<p><b>  (6)論壇模塊</b></p><p>  注冊(cè)用戶(hù)可以發(fā)帖,跟帖,等簡(jiǎn)單的論壇功能</p><p>  3.4 系統(tǒng)角色定義</p><p>  第四章 系統(tǒng)概要設(shè)計(jì)</p><p>  4.1系統(tǒng)總體模塊體系圖</p><p><b>  4.2前臺(tái)

62、功能模塊</b></p><p>  通過(guò)對(duì)用戶(hù)需求的分析,可以分析出該網(wǎng)上購(gòu)物系統(tǒng)大致可以把前臺(tái)分為四個(gè)模塊:商品瀏覽模塊、論壇模塊、會(huì)員個(gè)人管理中心模塊,會(huì)員登錄注冊(cè)模塊。</p><p>  4.2.1.商品瀏覽模塊</p><p>  通過(guò)商品的名稱(chēng)進(jìn)行查詢(xún),可以更快的得到自己所查的商品資料,可以根據(jù)商品的類(lèi)別,品牌瀏覽商品。</p>

63、<p><b>  商品瀏覽模塊:</b></p><p>  4.2.2 個(gè)人管理中心</p><p>  會(huì)員的個(gè)人管理中心大體可以劃分為會(huì)員自己資料維護(hù),購(gòu)物車(chē)管理,訂單查詢(xún),商品評(píng)價(jià)與收藏</p><p><b>  管理。</b></p><p><b>  購(gòu)物車(chē)

64、:</b></p><p><b>  訂單查詢(xún):</b></p><p><b>  會(huì)員信息維護(hù):</b></p><p><b>  商品評(píng)價(jià):</b></p><p><b>  商品收藏:</b></p><p&g

65、t;<b>  4.2.3論壇模塊</b></p><p>  會(huì)員可以根據(jù)模塊瀏覽已存的帖子,發(fā)帖,回帖。</p><p><b>  瀏覽帖子:</b></p><p><b>  發(fā)帖:</b></p><p><b>  回帖:</b></p

66、><p>  4.2.4會(huì)員注冊(cè)與登錄模塊</p><p><b>  會(huì)員注冊(cè)模塊:</b></p><p><b>  會(huì)員登錄模塊:</b></p><p><b>  4.3后臺(tái)功能模塊</b></p><p>  根據(jù)用戶(hù)需求分析,后臺(tái)分為四個(gè)模塊

67、:商品管理模塊,用戶(hù)管理模塊,論壇管理模塊,訂單管理模塊。</p><p>  4.2.1 用戶(hù)管理模塊:</p><p><b>  顯示用戶(hù):</b></p><p><b>  修改、添加用戶(hù):</b></p><p>  4.2.2商品模塊:</p><p><

68、b>  商品添加、修改:</b></p><p><b>  商品查詢(xún):</b></p><p>  4.2.3 訂單模塊:</p><p><b>  訂單查詢(xún):</b></p><p><b>  訂單處理:</b></p><p>

69、;  4.2.4 論壇管理模塊:</p><p><b>  瀏覽帖子:</b></p><p><b>  帖子刪除:</b></p><p><b>  4.4數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  4.4.1 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)</p><p>  

70、通過(guò)上述系統(tǒng)功能分析,針對(duì)一般的家電商城的需求,包括如下數(shù)據(jù)表。</p><p><b>  數(shù)據(jù)庫(kù)的表清單:</b></p><p>  用戶(hù)表:(用戶(hù)名(登錄時(shí)用的姓名或賬號(hào)),密碼,網(wǎng)名或昵稱(chēng),頭像,個(gè)性簽名,用戶(hù)姓名, 性別,證件類(lèi)型,號(hào)碼,出生年月,主頁(yè),個(gè)人簡(jiǎn)介,郵箱,電話號(hào)碼,類(lèi)型);</p><p>  訂單表:(訂單Id,訂貨

71、人,訂貨人電話,訂單日期,收貨人名字,郵政編碼,郵箱,地址,收貨人電話,總金額,狀態(tài));</p><p>  訂單商品信息表(訂單Id,商品id,訂單數(shù)量);</p><p>  商品表(商品id,商品名,主圖路經(jīng),副圖路勁,家電類(lèi)別,商品類(lèi)別,品牌,商品參數(shù),</p><p>  商品特點(diǎn),使用注意事項(xiàng),總數(shù)量(某種商品的總數(shù)量),市場(chǎng)價(jià),會(huì)員售價(jià));</p

72、><p>  收藏表(收藏id,用戶(hù)ID, 商品Id,時(shí)間);</p><p>  商品評(píng)價(jià)表(用戶(hù)id,商品id,時(shí)間,等級(jí),評(píng)價(jià)內(nèi)容);</p><p>  論壇:(發(fā)帖id,發(fā)帖主題,用戶(hù)Id,發(fā)帖時(shí)間,發(fā)帖內(nèi)容id,所屬板塊);</p><p>  貼子(回帖id,發(fā)帖主題,回復(fù)內(nèi)容id,用戶(hù)id,回帖時(shí)間,所屬板塊);</p>

73、;<p>  4.4.2 數(shù)據(jù)庫(kù)的物理設(shè)計(jì)(數(shù)據(jù)模型)</p><p>  4.4.3 通過(guò)plsql developer 8.0建表的腳本語(yǔ)句例子</p><p>  創(chuàng)建用戶(hù)信息表(USER_INFO USI)</p><p>  CREATE TABLE USER_INFO(</p><p>  USER_ID VARCH

74、AR2(10), --用戶(hù)ID,登錄時(shí)的用戶(hù)名或賬號(hào) </p><p>  PASSWORD VARCHAR2(16) NOT NULL, --用戶(hù)密碼</p><p>  NAME VARCHAR2(48) , -- 用戶(hù)真實(shí)姓名</p><p>  user_name VARCHAR2(48) , -- 昵稱(chēng)或網(wǎng)名</p><p>  s

75、ign VARCHAR2(48) , -- 個(gè)性簽名</p><p>  info VARCHAR2(200) , -- 個(gè)人簡(jiǎn)介</p><p>  SEX VARCHAR2(2), --用戶(hù)性別</p><p>  USER_IMG VARCHAR2(50), --用戶(hù)頭像</p><p>  id_number VARCHAR2(20)

76、, --證件號(hào)碼</p><p>  id_type VARCHAR2(32), --證件類(lèi)型</p><p>  email VARCHAR2(32), --郵箱</p><p>  user_type VARCHAR2(1), --用戶(hù)類(lèi)型</p><p>  TELEPHONE VARCHAR2(12), --電話號(hào)碼</p&

77、gt;<p>  user_page VARCHAR2(20), --主頁(yè)</p><p>  CONSTRAINTS USI_fk_USID PRIMARY KEY( USER_ID),--定義主鍵</p><p>  CONSTRAINTS USI_CK_SEX CHECK(SEX = '男' OR SEX = '女')—定義約束</

78、p><p><b>  );</b></p><p>  第五章 系統(tǒng)詳細(xì)設(shè)計(jì)</p><p><b>  5.1前臺(tái)界面設(shè)計(jì)</b></p><p>  5.1.1 系統(tǒng)首頁(yè)</p><p>  5.1.2 會(huì)員登錄頁(yè)面</p><p>  5.1.3

79、用戶(hù)注冊(cè)頁(yè)面</p><p>  5.1.4會(huì)員管理中心</p><p><b>  5.1.5論壇首頁(yè)</b></p><p>  5.1.6 購(gòu)物車(chē)頁(yè)面</p><p>  5.1.7 商品顯示頁(yè)面</p><p>  5.1.8 商品評(píng)價(jià)頁(yè)面</p><p>  5.

80、2 后臺(tái)管理設(shè)計(jì)</p><p>  5.2.1用戶(hù)管理后臺(tái)頁(yè)面</p><p>  5.2.2商品管理后臺(tái)頁(yè)面</p><p>  5.2.3訂單管理后臺(tái)頁(yè)面</p><p>  5.2.4論壇管理后臺(tái)頁(yè)面</p><p>  第六章 編碼、系統(tǒng)測(cè)試與調(diào)試 <

81、/p><p>  6.1. 編碼與實(shí)現(xiàn)</p><p>  本系統(tǒng)采用JSP+action +JavaBean+Database的4層架構(gòu)。</p><p>  JSP負(fù)責(zé)表現(xiàn),action負(fù)責(zé)控制系統(tǒng)流程,JavaBean負(fù)責(zé)業(yè)務(wù)邏輯,Database負(fù)責(zé)持久保持?jǐn)?shù)據(jù)。</p><p>  三層架構(gòu)(3-tier application) 通常

82、意義上的三層架構(gòu)就是將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問(wèn)層(DAL)。區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想。 ?。?、表現(xiàn)層(UI):通俗講就是展現(xiàn)給用戶(hù)的界面,即用戶(hù)在使用一個(gè)系統(tǒng)的時(shí)候他的所見(jiàn)所得。</p><p>  2、控制層(Controller):  3、業(yè)務(wù)邏輯層(BLL):針對(duì)具體問(wèn)題的操作,也可以說(shuō)是對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理?! ?、數(shù)據(jù)訪問(wèn)

83、層(DAL):該層所做事務(wù)直接操作數(shù)據(jù)庫(kù),針對(duì)數(shù)據(jù)的增添、刪除、修改、更新、查找等。</p><p>  6.1.1 包結(jié)構(gòu)約定</p><p>  主要包和內(nèi)容:(包名一律小寫(xiě),方便識(shí)別和書(shū)寫(xiě))</p><p>  Action:控制器實(shí)現(xiàn)類(lèi),就是通過(guò)給包下的類(lèi)和接口實(shí)現(xiàn)仿Struts1的</p><p>  service:業(yè)務(wù)邏輯層,放

84、所有業(yè)務(wù)邏輯處理代碼</p><p>  control:管理層,放所有的action代碼</p><p>  vo:數(shù)據(jù)層,(VO:value object值對(duì)象)用于數(shù)據(jù)交互</p><p>  common:公共代碼層,放全組共用的公共代碼,必須是工具類(lèi)(所有public 方法都是靜態(tài)方法,即工具方法)</p><p> 

85、 dao:數(shù)據(jù)庫(kù)層,與數(shù)據(jù)庫(kù)連通,是項(xiàng)目與數(shù)據(jù)庫(kù)的通道,與數(shù)據(jù)庫(kù)做交互</p><p>  mapping:實(shí)現(xiàn)struts1中的ActionMapping類(lèi)。</p><p><b>  log:日志管理。</b></p><p>  6.1.2 前臺(tái)頁(yè)面編碼UI(以用戶(hù)注冊(cè)為例)</p><p>  // 。。。。。

86、。舍略的代碼</p><p>  <!-- 會(huì)員注冊(cè) --></p><p>  <div id='pdv_1454' class='pdv_class' title='會(huì)員注冊(cè)'</p><p><b>  會(huì)員注冊(cè)</b></p><p><b&

87、gt;  </div></b></p><p>  <div class="row"></p><p>  <div class="left"></p><p><b>  會(huì)員類(lèi)型:</b></p><p>  <select

88、 id="membertypeid" name="membertypeid"></p><p>  <option value='1></p><p><b>  普通會(huì)員</b></p><p><b>  </option></b></

89、p><p>  <option value='2></p><p>  后臺(tái)管理人員 </option></p><p><b>  </select></b></p><p><b>  </div></b></p><

90、p><b>  </div></b></p><p>  <div class="row"></p><p>  <div class="left"></p><p><b>  登錄賬號(hào):</b></p><p>&

91、lt;b>  </div></b></p><p>  <div class="mustfill"></p><p><b>  *</b></p><p><b>  </div></b></p><p>  <div

92、 class="con"></p><p>  <input type="text" id="userId" name="userId" class="input" onblur="validateUserId( this.value );"</p><p>

93、  style="width: 200px" value="" /></p><p><b>  </div></b></p><p><b>  </div></b></p><p>  <div class="row">

94、;</p><p>  <div class="left"></p><p><b>  登錄密碼:</b></p><p><b>  </div></b></p><p>  <div class="mustfill">

95、</p><p><b>  *</b></p><p><b>  </div></b></p><p>  <div class="con"></p><p>  <input id="password" type="

96、;password" name="password"</p><p>  style="width: 200px" class="input" onblur="validatePassword(this.value)" /></p><p><b>  </div><

97、/b></p><p><b>  </div></b></p><p>  <div class="row"></p><p>  <div class="left"></p><p><b>  重復(fù)密碼:</b>

98、</p><p><b>  </div></b></p><p>  <div class="mustfill"></p><p><b>  *</b></p><p><b>  </div></b></p&g

99、t;<p>  <div class="con"></p><p>  <input id="repass" type="password" name="repass"</p><p>  class="input" style="width: 20

100、0px" onblur="validateRepass(this.value)" /></p><p><b>  </div></b></p><p><b>  </div></b></p><p>  <div class="row"

101、;></p><p>  <div class="left"></p><p><b>  電子郵件:</b></p><p><b>  </div></b></p><p>  <div class="mustfill"

102、></p><p><b>  *</b></p><p><b>  </div></b></p><p>  <div class="con"></p><p>  <input id="email" type=&quo

103、t;text" name="email" class="input"</p><p>  onblur="validateEmail(this.value)" style="width: 200px" /></p><p><b>  </div></b><

104、;/p><p><b>  </div></b></p><p>  <div class="row"></p><p>  <div class="left"></p><p><b>  驗(yàn) 證 碼:</b></p&g

105、t;<p><b>  </div></b></p><p>  <div class="mustfill"></p><p><b>  *</b></p><p><b>  </div></b></p><

106、p>  <div class="con"></p><p>  <table border="0" cellspacing="0" cellpadding="1"></p><p><b>  <tr></b></p><p&g

107、t;<b>  <td></b></p><p>  <input id="ImgCode" type='text' name='ImgCode' onblur="validateImgCode(this.value)"</p><p>  style='width: 5

108、0px' maxlength="4 " class="input" /></p><p><b>  </td></b></p><p><b>  <td></b></p><p>  <img id="codeimg"

109、;</p><p>  src='ImageCode'</p><p>  width='50' height='20'</p><p>  style='border: 1px #dddddd solid; cursor: pointer' /></p><p><

110、b>  </td></b></p><p><b>  <td></b></p><p>  <span id="getImgCode"</p><p>  style="cursor: pointer; margin-left: 5px;">看不清?

111、更換一張</span></p><p><b>  </td></b></p><p><b>  </tr></b></p><p><b>  </table></b></p><p><b>  </div&

112、gt;</b></p><p><b>  </div></b></p><p>  <div class="row" style="margin: 10px 0px"></p><p>  <div class="left"></

113、div></p><p>  <div class="mustfill"></div></p><p>  <div class="con"></p><p>  <input id="tijiao" type="button" valu

114、e="下一步" onclick="tijiao1();"</p><p><b>  /></b></p><p><b>  <br><br></b></p><p><b>  <script ></b></p

115、><p>  // 判斷用戶(hù)是否存在</p><p>  function validateUserId(value){</p><p>  var pattern=/^(\w){5,20}$/;</p><p>  var flag= pattern.test(value);</p><p>  if( flag )

116、{</p><p>  return true;</p><p><b>  }</b></p><p>  return false ;</p><p><b>  }</b></p><p>  function validatePassword(value){</

117、p><p>  var pattern=/^(\w){5,20}$/;</p><p>  var flag= pattern.test(value);</p><p>  if( flag ){</p><p>  return true;</p><p><b>  }</b></p>

118、;<p>  return false ;</p><p><b>  }</b></p><p>  function validateRepass(value){</p><p>  var pattern=/^(\w){5,20}$/;</p><p>  var flag= pattern.test

119、(value);</p><p>  if( flag ){</p><p>  var pass = document.getElementById("password").value;</p><p>  if(value == pass){</p><p>  return true;</p><

120、;p><b>  }else{</b></p><p>  return false ;</p><p><b>  }</b></p><p><b>  }</b></p><p>  return false ;</p><p><b&

121、gt;  }</b></p><p>  function validateEmail(value){</p><p>  var pattern=/^\w{5,10}[@]\w{2,5}[.]\w{2,5}$/;</p><p>  var flag= pattern.test(value);</p><p>  if( fla

122、g ){</p><p>  return true;</p><p><b>  }</b></p><p>  return false ;</p><p><b>  }</b></p><p>  var XMLHttp;//變量</p><p&

123、gt;  //創(chuàng)建XMLHttp對(duì)像</p><p>  function createXMLHttp(){</p><p><b>  //非IE瀏覽器</b></p><p>  if( window.XMLHttpRequest ){</p><p>  XMLHttp = new XMLHttpRequest()

124、;</p><p>  }else if( window.ActiveXObject ){//IE瀏覽器</p><p>  XMLHttp = new ActiveXObject( "Microsoft.XMLHttp" );</p><p><b>  }</b></p><p><b>

125、;  }</b></p><p>  function validateImgCode(value){</p><p>  if(value == "") return false;</p><p>  //獲取XMLHttp對(duì)像</p><p>  createXMLHttp();</p>&l

126、t;p>  // 要請(qǐng)求服務(wù)器的URL</p><p>  var url = "ansy?imagecode="+value;</p><p>  XMLHttp.open("get",url,true);</p><p>  var flag = false;</p><p>  XMLHtt

127、p.onreadystatechange = function(){</p><p>  if( XMLHttp.readyState == 4 && XMLHttp.status == 200 ){</p><p>  if( XMLHttp.responseText == 1 ){//用戶(hù)名可用</p><p>  flag = true;<

128、;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  XMLHttp.send( null );</p><p>  return flag;</p><

129、;p><b>  }</b></p><p>  // 驗(yàn)證成功提交代碼。</p><p>  function tijiao1(){</p><p>  var id = validateUserId (document.getElementById( "userId" ).value ) ;</p>

130、<p>  var password = validatePassword(document.getElementById( "password" ).value ) ;</p><p>  var repass = validateRepass(document.getElementById( "repass" ).value ) ;</p>&l

溫馨提示

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

評(píng)論

0/150

提交評(píng)論