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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  網(wǎng)站建設(shè)技術(shù)課程設(shè)計(jì)</p><p>  學(xué) 院 、 系: 信息工程學(xué)院 </p><p>  專 業(yè): 信息管理與信息系統(tǒng) </p><p>  姓  名: </p><p>  學(xué)  號(hào):

2、 </p><p>  指 導(dǎo) 教 師: </p><p>  成 績(jī): </p><p>  2016年06月27日</p><p><b>  目錄</b></p><p>  一、

3、電子商務(wù)網(wǎng)站設(shè)計(jì)模式2</p><p>  1.1 MVC設(shè)計(jì)模式的概述2</p><p>  1.2電子商務(wù)網(wǎng)站應(yīng)用技術(shù)及系統(tǒng)框架的介紹4</p><p>  1.3系統(tǒng)的軟件開發(fā)工具5</p><p>  二、電子商務(wù)網(wǎng)站的需求分析與功能設(shè)計(jì)6</p><p>  2.1 系統(tǒng)的需求分析6</p&

4、gt;<p>  三、電子商務(wù)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)7</p><p>  3.1 電子商務(wù)網(wǎng)站數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)7</p><p>  3.1.1 數(shù)據(jù)庫(kù)的簡(jiǎn)介7</p><p>  3.1.2 數(shù)據(jù)庫(kù)的需求分析7</p><p>  3.1.3 數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)8</p><p>  3.2 數(shù)據(jù)持

5、久層的設(shè)計(jì)與實(shí)現(xiàn)8</p><p>  3.3 業(yè)務(wù)邏輯層的設(shè)計(jì)與實(shí)現(xiàn)9</p><p>  3.4 控制器的設(shè)計(jì)與實(shí)現(xiàn)9</p><p>  3.5 視圖層的實(shí)現(xiàn)12</p><p><b>  總結(jié)15</b></p><p><b>  參考文獻(xiàn)16</b>

6、</p><p>  一、電子商務(wù)網(wǎng)站設(shè)計(jì)模式</p><p>  1.1 MVC設(shè)計(jì)模式的概述</p><p>  MVC是一種設(shè)計(jì)模式,它強(qiáng)制性的將應(yīng)用程序的輸入、處理和輸出分開。使用MVC的應(yīng)用程序被分為3個(gè)核心部件:模型(Model)、視圖(View)、控制器(Controller)。它們各司其職,既分工明確又相互協(xié)作。</p><p&g

7、t;  MVC設(shè)計(jì)模式的典型流程[3][4]為:首先Controller接收用戶的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)Model來(lái)進(jìn)行處理,然后Model用業(yè)務(wù)邏輯來(lái)處理用戶的請(qǐng)求并返回?cái)?shù)據(jù),最后Controller用相應(yīng)的View格式化Model返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。</p><p>  具體的關(guān)系如圖1.1所示。</p><p>  圖1·1 模型、視圖、控制器之間的分工協(xié)

8、作關(guān)系</p><p>  控制層(Controller)可以理解為從用戶接收請(qǐng)求,將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴我們,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請(qǐng)求。控制層并不做任何的數(shù)據(jù)處理。控制層的功能為:接受用戶的請(qǐng)求,根據(jù)用戶的請(qǐng)求調(diào)用某個(gè)模型進(jìn)行業(yè)務(wù)處理,將處理結(jié)果送給某個(gè)視圖進(jìn)行顯示。</p><

9、p>  模型層(Model)就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對(duì)其它層來(lái)說(shuō)是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。它的作用是反映整個(gè)應(yīng)用程序的狀態(tài),對(duì)用戶請(qǐng)求進(jìn)行業(yè)務(wù)邏輯處理,響應(yīng)狀態(tài)查詢,通知視圖并更新業(yè)務(wù)狀態(tài)。</p><p>  視圖層(View)代表用戶交互界面,對(duì)于Web應(yīng)用來(lái)說(shuō),可以概括為顯示界面,隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性

10、。一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。視圖層的功能就是顯示模型的數(shù)據(jù),接受數(shù)據(jù)更新并請(qǐng)求更新視圖數(shù)據(jù),接受用戶輸入的數(shù)據(jù)并送給控制層。</p><p>  MVC設(shè)計(jì)模式不僅可以實(shí)現(xiàn)功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)

11、用行,是一個(gè)優(yōu)秀的創(chuàng)建軟件的途徑,尤其實(shí)在Java Web應(yīng)用程序的構(gòu)架方面。Java EE把MVC引入Web領(lǐng)域,在此基礎(chǔ)上架構(gòu)出一套稱為Model2[5]的體系,使Java Web應(yīng)用程序的健壯性、代碼重用和結(jié)構(gòu)方面新上一個(gè)新臺(tái)階。</p><p>  1.2電子商務(wù)網(wǎng)站應(yīng)用技術(shù)及系統(tǒng)框架的介紹</p><p>  在本系統(tǒng)的設(shè)計(jì)過程中,根據(jù)MVC模式,使用Struts 2、Sprin

12、g、Hibernate技術(shù)進(jìn)行系統(tǒng)的開發(fā)。 </p><p> ?。?)Struts [6][7]是Apache基金會(huì)Jakarta 項(xiàng)目組的一個(gè)開源項(xiàng)目,它采用 MVC 模式,能夠很好地幫助Java開發(fā)者開發(fā) Web 應(yīng)用,它能大量減少開發(fā) Web 應(yīng)用的時(shí)間,提高產(chǎn)品的重用度。Struts 主要是采用 Servlet 和 JSP 技術(shù)來(lái)實(shí)現(xiàn)的,它把 Servlet、JSP、自定義標(biāo)簽和信息資源(message

13、 resources) 整合到一個(gè)統(tǒng)一的框架中,Struts 它只有一個(gè)中心控制器,他采用 XML 定制轉(zhuǎn)向的 URL,采用 Action 來(lái)處理邏輯,開發(fā)人員利用其進(jìn)行開發(fā)時(shí)不用再自己編碼實(shí)現(xiàn)全套 MVC 模式。 </p><p>  Struts這是它的一大優(yōu)點(diǎn),使開發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。Struts Framework 是 MVC模式的體現(xiàn)。在系統(tǒng)中,Struts 2充當(dāng)控制器的角色,它通過核心

14、控制器FilterDispatch與攔截器Interceptor實(shí)現(xiàn)了Model2架構(gòu),及MVC架構(gòu),其體系結(jié)構(gòu)如圖1·2所示。</p><p>  圖1·2 Struts的MVC實(shí)現(xiàn)</p><p> ?。?)Spring 是由Rod Johnson創(chuàng)建并且是一個(gè)開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的。Spring 使用基本的 JavaBean 來(lái)完成以前

15、只可能由 EJB 完成的事情。然而,Spring 的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何 Java 應(yīng)用都可以從Spring 中受益[8]。 </p><p>  簡(jiǎn)單的說(shuō),Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。在系統(tǒng)開發(fā)的過程中,Spring充當(dāng)?shù)氖钦麄€(gè)應(yīng)用的Bean資源管家,甚至包括Struts 2的業(yè)務(wù)控制器Action 實(shí)例的接管,充

16、當(dāng)Struts的得力助手。</p><p>  時(shí)代在發(fā)展,技術(shù)在進(jìn)步,人們對(duì)于各種復(fù)雜數(shù)據(jù)及業(yè)務(wù)邏輯的處理要求也在不斷的提高,MVC 三層模型已不能滿足高性能,低耦合框架結(jié)構(gòu)的分層要求,此時(shí),人們引入了持久層的概念,用于封裝底層數(shù)據(jù)的持久化與訪問操作。</p><p>  對(duì)象—關(guān)系映射ORM(object-Relation Mapping)是用來(lái)將對(duì)象與對(duì)象之間的關(guān)系對(duì)應(yīng)到數(shù)據(jù)庫(kù)與表之

17、間的關(guān)系的一種模式。</p><p>  Hibernate是一個(gè)面向Java環(huán)境的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)映射工具。Hibernate 是一個(gè)開源的對(duì)象關(guān)系映射框架,它對(duì)JDBC 進(jìn)行了非常輕量級(jí)的封裝,使JAVA程序員可以隨心所欲的使用面向?qū)ο蟮木幊趟枷雭?lái)操作數(shù)據(jù)庫(kù)。它負(fù)責(zé)持久層,直接與底層數(shù)據(jù)庫(kù)打交道[9][10]。</p><p>  使用Struts 2、Spring、Hibernate

18、 組合的框架[11]后,系統(tǒng)的框架如下圖2·3所示。</p><p>  圖1·3 系統(tǒng)的框架圖</p><p>  1.3系統(tǒng)的軟件開發(fā)工具</p><p>  (1)開發(fā)工具 MyEclipse </p><p>  MyEclipse 是企業(yè)級(jí)工作平臺(tái),全稱是 MyEclipse Enterprise Workben

19、ch,是對(duì) Eclipse IDE 的擴(kuò)展。MyEclipse是功能比較豐富的集成開發(fā)環(huán)境,比如編碼、調(diào)試、測(cè)試和發(fā)布功能,并且完整支持 HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。 </p><p> ?。?)服務(wù)器 Tomcat </p><p>  Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,它是APache基金會(huì)的Jakarta項(xiàng)

20、目中的一個(gè)核心項(xiàng)目,由 APache,sun 和其它一些公司及個(gè)人共同開發(fā)而成 。</p><p> ?。?)數(shù)據(jù)庫(kù)MySQL</p><p>  MySQL是由MySQL AB公司開發(fā)、發(fā)布并支持的全世界最流行的開源SQL數(shù)據(jù)庫(kù)管理系統(tǒng),于2008年被Sun公司收購(gòu)[12]。</p><p>  二、電子商務(wù)網(wǎng)站的需求分析與功能設(shè)計(jì)</p><

21、p>  需求分析在軟件開發(fā)過程中,具有舉足輕重的地位,它具有決策性,方向性,策略性的作用。需求分析的任務(wù)就是要解決“做什么”的問題,就是要全面地理解用戶的各項(xiàng)需求,并準(zhǔn)確地表達(dá)所接受的用戶需求。功能設(shè)計(jì)則是具體的說(shuō)明系統(tǒng)要完成的功能。</p><p>  2.1 系統(tǒng)的需求分析</p><p>  系統(tǒng)的實(shí)際應(yīng)用性很明顯,電子商務(wù)發(fā)展非常迅速,人們追求的是簡(jiǎn)捷、方便、省時(shí),通過Int

22、ernet選購(gòu)商品,不必花費(fèi)太多的時(shí)間去逛商場(chǎng),坐在家里上網(wǎng)就可以買到稱心的商品,符合人們的心愿。但是,系統(tǒng)不僅僅只要有簡(jiǎn)單易學(xué)的操作界面,還需要考慮交易的安全性,所以在注重界面美觀、容易操作的基礎(chǔ)上,還要特別注意對(duì)信息進(jìn)行保管。關(guān)鍵要注意:在具備基本的功能這個(gè)基礎(chǔ)上要保證操作簡(jiǎn)單以及界面美觀,并要使顧客很快適應(yīng)這個(gè)系統(tǒng)。</p><p>  本系統(tǒng)的應(yīng)包括的功能有:消費(fèi)者可以瀏覽新聞和商品信息,可以查看商品的詳

23、細(xì)信息,當(dāng)注冊(cè)后可以購(gòu)物,并可以對(duì)其購(gòu)物車進(jìn)行管理,購(gòu)物完成后提交訂單,購(gòu)物完成后可以查看訂單。會(huì)員購(gòu)物完成后可以自動(dòng)增加相應(yīng)的積分。管理員根據(jù)不同的權(quán)限可以對(duì)新聞模塊,訂單和商品模塊,會(huì)員管理模塊,流量統(tǒng)計(jì)模塊進(jìn)行管理。具有高級(jí)權(quán)限的管理員可以添加新的管理員。電子商務(wù)網(wǎng)站主要有新聞發(fā)布模塊、會(huì)員管理模塊、商品管理模塊、購(gòu)物車及訂單管理模塊、系統(tǒng)用戶管理與流量統(tǒng)計(jì)模塊。系統(tǒng)的總體功能結(jié)構(gòu)圖如下3·1所示。</p>

24、<p>  圖2·1 系統(tǒng)總體功能模塊圖</p><p>  三、電子商務(wù)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  3.1 電子商務(wù)網(wǎng)站數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  3.1.1 數(shù)據(jù)庫(kù)的簡(jiǎn)介</p><p>  本系統(tǒng)采用MySQL作為數(shù)據(jù)庫(kù)平臺(tái),它對(duì)存儲(chǔ)過程、觸發(fā)器和視圖都有很好的支持,并且MySQL是開源的數(shù)據(jù)

25、庫(kù)服務(wù)器,有利于降低開發(fā)成本。支持上千萬(wàn)條的數(shù)據(jù)記錄。安裝簡(jiǎn)單,使用方便。</p><p>  3.1.2 數(shù)據(jù)庫(kù)的需求分析</p><p>  網(wǎng)站的需求重點(diǎn)體現(xiàn)在各種信息的提供、保存、更新和查詢。這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能夠滿足各種信息的輸出和輸入。</p><p>  針對(duì)網(wǎng)站的需求,通過對(duì)網(wǎng)站各個(gè)模塊的需求分析,可以得到所需實(shí)體的數(shù)據(jù)結(jié)構(gòu):</p>

26、<p>  系統(tǒng)用戶信息:系統(tǒng)用戶的編號(hào)、賬戶、密碼、權(quán)限等信息。</p><p>  購(gòu)物車信息:購(gòu)物車編號(hào)、所屬會(huì)員編號(hào)、購(gòu)物車的總金額、購(gòu)物車狀態(tài)。</p><p>  購(gòu)物車商品選購(gòu)記錄信息:編號(hào)、所屬購(gòu)物車編號(hào)、所屬商品編號(hào)、選購(gòu)數(shù)量、成交價(jià)格、成交總價(jià)。</p><p>  訂單信息:編號(hào)、所屬的購(gòu)物車編號(hào)、所屬的商品編號(hào)、訂單編號(hào)、訂單日期、

27、訂單狀態(tài)。</p><p>  注冊(cè)會(huì)員信息:會(huì)員編號(hào)、所屬會(huì)員級(jí)別號(hào)、登錄賬號(hào)、密碼、會(huì)員真實(shí)姓名、電話、地址、郵政編碼、郵政編碼、最后一次登錄的日期、會(huì)員積分等。</p><p>  會(huì)員級(jí)別信息:會(huì)員級(jí)別編號(hào)、會(huì)員級(jí)別名稱、所需積分、優(yōu)惠百分比。</p><p>  商品類別信息:編號(hào)、上級(jí)商品類別編號(hào)、商品類別名稱。</p><p>

28、  商品信息:編號(hào)、所屬商品類別編號(hào)、商品名稱、商品市場(chǎng)價(jià)、商品促銷價(jià)、商品型號(hào)、商品圖片、商品視頻、商品描述、是否有促銷價(jià)、商品詳情靜態(tài)頁(yè)面路徑、商品狀態(tài)。</p><p>  新聞欄目信息:編號(hào)、上級(jí)欄目編號(hào)、新聞欄目編號(hào)、新聞欄目名稱。</p><p>  新聞信息:編號(hào)、所屬新聞欄目ID、新聞標(biāo)題、新聞內(nèi)容、新聞?wù)㈥P(guān)鍵字、是否圖片新聞、圖片URL、新聞來(lái)源、新聞發(fā)布日期、作者、

29、點(diǎn)擊數(shù)、排序優(yōu)先、狀態(tài)等。</p><p>  流量信息:編號(hào)、來(lái)源URL、受訪頁(yè)面的URL、訪客的URL、物理地址、訪問時(shí)間等。</p><p>  3.1.3 數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)</p><p>  表就是數(shù)據(jù)庫(kù)中用來(lái)存放數(shù)據(jù)的場(chǎng)所。在數(shù)據(jù)庫(kù)中可以有多個(gè)表,但表名應(yīng)該是唯一的。同一數(shù)據(jù)庫(kù)中的表可以相互關(guān)聯(lián),也可以彼此獨(dú)立。該系統(tǒng)包含多個(gè)表,每張表存儲(chǔ)著該系統(tǒng)某項(xiàng)功能

30、的數(shù)據(jù)信息[20],根據(jù)上述的數(shù)據(jù)需求分析,可以得到表結(jié)構(gòu)。</p><p>  如表3·1為系統(tǒng)用戶信息表,記錄了系統(tǒng)用戶的屬性信息。</p><p>  表 3·1 系統(tǒng)用戶表(admin)</p><p>  3.2 數(shù)據(jù)持久層的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  持久層是專門負(fù)責(zé)持久化工作的邏輯層,由它統(tǒng)一與數(shù)據(jù)庫(kù)打交

31、道。它封裝了所有與數(shù)據(jù)庫(kù)相關(guān)的操作和細(xì)節(jié)。持久層是業(yè)務(wù)邏輯層與底層數(shù)據(jù)庫(kù)之間的紐帶,除了完成關(guān)系數(shù)據(jù)表的持久化以外,還要提供統(tǒng)一的數(shù)據(jù)訪問服務(wù)。Hibernate作為持久層中間件,功能強(qiáng)大。它可以使開發(fā)人員方便的實(shí)現(xiàn)數(shù)據(jù)表的持久化,為其提供統(tǒng)一的數(shù)據(jù)訪問服務(wù)。</p><p>  統(tǒng)一數(shù)據(jù)訪問接口。在系統(tǒng)中,所有的模塊使用統(tǒng)一的數(shù)據(jù)訪問接口,減少底層的代碼開發(fā)量,提高系統(tǒng)的維護(hù)效率。系統(tǒng)使用BaseDao及其實(shí)現(xiàn)

32、為系統(tǒng)提供數(shù)據(jù)訪問服務(wù)。2.表的持久化及表的關(guān)聯(lián)</p><p>  利用Hibernate的功能實(shí)現(xiàn)新聞欄目表對(duì)應(yīng)的持久化類Newscolumns及其ORM映射文件Newscolumns.hbm.xml實(shí)現(xiàn)新聞欄目的自身多對(duì)一的關(guān)聯(lián)。</p><p>  3.3 業(yè)務(wù)邏輯層的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  Dao組件已經(jīng)實(shí)現(xiàn)了統(tǒng)一的數(shù)據(jù)訪問,業(yè)務(wù)邏輯組件則調(diào)用Da

33、o組件提供的數(shù)據(jù)訪問服務(wù),替業(yè)務(wù)控制器實(shí)現(xiàn)真正意義上的用戶請(qǐng)求處理[14]。通常的業(yè)務(wù)邏輯單元的劃分是針對(duì)用戶請(qǐng)求進(jìn)行的,從事務(wù)管理的角度而言,這種業(yè)務(wù)邏輯單元具有原子性,因此,一個(gè)用戶請(qǐng)求幕后往往會(huì)有一個(gè)相應(yīng)的業(yè)務(wù)處理單元,同時(shí),它也是一個(gè)事務(wù)管理單元。</p><p>  在SSH2組合框架中,Spring負(fù)責(zé)接管業(yè)務(wù)邏輯層。利用Spring的面向切面功能,系統(tǒng)的所有業(yè)務(wù)邏輯組件統(tǒng)一采用Spring的Bean

34、NameAutoProxyCreatorf 自動(dòng)創(chuàng)建事務(wù)代理,這樣就不必為每個(gè)業(yè)務(wù)邏輯組件創(chuàng)建事務(wù)代理,大大降低了application.xml中代碼的冗余度,提高了代碼的重用性和可維護(hù)性。</p><p>  Spring的控制反轉(zhuǎn)IoC功能,可以使我們將統(tǒng)一的數(shù)據(jù)訪問Dao組件注入到業(yè)務(wù)邏輯層中,使我們可以方便的調(diào)用Dao組件中方法。</p><p>  3.4 控制器的設(shè)計(jì)與實(shí)現(xiàn)&l

35、t;/p><p>  控制器在本系統(tǒng)是通過Struts2來(lái)實(shí)現(xiàn)的。Strut2通過核心控制器FilterDispatch與攔截器Interceptor攔截用戶請(qǐng)求,針對(duì)不同的用戶請(qǐng)求,調(diào)用相應(yīng)的業(yè)務(wù)控制器來(lái)進(jìn)行處理。業(yè)務(wù)控制器調(diào)用不同的業(yè)務(wù)邏輯處理,最終有業(yè)務(wù)控制器返回一個(gè)Result命名視圖。</p><p>  使用Struts 2的流程如下:用戶請(qǐng)求均通過直接調(diào)用Action類的相應(yīng)方法

36、進(jìn)行處理,Action類中的相應(yīng)方法在收到請(qǐng)求后,首先送交攔截器LoginedCheckInterceptor進(jìn)行Session過期、登錄有效性及操作權(quán)限驗(yàn)證,當(dāng)Session已過期、尚未成功登錄或不具備新聞管理的權(quán)限時(shí),由攔截器直接返回相應(yīng)的錯(cuò)誤提示頁(yè)面或登錄頁(yè)面。否則繼續(xù)交由Struts2的默認(rèn)攔截器進(jìn)行相關(guān)處理,最后調(diào)用有Spring2依賴注入進(jìn)行的業(yè)務(wù)邏輯處理組件Service實(shí)例進(jìn)行業(yè)務(wù)邏輯處理,根據(jù)Struts.xml中的視

37、圖配置,將處理結(jié)果交由相應(yīng)的視圖組件返回展現(xiàn)給用戶。</p><p>  下面將以系統(tǒng)用戶管理模塊為例,講述控制器的實(shí)現(xiàn)。</p><p>  1. 系統(tǒng)用戶管理業(yè)務(wù)控制器AdminAction類</p><p>  系統(tǒng)用戶管理業(yè)務(wù)控制器AdminAction類采用模型驅(qū)動(dòng),直接使用持久化類Admin充當(dāng)模型類,用于封裝表單屬性、請(qǐng)求參數(shù)及處理結(jié)果。</p&

38、gt;<p>  AdminAction類的功能有:處理登錄請(qǐng)求,處理推出請(qǐng)求,處理瀏覽系統(tǒng)用戶請(qǐng)求,處理刪除系統(tǒng)用戶的請(qǐng)求,處理添加系統(tǒng)用戶的請(qǐng)求,處理更新系統(tǒng)用戶的請(qǐng)求等。下述的代碼講述的是登錄,注銷,瀏覽,新增系統(tǒng)的功能。</p><p>  /** 系統(tǒng)管理員處理控制器 */</p><p>  @SuppressWarnings("serial"

39、)</p><p>  public class AdminAction extends ActionSupport implements ModelDriven<Admin>{</p><p>  /** 通過依賴注入AdminService組件實(shí)例 */</p><p>  AdminService service;</p><p

40、>  /** 系統(tǒng)用戶管理所有請(qǐng)求中常用的參數(shù)值 */</p><p>  private String rand; //隨機(jī)驗(yàn)證碼</p><p>  private String actionMsg;//Action間傳遞的消息參數(shù)</p><p>  private List<Admin> adminList;//系統(tǒng)用戶列表<

41、;/p><p><b>  //采用模型驅(qū)動(dòng)</b></p><p>  private Admin model=new Admin();//用于封裝系統(tǒng)用戶屬性模型</p><p>  public Admin getModel() {</p><p>  return model;</p><p>

42、;<b>  }</b></p><p>  /** 處理登錄請(qǐng)求 */</p><p>  public String login(){</p><p>  if(!rand.equalsIgnoreCase((String)ServletActionContext.getRequest().getSession().getAttribute

43、("rand"))){</p><p>  addActionError(getText("login_rand_error"));</p><p>  return "login";</p><p><b>  }else{</b></p><p>  Adm

44、in tempAdmin = service.adminLogin(model.getLoginName(), MD5.MD5Encode(model.getLoginPwd()));</p><p>  if(tempAdmin!=null){</p><p>  ServletActionContext.getRequest().getSession().setAttribute(&q

45、uot;admin",tempAdmin);</p><p>  return "index";</p><p><b>  }else{</b></p><p>  addActionError(getText("login_fail"));</p><p>  ret

46、urn "login";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /** 處理注銷請(qǐng)求 */</p><p>  public

47、 String logout(){</p><p>  ServletActionContext.getRequest().getSession().invalidate();</p><p>  return "login";</p><p><b>  }</b></p><p>  /**

48、處理瀏覽系統(tǒng)用戶請(qǐng)求 */</p><p>  public String browseAdmin(){</p><p>  if(actionMsg!=null){</p><p><b>  try {</b></p><p>  actionMsg = new String(actionMsg.getBytes(&

49、quot;ISO8859-1"),"gbk");</p><p>  } catch (UnsupportedEncodingException e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  addActi

50、onMessage(actionMsg);</p><p><b>  }</b></p><p>  adminList = service.browseAdmin();</p><p>  return SUCCESS;</p><p><b>  }</b></p><p&

51、gt;  /** 處理新增系統(tǒng)用戶請(qǐng)求 */</p><p>  public String addAdmin(){</p><p>  Admin tempAdmin = new Admin();</p><p>  tempAdmin.setLoginName(model.getLoginName());</p><p>  tempAd

52、min.setLoginPwd(MD5.MD5Encode(model.getLoginPwd()));</p><p>  tempAdmin.setPrivileges(model.getPrivileges());</p><p>  if (service.saveOrUpdateAdmin(tempAdmin)){</p><p>  addActionM

53、essage(getText("admin_add_succ"));</p><p><b>  }else{</b></p><p>  addActionMessage(getText("admin_add_fail"));</p><p><b>  }</b></p&g

54、t;<p>  return SUCCESS;</p><p><b>  }</b></p><p>  // setXX() 和getXX() 方法省略</p><p><b>  }</b></p><p>  2.在Spring中配置業(yè)務(wù)控制器AdminAction類<

55、/p><p>  將Struts 2的業(yè)務(wù)控制器交給Spring容器來(lái)負(fù)責(zé),可以充分的利用Spring容器的IoC特性。Spring使用單例模式,為每個(gè)用戶的請(qǐng)求生成一個(gè)全新的實(shí)例。在applicationContext.xml中的配置如下:</p><p>  <!-- 部署Struts2負(fù)責(zé)系統(tǒng)用戶管理的控制器AdminAction --> </p><p&

56、gt;  <bean id="adminAction" class="com.ebuy.struts.action.AdminAction" scope="prototype"></p><p>  <property name="service" ref="adminService"/>&

57、lt;/p><p><b>  </bean></b></p><p>  在Spring中配置過業(yè)務(wù)控制器后,就可以在Struts.xml中直接引用AdminAction的beanid了,無(wú)需指定AdminAction的全類名。</p><p>  3.Struts.xml中配置業(yè)務(wù)控制器</p><p>  

58、用戶的具體請(qǐng)求,業(yè)務(wù)控制器中的處理方法及結(jié)果展現(xiàn)視圖之間的對(duì)應(yīng)關(guān)系,必須在Struts 2的配置文件 Struts.xml中進(jìn)行正確的配置方能生效。對(duì)于哪些具有一定命名規(guī)則的用戶請(qǐng)求可以使用通配符實(shí)現(xiàn)動(dòng)態(tài)方法調(diào)用,如“admin_*”來(lái)表示。在Struts.xml中的配置如下:</p><p>  <package name="admin" extends="ebuy"

59、; namespace="/admin"></p><p>  <!-- 配置系統(tǒng)用戶管理的AdminAction映射 --></p><p>  <action name="updateAdmin" class="adminAction" method="updateAdmin">

60、;</p><p>  <result name="input">/admin/editAdmin.jsp</result></p><p>  <interceptor-ref name="loginedCheck"/></p><p>  <interceptor-ref name

61、="defaultStack"/></p><p>  </action></p><p>  <action name="admin_*" class="adminAction" method="{1}"></p><p>  <result>

62、;/admin/{1}.jsp</result></p><p>  <result name="input">/admin/{1}.jsp</result></p><p>  <result name="index">/admin/index.jsp</result></p&

63、gt;<p>  <result name="login">/admin/login.jsp</result></p><p>  <result name="toBrowseAdmin" type="redirect-action"></p><p>  <param na

64、me="actionName">admin_browseAdmin</param></p><p><b>  </result></b></p><p>  <interceptor-ref name="loginedCheck"/></p><p>  <

65、;interceptor-ref name="defaultStack"/></p><p><b>  </action></b></p><p>  控制器的配置流程是:首先完成業(yè)務(wù)控制類的功能實(shí)現(xiàn),然后將業(yè)務(wù)控制類注入到Spring的配置文件中, 最后在Struts 2中配置相應(yīng)的視圖結(jié)果。</p><p

66、>  3.5 視圖層的實(shí)現(xiàn)</p><p>  視圖層的功能就是顯示模型的數(shù)據(jù),接受用戶輸入的數(shù)據(jù)并送給控制層,接受數(shù)據(jù)更新并請(qǐng)求更新視圖數(shù)據(jù)。視圖層沒有任何的業(yè)務(wù)操作,它只負(fù)責(zé)接受用戶數(shù)據(jù)和顯示用戶數(shù)據(jù)。本節(jié)將給出系統(tǒng)運(yùn)行時(shí)頁(yè)面的部分效果圖。</p><p>  1.前臺(tái)頁(yè)面顯示畫面。</p><p>  用戶首次進(jìn)入網(wǎng)站首頁(yè)面展示的效果圖3·1所

67、示。</p><p>  圖3·1 網(wǎng)站首頁(yè)面</p><p>  進(jìn)入首頁(yè)后,用戶可以瀏覽商品信息,網(wǎng)站新聞等內(nèi)容。如果用戶需要購(gòu)物,則需注冊(cè)賬號(hào),注冊(cè)頁(yè)面如下圖3·2所示。</p><p><b>  圖3·2 注冊(cè)頁(yè)面</b></p><p>  用戶購(gòu)買完商品后,可以再購(gòu)物車中查看所

68、購(gòu)商品,并在其中可以修改數(shù)量,清空購(gòu)物車等。效果圖如下圖3·3所示。</p><p>  圖3·3 購(gòu)物車管理的頁(yè)面</p><p>  確認(rèn)過訂單信息后,可以提交訂單,訂單提交成功后會(huì)生成一個(gè)訂單編號(hào),通過訂單編號(hào),可以查看訂單的狀態(tài),進(jìn)行訂單的管理。訂單管理的效果圖如下圖3·4所示。</p><p>  圖3·4 訂單管理

69、頁(yè)面</p><p>  2.后臺(tái)管理員管理頁(yè)面</p><p>  系統(tǒng)用戶進(jìn)入頁(yè)面時(shí),首先要進(jìn)行登錄,登錄頁(yè)面如下圖3·5所示。</p><p>  圖3·5 管理員登錄</p><p>  管理員登錄后,會(huì)根據(jù)其權(quán)限分配相應(yīng)的功能。登錄后的頁(yè)面,如圖3·6所示。</p><p>  

70、圖3·6 后臺(tái)管理主頁(yè)面</p><p>  后臺(tái)的訂單管理頁(yè)面的展示如下圖3·7所示。</p><p>  圖3·7 后臺(tái)的訂單管理頁(yè)面</p><p><b>  總結(jié)</b></p><p>  電子商務(wù)網(wǎng)站是現(xiàn)在流行的一種網(wǎng)上購(gòu)物方式。隨著互聯(lián)網(wǎng)的普及以及電子商務(wù)的發(fā)展和人們購(gòu)物理念

71、與購(gòu)物方式的改變,網(wǎng)上購(gòu)物系統(tǒng)將有著巨大的市場(chǎng)潛力。</p><p>  本文MVC模式,利用SSH2 組合框架,設(shè)計(jì)與開發(fā)了電子商務(wù)網(wǎng)站。本文所做的主要研究工作有:</p><p>  研究了電子商務(wù)研究的背景與意義,國(guó)內(nèi)外的研究現(xiàn)狀。</p><p>  (2)對(duì)MVC模式進(jìn)行了概述,并對(duì)系統(tǒng)的應(yīng)用技術(shù)及系統(tǒng)框架進(jìn)行了介紹。</p><p&g

72、t;  (3)根據(jù)電子商務(wù)網(wǎng)站的需求分析進(jìn)行了系統(tǒng)功能的設(shè)計(jì),并給出了相應(yīng)的用例圖。</p><p>  (2)按照系統(tǒng)的架構(gòu)圖和網(wǎng)站的需求分析,設(shè)計(jì)了系統(tǒng)所需的數(shù)據(jù)庫(kù),并實(shí)現(xiàn)了數(shù)據(jù)持久層,業(yè)務(wù)邏輯層,控制層及視圖層。詳細(xì)的講述了各自的實(shí)現(xiàn)過程。</p><p> ?。?)對(duì)系統(tǒng)進(jìn)行了測(cè)試工作,保證系統(tǒng)能夠正常的運(yùn)行。</p><p>  在系統(tǒng)的設(shè)計(jì)過程中,有些模

73、塊的實(shí)現(xiàn)并不是很完整,如商品管理模塊中的視頻購(gòu)物功能,我并沒有能夠?qū)崿F(xiàn)。讓我意識(shí)到我的技術(shù)還遠(yuǎn)遠(yuǎn)不能夠達(dá)到要求。商家博客等模塊式出于以后系統(tǒng)設(shè)計(jì)的需要,但在系統(tǒng)設(shè)計(jì)的過程中并沒有實(shí)現(xiàn)這些功能。還有,網(wǎng)上支付功能我考慮過,但是功能的實(shí)現(xiàn)存在技術(shù)難題。希望在以后的工作中,我能夠解決好這些問題。</p><p>  系統(tǒng)測(cè)試這一塊我做的也是不夠好,由于沒有進(jìn)行過測(cè)試方面的工作,系統(tǒng)的測(cè)試并不是很完整,在以后的工作中,我

74、會(huì)希望把各個(gè)方面均衡的發(fā)展,能夠更快的適應(yīng)工作。</p><p>  電子商務(wù)網(wǎng)站的設(shè)計(jì)師一個(gè)龐大的工程,雖然系統(tǒng)我已經(jīng)完成了系統(tǒng)的設(shè)計(jì),但我希望在以后的工作中,能夠進(jìn)一步完善這個(gè)系統(tǒng),使其成為一個(gè)真正的能夠發(fā)布的系統(tǒng)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1 ] 雷波特(Rayport Jeffrey),杰沃

75、斯基(Jaworski Bernard).電子商務(wù)[M].北京:中國(guó)人民</p><p>  大學(xué)出版社,2004.1</p><p>  [2 ] 趙志升,李桂全.一種基于B/S結(jié)構(gòu)與C/S結(jié)構(gòu)的新體系結(jié)構(gòu)[J].電子應(yīng)用 </p><p>  技術(shù),2004(8):7-9</p><p>  [3 ] 孫福振,李艷,李業(yè)剛.基于J2E

76、E的MVC設(shè)計(jì)模式的研究與實(shí)現(xiàn)[J].山東理 </p><p>  工大學(xué)學(xué)報(bào)(自然科學(xué)版).2006.20(2):49-56</p><p>  [4 ] 陶維成.基于MVC的電子商務(wù)推薦系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].新鄉(xiāng)學(xué)院學(xué)報(bào)(自</p><p>  然科學(xué)版).2011(12):435-437</p><p>  [5 ] 萬(wàn)峰科技.JS

77、P網(wǎng)站開發(fā)四“酷”全書[M].北京:電子工業(yè)出版社.2005.3</p><p>  [6 ] 劉乃麗.《精通 JavaEE 項(xiàng)目案例:基于 Eclipse Spring Struts Hibernate》[M].</p><p>  北京:人民郵電出版社,2008.1</p><p>  [7 ] [美]SueSpielman、Meeraj Kurmumpru

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論