【正文】
事 項 (論文)的內(nèi)容包括: 1)封面(按教務(wù)處制定的標準封面格式制作) 2)原創(chuàng)性聲明 3)中文摘要( 300 字左右)、關(guān)鍵詞 4)外文摘要、關(guān)鍵詞 5)目次頁(附件不統(tǒng)一編入) 6)論文主體部分:引言(或緒 論)、正文、結(jié)論 7)參考文獻 8)致謝 9)附錄(對論文支持必要時) :理工類設(shè)計(論文)正文字數(shù)不少于 1 萬字(不包括圖紙、程序清單等),文科類論文正文字數(shù)不少于 萬字。 作者簽名: 日期: 畢業(yè)論文(設(shè)計)授權(quán)使用說明 本論文(設(shè)計)作者完全了解 **學(xué)院有關(guān)保留、使用畢業(yè)論文(設(shè)計)的規(guī)定,學(xué)校有權(quán)保留論文(設(shè)計)并向相關(guān)部門送交論文(設(shè)計)的電子版和紙質(zhì)版。本系統(tǒng)結(jié)合這兩種技術(shù),構(gòu)建了一個基于這兩種技術(shù)的電子商務(wù)應(yīng)用系統(tǒng)─ C2C( Customer To Customer)化妝品銷售平臺。 J2EE 技術(shù)(包括 JSP,Servlet, EJB, web Service, . 等)給 WEB 應(yīng)用程序的開發(fā)提供了非常靈活的選擇,其多層的體系結(jié)構(gòu)向開發(fā)者提供了一種基于組件的設(shè)計和開發(fā) WEB 應(yīng)用的模塊化方法。目前 Struts 已經(jīng)成為 WEB 應(yīng)用開發(fā)中最為先進、最為成功的技術(shù)框架。 關(guān)鍵詞: J2EE; WEB; JSP; Struts; AJAX;電子商務(wù) Based on Struts framework bined with Ajax technology, the design and implementation for the sale of cosmetics C2C Platform Abstract With the extensive application of the Inter technology, electronic merce has been rapided development. J2EE technology (including JSP, Servlet, EJB, web Service, . Net, etc.) to the WEB application development to provide a very flexible options, multitier architecture to provide developers with a ponentbased design and development WEB application of the modular approach. Currently Struts WEB application development has beed the most advanced and most successful technology framework. And Ajax (ASYNCHRONOUS JavaScript And XML) technology as an asynchronous transfer technology, emerce sites in the system, with better results reflected. Also, to bring about a series of emerce sites to update the technology. The system bines these two technologies, build a technology based on these two emerce applications ─ C2C (Customer To Customer) cosmetics sales platform. Key words: J2EE; WEB; JSP; Struts; AJAX; E merce 畢業(yè)論文(設(shè)計)原創(chuàng)性聲明 本人所呈交的畢業(yè)論文(設(shè)計) 是我在導(dǎo)師的指導(dǎo)下進行的研究工作及取得的研究成果。有權(quán)將論文(設(shè)計)用于非贏利目的的少量復(fù)制并允許論文(設(shè)計)進入學(xué)校圖書館被 查閱。 :任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)。與前兩者不同的是 ,C2C 電子商務(wù)模式針對的交易對象是個人使用過的商品。具體表現(xiàn)在以下幾個方面: 較低的交易成本 C2C 電子商務(wù)采用了基于開放式標準上的 Inter 通信通道 ,與傳統(tǒng)的商務(wù)活動通信方式 ,如郵寄、傳真或報紙、電臺、電視臺傳播等相比較 ,大大降低了通信費用。但 C2C 電子商務(wù)利用 Inter 網(wǎng)絡(luò)提供的虛擬經(jīng)營環(huán)境 ,可以輕易地通過增加網(wǎng)頁來擴大其經(jīng)營規(guī)模。 擴大的貨源 交易成本的降低、銷售范圍和銷售力度的加大 ,必然帶動客戶的數(shù)量。采取這種高度電子化 的支付手段 ,C2C 電子商務(wù)方便和加速了資金的流動 ,是傳統(tǒng)的二手市場所無法取代的。所以此項目的提出,是非常符合市場的需求。 目前大多數(shù)網(wǎng)上購物系統(tǒng)是基于兩層體系結(jié)構(gòu)來進行設(shè)計和開發(fā)的。 4 2 MVC 設(shè)計模式 設(shè)計模式 在面向?qū)ο笙到y(tǒng)的設(shè)計中,可以認為,類及其生成的對象是構(gòu)成面向?qū)ο笙到y(tǒng)的最基本元素;采用設(shè)計方法組合這些元素,得到構(gòu)成面向?qū)ο笙到y(tǒng)的構(gòu)件,同時,這些構(gòu)件的設(shè)計方法在經(jīng)過不斷的改進和完善后逐漸成型,成為構(gòu)成面向?qū)ο笙到y(tǒng)的基本設(shè)計參考,也成為設(shè)計模式。將已證實的技術(shù)表述成設(shè)計模式,可以使新系統(tǒng)的開發(fā)者更加容易理解原有的設(shè)計思路和方法。 一個 設(shè)計模式可能用于不同的系統(tǒng),一個系統(tǒng)也可能會用到多個設(shè)計模式。這是因為 JSP 頁面不 僅擁有跨平臺和跨 Web服務(wù)器的特性,而且可以非常容易的將業(yè)務(wù)邏輯、服務(wù)器端處理過程和靜態(tài) HTML 頁“所見所得”的功能相結(jié)合,同時實現(xiàn)顯示、業(yè)務(wù)邏輯和流程控制等功能,從而幫助開發(fā)人基于 Struts 架構(gòu)與 Ajax 技術(shù)結(jié)合的 C2C 化妝品銷售平臺的設(shè)計與實現(xiàn) 5 員快速的完成任務(wù)。在這一模型中, JSP頁面獨自響應(yīng)請求并處理結(jié)果返回客戶,所有的數(shù)據(jù)通過 JavaBean 來處理, JSP 實現(xiàn)頁面的表現(xiàn)。大量的嵌入式代碼會 使整個頁面程序變得異常復(fù)雜。 此外,這種模型還存在另外一個缺陷:每個 JSP 頁面必須單獨負責(zé)管理應(yīng)用程序的狀態(tài)、驗證與安全性。其中, Servlet 用來處理請求的事務(wù),充當(dāng)一個控制者的角色,并負責(zé)向客戶發(fā)送請求 :它創(chuàng)建 JSP 需要的 Bean 和對象,然后根據(jù)用戶請求的行為 ,決定將哪個 JSP 頁面發(fā)送給客戶。 另外,從設(shè)計結(jié)構(gòu)來看,這種模型充分體現(xiàn)了模型一視圖一控制器 (MVC)的設(shè)計模式。它屬于結(jié)構(gòu)型設(shè)計模基于 Struts 架構(gòu)與 Ajax 技術(shù)結(jié)合的 C2C 化妝品銷售平臺的設(shè)計與實現(xiàn) 7 式,對于生成結(jié)構(gòu)嚴謹?shù)哪K化應(yīng)用程序的有效性己得到了廣泛的證實。一個模型聚集了相關(guān)的數(shù)據(jù)和操作,以提供一個詳細而精確的服務(wù) 。當(dāng)模型狀態(tài)發(fā)生變化時,模型會通報給視圖。模型通常也被稱作業(yè)務(wù)邏輯。事實上,視圖的每一部分都只能包含采集數(shù)據(jù)的邏輯,并把采集到的數(shù)據(jù)傳遞給設(shè)計模式中的其他 組成部分進行處理。 用 戶 請 求控 制 器 ( C o n t r o l l e r )定 義 應(yīng) 用 程 序 行 為用 戶 動 作 映 射 成 模 型 更 新選 擇 響 應(yīng) 的 視 圖視 圖 ( V i e w )表 示 模 型 狀 態(tài)模 型 更 新 請 求發(fā) 送 用 戶 輸 入 給 控 制 器允 許 控 制 器 選 擇 視 圖視 圖 選 擇用 戶 請 求模 型 ( M o d e l )封 裝 應(yīng) 用 程 序 狀 態(tài)響 應(yīng) 狀 態(tài) 查 詢應(yīng) 用 程 序 功 能通 知 視 圖 改 變狀 態(tài) 改 變通 知 改 變狀 態(tài) 改 變數(shù) 據(jù) 庫數(shù) 據(jù) 處 理 圖 MVC 模式中的三要素模型一視圖一控制器之間的關(guān)系 8 由圖 可知, MVC 模式的處理流程是,首先控制器接收用戶的請求,并決定應(yīng)該調(diào)用 哪個模型來進行處理,然后模型調(diào)用業(yè)務(wù)邏輯來處理用戶的請求并返回數(shù)據(jù),最后控制器用相應(yīng)的視圖返回數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。 Web 應(yīng)用客戶端的用戶動作被視圖傳遞給 Servlet 集中處理, Servlet 處理控制邏輯,調(diào)用 Beans 激活業(yè)務(wù)邏輯或修改模型狀態(tài)。JSP/Servlet 并不使用 JDBC 技術(shù)直接訪問數(shù)據(jù)庫系統(tǒng),而是把參數(shù)傳遞給 EJB 組件,由 EJB 組件對數(shù)據(jù)庫進行操作,這樣就可以封裝系統(tǒng)的內(nèi)部數(shù)據(jù) 。由于 JSP 和 Servlet 本質(zhì)上是服務(wù)端的 Java 小程序,因而可以與 Java Applet 及 HTML 客戶端交互,具有執(zhí)行速度快、用戶界面生成靈活、安全性好等特點,同時還能使用 JavaBean 實現(xiàn)一些簡單的業(yè)務(wù)邏輯。 10 3 Struts 應(yīng)用框架與 AJAX 技術(shù)的結(jié)合 Struts 框架 Struts 框架的提出 近年來,隨著 Inter 技術(shù)的迅猛發(fā)展,計算機網(wǎng)絡(luò)給人們的工作、學(xué)習(xí)和日常生活帶來很大的便利,同時開發(fā) Web 的技術(shù)也在不斷更新。此環(huán)節(jié)一般主要由架構(gòu)設(shè)計師完成,設(shè)計師將根據(jù)項目需求,對 J2EE 體系中的各處技術(shù)進行篩選取舍,并考慮到開發(fā)過程中的角色分工、后期的運行維護,以及系統(tǒng)可重用性、司一擴展性等諸多因素,建立系統(tǒng)的框架。顯然這將大大加速項目的開發(fā)進程,并降低了學(xué)習(xí)與開發(fā) web 應(yīng)用的難度。它允許我們分解一個應(yīng)用程序的商業(yè)邏輯、控制邏輯和表現(xiàn)邏輯的代碼,使它的重用性和維護性更好。這樣非常不利于應(yīng)用擴展和更新。這些組件可以進行交互和重用,從而彌補了 JSP 模式 1 的不足。 Struts 體系結(jié)構(gòu) Struts 由一組相互協(xié)作的類 (組件 )、 Servlet 以及 JSP 卷標庫組成。在視圖層, Struts 能夠與 JSP, XSL 等等這些表示層組件相結(jié)合。圖 顯示了 Struts framework 的體系結(jié)構(gòu)在響應(yīng)客戶請求的時候,各個部分的工作原理: C l i e n tB r o w e rC o n t r o l l e rS e r v l e tV i e wJ S PB u s i n e s s L o g i cA c t i o nM o d e lA p p l i c a t i o n S t a t eG e t T a g U p d a t eH T T PR e s p o n s eH T T PR e q u e s tE v e n tD i s p a t c hS t r u t s c o n f i g . x m lF o r w o r d 圖 Struts 體系結(jié)構(gòu) 框架中三個部分模型 ,視窗和控制器。 小型程序中 ,操作可能會被內(nèi)嵌在 Action 類 ,它是 Struts 框架中控制器角色的一部分 當(dāng)邏輯簡單時這個方法很適合 一般來說 ,應(yīng)該將事務(wù)邏輯要做什么與 Action類所扮演的角色(決定做什么)分開。控制器 ActionServlet 組件負責(zé)將 HTTP 的客戶請求信息封裝后 ,根據(jù)配置文件的定義 ,再轉(zhuǎn)發(fā)到適當(dāng)?shù)奶幚砥鳌? ⑵ Action(包含事務(wù)邏輯) Action 組件的功能類似于客戶請求和業(yè)務(wù)邏輯處理之間的一個適配器 ,從而將請求與業(yè)務(wù)邏輯分開 分離后可以使客戶請求和類 Action 之間實現(xiàn)多個點對點的映射 ,另外組件還提供其他輔助功能 ,例如認證、日志和數(shù)據(jù)驗證。 ④根據(jù)處理結(jié)果決定程序的轉(zhuǎn)向 ,并以 ActionForward 對象的形式返回給ActionServlet。控制器將請求參數(shù) 14 傳遞到 ActionForm 的實例 ,然后將該實例傳送到 Action 類。對于一些復(fù)雜的系統(tǒng) ,還可以采用 DynaActionForm 來構(gòu)造動態(tài)的 ,即通過預(yù)制參數(shù)來生成 這樣可以更靈活的擴展程序。 ActionForm 類擴展類 類,程序開發(fā)人員創(chuàng)建的 bean 能夠包含額外的屬性 ,而且 ActionServlet 可能使用反射(允許從已加載的對象中回收信息)訪問它。 如果需要執(zhí)行特定的數(shù)據(jù)有效性檢查 ,最好在 Action 類中進行這個操作 ,而不是在ActionForm 類中進行。 ⑷ ActionMapping(幫助控制器將請求映射到操作) 將特定 請求 映射 到特 定 Action 的相 關(guān)信 息存 儲在 ActionMapping 組件中 ,ActionServlet 將助 ActionMapping 傳送到 Action 類的 perform()函數(shù) ,Action將使用 ActionMapping 的 findForword()函數(shù) ,此函數(shù)返回一個指定名稱的ActionForward,這樣 Action 就完成了本地轉(zhuǎn)發(fā)。這個類將決定處理結(jié)果轉(zhuǎn)發(fā)到目的地。否則容器發(fā)送請求到其它Servlet 或 Service。 ⑺ Struts 標簽庫(可以減輕開發(fā)顯示層次的工作) Struts 的一個優(yōu)點是支持 自定義標簽庫。 ActionServlet 從 文件中讀取配置信息 ,把它們存放到各種配置對象中 ,例如 Action 的映射信息存放在對象中。 ⑷如果 ActionForm 的 val