• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Spring MVC框架的電商平臺的研究與設計

      2014-09-24 12:01:54岳紹敏王國春董亞則成錦暉
      軟件工程 2014年7期
      關鍵詞:電子商務

      岳紹敏+王國春+董亞則+成錦暉

      摘要:傳統(tǒng)的電子商務網(wǎng)站的開發(fā)周期比較長,而且運營之后經(jīng)常出現(xiàn)難以擴展、可維護性不高等問題。論文對Spring MVC進行了深入的研究,并基于它來構建了一個電子商務網(wǎng)站,使得電商網(wǎng)站具有良好的框架結構,對以后的維護和擴展工作提供了方便。

      關鍵詞:spring MVC;estore;電子商務;freemarker

      中圖分類號:TP39 文獻標識碼:A

      The Research and Design of Electric Business Platform Based on Spring MVC Framework

      YUE Shaomin,WANG Guochun,DONG Yaze,CHENG Jinhui

      (College of Computer Science and Engineering,Changchun University of Technology,Changchun 130012,China)

      Abstract:Traditional development cycle of ecommerce website is long.And it is difficult to extend,low maintainability after operation usually.Paper makes a deep study of Spring MVC,and based on which builds an ecommerce site,which makes ecommerce sites have good frame structure,and convenience is provided for future maintenance and extension work.

      Keywords:spring MVC;estore;electronic commerce;freemarker

      1 引言(Introduction)

      隨著互聯(lián)網(wǎng)寬帶技術應用的成熟,以及物流和支付系統(tǒng)的完善,電子商務成為互聯(lián)網(wǎng)普及應用的主流,影響著千家萬戶的生活和經(jīng)濟行為,并日益成為社會商業(yè)活動的重要形式。因此,各行業(yè)均希望可以快速展開網(wǎng)上營銷渠道。新形式下,電商網(wǎng)站開發(fā)人員如何縮短開發(fā)周期,進一步提高工作效率,是每一個程序員所面臨的問題。各大WEB框架的出現(xiàn),使得電商網(wǎng)站服務器端邏輯的設計非常便利,利用它進行網(wǎng)站的開發(fā),可以節(jié)省很多的時間和精力。本文基于Spring MVC來構建一個電子商務網(wǎng)站,希望可以對讀者學習和使用Spring MVC建站產(chǎn)生一些幫助。

      2 網(wǎng)上電商平臺Estore(Online electric business

      platform estore)

      2.1 Estore簡介

      Estore是采用Java技術設計開發(fā)的網(wǎng)上電子商務平臺,采用了Spring MVC3、Hibernate3和Freemarker相結合的技術架構。繼承了Java高效、跨平臺、穩(wěn)定且安全等多方面的優(yōu)點[1],能夠支持Oracle、Sqlserver、Mysql等數(shù)據(jù)庫,統(tǒng)一在后臺管理網(wǎng)站的模板,用戶可利用標簽自定義顯示內(nèi)容和方式。

      2.2 Estore的運行環(huán)境

      Estore原則上支持全系列JAVA運行環(huán)境、數(shù)據(jù)庫,主要使用以下環(huán)境:

      (1)WEB服務器:Weblogic、Tomcat、WebSphere、JBoss等。

      (2)數(shù)據(jù)庫服務器:Oracle、Mysql、SqlServer、DB2等。

      (3)操作系統(tǒng):Windows、Linux、Unix等。

      3 基于Spring MVC的電商平臺的設計與開發(fā)

      (The design and development of electric business

      platform based on the spring MVC )

      3.1 Spring MVC簡介

      3.1.1 Spring MVC架構

      Spring MVC的整體架構如圖1所示[2],視圖層采用Html或Jsp實現(xiàn);控制層采用Servlet實現(xiàn),整個框架采用同一個Servlet,以實現(xiàn)請求的中轉(zhuǎn);模型層采用Java實現(xiàn),主要決定用來做什么;在模型層后面添加了一個DAO,目的是將決定做什么和具體怎么做分開。

      圖1 Spring MVC的架構

      Fig.1 The architecture of spring MVC

      整個Web框架大致的流程是:首先客戶端發(fā)送請求,提交Html或Jsp頁面給中轉(zhuǎn)器(Servlet);中轉(zhuǎn)器按照客戶的請求,選擇相應的模型層,即Logic進行相應的邏輯處理;如果需要使用數(shù)據(jù)庫,則通過DAO進行相應的數(shù)據(jù)庫操作。

      3.1.2 Spring MVC重要組件

      圖2 Spring MVC的組件

      Fig.2 The component of spring MVC

      Spring MVC的組件如圖2所示[3]。

      (1)Spring MVC將所有的請求都提交給DispatcherServlet,它會委托應用系統(tǒng)的其他模塊負責對請求進行真正的處理工作。

      (2)DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller。

      (3)DispatcherServlet把請求提交到目標Controller。

      (4)Controller進行業(yè)務邏輯處理后,會返回一個ModelAndView。

      (5)Dispathcher查詢一個或多個ViewResolver視圖解析器,找到ModelAndView對象指定的視圖對象。

      (6)視圖對象負責渲染并返回給客戶端。

      3.2 Hibernate框架

      3.2.1 Hibernate簡介

      Hibernate是一個開源免費的Java包,它使得程序與數(shù)據(jù)庫的交互變得十分容易,更加符合面向?qū)ο蟮脑O計思想[4]。Hibernate使開發(fā)者可以專注于應用程序的對象和功能,而不用關心如何保存它們或查找這些對象。

      在對SQL語句完全不了解的情況下,使用Hibernate仍然可以開發(fā)出優(yōu)秀的包含數(shù)據(jù)庫訪問的應用程序。

      3.2.2 Hibernate運行過程

      圖3 Hibernate運行過程

      Fig.3 The running process of hibernate

      Hibernate的運行過程如圖3所示。

      應用程序先調(diào)用Configuration類,該類讀取Hibernate配置文件及映射文件中的信息,并用這些信息生成一個SessionFactory對象,然后從SessionFactory對象生成一個Session對象,并用Session對象生成Transaction對象。可通過Session對象的get()、load()、save()、update()、delete()和saveOrUpdate()等方法對PO(persistent object持久對象)進行加載、保存、更新、刪除等操作。

      在查詢的情況下,可通過Session對象生成一個Query對象,然后利用Query對象執(zhí)行查詢操作:如果沒有異常,Transaction對象將提交這些操作到數(shù)據(jù)庫中;如果有異常,則執(zhí)行回滾操作。

      endprint

      3.3 Freemarker簡介

      FreeMarker是一個模板引擎[5],它由Java語言編寫而成,基于模板來生成文本輸出。FreeMarker與Web容器沒有關系,即Web運行時,并不知道HTTP或Servlet。它不僅能夠用于表現(xiàn)層的實現(xiàn),而且還可以用于生成Xml、Jsp或Java等。FreeMarker允許Java servlet保持圖形設計與應用程序邏輯的分離,這是通過在模板中封裝Html完成的。模板用Servlet提供的數(shù)據(jù)動態(tài)地生成Html。模板語言是直觀且強大的,編譯器的速度快,輸出接近靜態(tài)HTML頁面的速度。

      雖然FreeMarker具有一些編程的能力,但通常由Java程序負責要顯示的數(shù)據(jù),由FreeMarker生成頁面,通過模板來顯示數(shù)據(jù)。

      下面是用Freemarker來做的一個顯示頁面:

        [@post_list]

        [#list tag_list as post]

        [#list post.types as tlist]

        [#if tlist.name == "首頁"]

      • [/#if]

        [/#list]

        [/#list]

        [/@post_list]

      3.4 按Spring MVC框架分層設計電商平臺

      3.4.1 Dao層

      Dao層分析模塊所要涉及的表,確定表之間的關系,編寫Hibernate Mapping文件和持久化類,它使用Hibernate連接數(shù)據(jù)庫、操作數(shù)據(jù)庫(增刪改查)。根據(jù)模塊需要的各種持久化操作,確定對應的方法,據(jù)此來編寫Dao接口和實現(xiàn)類。

      3.4.2 Entity層

      Entity層是實體類層,也屬于MVC中的model層,它的主要功能是把用戶提交過來的參數(shù)封裝成一個對象給Dao層也就是Hibernate操作。

      3.4.3 Service層

      引用對應的Dao數(shù)據(jù)庫操作,在這里可以編寫自己需要的代碼(比如簡單的判斷、校驗等操作)。

      3.4.4 Action層

      引用對應的Service層,在這里依據(jù)配置文件,跳轉(zhuǎn)到指定的頁面,當然也能接受頁面?zhèn)鬟f的請求數(shù)據(jù),也可以做些計算處理。

      3.4.5 顯示層

      一個或多個HTML頁面為模型提供數(shù)據(jù)顯示,HTML頁面主要使用HTML標記和Freemarker標簽來顯示數(shù)據(jù)。

      綜上所述,各層之間的關系為:action調(diào)用service中的方法,service調(diào)用dao中的方法,調(diào)用時的參數(shù)使用entity傳遞,最后把結果顯示在HTML界面,以響應用戶請求。

      4 Estore的個性化功能(Personalization capabilities

      of estore )

      4.1 Estore標簽的執(zhí)行流程

      標簽是Estore中的一個重要概念,利用它可以執(zhí)行許多操作,比如對搜索結果分頁、獲得商品品牌的列表、獲得商品子欄目的列表等,它的執(zhí)行流程如下:

      (1)訪問某個頁面(如:頁頭導航欄.html),瀏覽器執(zhí)行解析代碼,執(zhí)行到標簽時跳轉(zhuǎn)到后臺estore-context.xml文件。

      (2)estore-context.xml文件中,假如有,在里面找標簽對應的class文件(如shop_Category),再找對應的*.java文件。

      (3)到后臺執(zhí)行CategoryListDirective類中默認方法execute(如:[@shop_Category parentId=category.id],參數(shù):父類別ID parentId)。

      (4)CategoryListDirective類鏈接數(shù)據(jù)庫,獲取目標數(shù)據(jù)并放入Map集合:

      如:Map origMap = DirectiveUtils.addParamsToVariable(env, paramsWrap)。

      (5)將獲取的目標數(shù)據(jù)返回給前臺,通過標簽展示:

      [@shop_Category]

    1. 首頁
    2. [#list tag_list as ctg]

    3. ${ctg.name}
    4. [/#list]

      [/@shop_Category]

      4.2 制作“商業(yè)廣告位”

      一幅色彩絢麗、形象生動的廣告作品,能以其非同凡響的美感力量增強廣告的感染力,使消費者沉浸在商品和服務形象給予的愉悅中,使其自覺接受廣告的引導。在Estore平臺上,可以為網(wǎng)站的首頁添加一個“商業(yè)廣告位”,具體步驟如下:

      (1)在系統(tǒng)后臺的“輔助”中的菜單“廣告版位”,添加一個“版位”,(如:頁中廣告)。

      注意:記錄下此時的“ID”(如ID=6)。

      (2)“廣告管理”中,修改“頁中廣告”,選擇圖片之后,改一下圖片地址,去掉“/u”(如:把‘/u/201403/231829044ug5.jpg變?yōu)椤?201403/231829044ug5.jpg)。

      (3)在“WEB-INF store plinclude”下,新建文件“頁中廣告位.html”,內(nèi)容如下:

      注意:此處的ID,其值取自第(1)步中的ID。

      (4)在“首頁”相應的廣告位置,加入如下語句:[#include "../include/頁中廣告位.html"/]。

      至此,即在網(wǎng)站首頁添加了一個“商業(yè)廣告位”,根據(jù)客戶的需求,只需要更改后臺的廣告圖片,即可在網(wǎng)站首頁看到客戶的廣告宣傳。

      4.3 Estore的后臺處理流程

      當用戶剛接觸Estore時,可能對其后臺的處理流程有點頭痛,不知道應該如何學習,常常會感覺到無從下手,本文以訪問后臺的主界面為例,特在此做出一個簡要的介紹,用戶可以按照以下步驟來了解其處理過程:

      (1)用戶查看瀏覽器端的訪問請求路徑,看要訪問資源的后綴名,如“http://localhost:8080/storeOracle/eadmin/estore/index.do”的后綴名為“*.do”。

      注意:“eadmin/estore/”是虛擬訪問路徑,它在web.xml中設置。

      (2)web.xml文件的重要標簽:

      EStoreAdmin

      /eadmin/estore/*

      注意:①因為擴展名為“.do”,所以找到值為“/eadmin/estore/*”的

      ②“eadmin/estore/”是虛擬訪問路徑,在此處設置。

      (3)去所有的action文件里找到相應“@RequestMapping”的value等于“index.do”的方法,看該方法返回什么字符串(如:“l(fā)ogin”)。

      (4)去estore-servlet-admin.xml中找到id="freemarkerViewResolver"的bean,該bean中name分別為“prefix”、“suffix”的標簽的value的值,正好和步驟(3)中的“l(fā)ogin”組成文件名“/estore _sys/login.html”;系統(tǒng)將此頁面返回,用戶即可直接訪問。

      (5)登錄頁login.html會向名叫“index.do”的action發(fā)送請求,按照步驟(3)和(4)操作后,可以直接訪問文件“/estore_sys/index.html”。

      (6)文件“/estore_sys/index.html”里嵌套有“主體框架”:

      (7)在main.html里,又有左右兩部分frame:

      至此,Estore系統(tǒng)后臺的主界面全部形成。

      5 結論(Conclusion)

      通過研究可以證明,利用Spring MVC可以快速地開發(fā)一個具有良好架構的電子商務網(wǎng)站,并且易于維護、支持擴展,這大大地提高了建站的效率,節(jié)省了大量的時間和精力。同時,電子商務網(wǎng)站的開發(fā)還應考慮安全支付、快速物流等問題,這是今后需要研究的對象。

      參考文獻(References)

      [1] Java 2 Platform,Enterprise Edition Specification Version l.2[EB/0L].http://java.sun.com/J2ee/docus.Htm,2014-05-23.

      [2] 陸榮幸,等.J2EE平臺上MVC設計模式的研究與實現(xiàn)[J].計算機應用研究,2003,3:144-146.

      [3] 何成萬,余秋惠.MVC模型2及軟件框架Struts的研究[J].計算機工程,2002,6:274-281.

      [4] 高昂,衛(wèi)文學.基于Hibernate與Struts框架的數(shù)據(jù)持久化應用研究[J].計算機應用,2005,12:2817-2820.

      [5] 冷威龍.Freemarker[EB/OL].http://baike.baidu.com/view/1278430.htm,2014-05-23.

      作者簡介:

      岳紹敏(1988-),男,碩士研究生在讀.研究領域:智能系統(tǒng).

      王國春(1978-),男,碩士,講師.研究領域:軟件工程與智能系統(tǒng).

      董亞則(1982-),女,碩士,講師.研究領域:軟件工程.

      成錦暉(1989-),男,碩士研究生在讀.研究領域:軟件工程,智能計算.

      注意:此處的ID,其值取自第(1)步中的ID。

      (4)在“首頁”相應的廣告位置,加入如下語句:[#include "../include/頁中廣告位.html"/]。

      至此,即在網(wǎng)站首頁添加了一個“商業(yè)廣告位”,根據(jù)客戶的需求,只需要更改后臺的廣告圖片,即可在網(wǎng)站首頁看到客戶的廣告宣傳。

      4.3 Estore的后臺處理流程

      當用戶剛接觸Estore時,可能對其后臺的處理流程有點頭痛,不知道應該如何學習,常常會感覺到無從下手,本文以訪問后臺的主界面為例,特在此做出一個簡要的介紹,用戶可以按照以下步驟來了解其處理過程:

      (1)用戶查看瀏覽器端的訪問請求路徑,看要訪問資源的后綴名,如“http://localhost:8080/storeOracle/eadmin/estore/index.do”的后綴名為“*.do”。

      注意:“eadmin/estore/”是虛擬訪問路徑,它在web.xml中設置。

      (2)web.xml文件的重要標簽:

      EStoreAdmin

      /eadmin/estore/*

      注意:①因為擴展名為“.do”,所以找到值為“/eadmin/estore/*”的。

      ②“eadmin/estore/”是虛擬訪問路徑,在此處設置。

      (3)去所有的action文件里找到相應“@RequestMapping”的value等于“index.do”的方法,看該方法返回什么字符串(如:“l(fā)ogin”)。

      (4)去estore-servlet-admin.xml中找到id="freemarkerViewResolver"的bean,該bean中name分別為“prefix”、“suffix”的標簽的value的值,正好和步驟(3)中的“l(fā)ogin”組成文件名“/estore _sys/login.html”;系統(tǒng)將此頁面返回,用戶即可直接訪問。

      (5)登錄頁login.html會向名叫“index.do”的action發(fā)送請求,按照步驟(3)和(4)操作后,可以直接訪問文件“/estore_sys/index.html”。

      (6)文件“/estore_sys/index.html”里嵌套有“主體框架”:

      (7)在main.html里,又有左右兩部分frame:

      至此,Estore系統(tǒng)后臺的主界面全部形成。

      5 結論(Conclusion)

      通過研究可以證明,利用Spring MVC可以快速地開發(fā)一個具有良好架構的電子商務網(wǎng)站,并且易于維護、支持擴展,這大大地提高了建站的效率,節(jié)省了大量的時間和精力。同時,電子商務網(wǎng)站的開發(fā)還應考慮安全支付、快速物流等問題,這是今后需要研究的對象。

      參考文獻(References)

      [1] Java 2 Platform,Enterprise Edition Specification Version l.2[EB/0L].http://java.sun.com/J2ee/docus.Htm,2014-05-23.

      [2] 陸榮幸,等.J2EE平臺上MVC設計模式的研究與實現(xiàn)[J].計算機應用研究,2003,3:144-146.

      [3] 何成萬,余秋惠.MVC模型2及軟件框架Struts的研究[J].計算機工程,2002,6:274-281.

      [4] 高昂,衛(wèi)文學.基于Hibernate與Struts框架的數(shù)據(jù)持久化應用研究[J].計算機應用,2005,12:2817-2820.

      [5] 冷威龍.Freemarker[EB/OL].http://baike.baidu.com/view/1278430.htm,2014-05-23.

      作者簡介:

      岳紹敏(1988-),男,碩士研究生在讀.研究領域:智能系統(tǒng).

      王國春(1978-),男,碩士,講師.研究領域:軟件工程與智能系統(tǒng).

      董亞則(1982-),女,碩士,講師.研究領域:軟件工程.

      成錦暉(1989-),男,碩士研究生在讀.研究領域:軟件工程,智能計算.

      注意:此處的ID,其值取自第(1)步中的ID。

      (4)在“首頁”相應的廣告位置,加入如下語句:[#include "../include/頁中廣告位.html"/]。

      至此,即在網(wǎng)站首頁添加了一個“商業(yè)廣告位”,根據(jù)客戶的需求,只需要更改后臺的廣告圖片,即可在網(wǎng)站首頁看到客戶的廣告宣傳。

      4.3 Estore的后臺處理流程

      當用戶剛接觸Estore時,可能對其后臺的處理流程有點頭痛,不知道應該如何學習,常常會感覺到無從下手,本文以訪問后臺的主界面為例,特在此做出一個簡要的介紹,用戶可以按照以下步驟來了解其處理過程:

      (1)用戶查看瀏覽器端的訪問請求路徑,看要訪問資源的后綴名,如“http://localhost:8080/storeOracle/eadmin/estore/index.do”的后綴名為“*.do”。

      注意:“eadmin/estore/”是虛擬訪問路徑,它在web.xml中設置。

      (2)web.xml文件的重要標簽:

      EStoreAdmin

      /eadmin/estore/*

      注意:①因為擴展名為“.do”,所以找到值為“/eadmin/estore/*”的。

      ②“eadmin/estore/”是虛擬訪問路徑,在此處設置。

      (3)去所有的action文件里找到相應“@RequestMapping”的value等于“index.do”的方法,看該方法返回什么字符串(如:“l(fā)ogin”)。

      (4)去estore-servlet-admin.xml中找到id="freemarkerViewResolver"的bean,該bean中name分別為“prefix”、“suffix”的標簽的value的值,正好和步驟(3)中的“l(fā)ogin”組成文件名“/estore _sys/login.html”;系統(tǒng)將此頁面返回,用戶即可直接訪問。

      (5)登錄頁login.html會向名叫“index.do”的action發(fā)送請求,按照步驟(3)和(4)操作后,可以直接訪問文件“/estore_sys/index.html”。

      (6)文件“/estore_sys/index.html”里嵌套有“主體框架”:

      (7)在main.html里,又有左右兩部分frame:

      至此,Estore系統(tǒng)后臺的主界面全部形成。

      5 結論(Conclusion)

      通過研究可以證明,利用Spring MVC可以快速地開發(fā)一個具有良好架構的電子商務網(wǎng)站,并且易于維護、支持擴展,這大大地提高了建站的效率,節(jié)省了大量的時間和精力。同時,電子商務網(wǎng)站的開發(fā)還應考慮安全支付、快速物流等問題,這是今后需要研究的對象。

      參考文獻(References)

      [1] Java 2 Platform,Enterprise Edition Specification Version l.2[EB/0L].http://java.sun.com/J2ee/docus.Htm,2014-05-23.

      [2] 陸榮幸,等.J2EE平臺上MVC設計模式的研究與實現(xiàn)[J].計算機應用研究,2003,3:144-146.

      [3] 何成萬,余秋惠.MVC模型2及軟件框架Struts的研究[J].計算機工程,2002,6:274-281.

      [4] 高昂,衛(wèi)文學.基于Hibernate與Struts框架的數(shù)據(jù)持久化應用研究[J].計算機應用,2005,12:2817-2820.

      [5] 冷威龍.Freemarker[EB/OL].http://baike.baidu.com/view/1278430.htm,2014-05-23.

      作者簡介:

      岳紹敏(1988-),男,碩士研究生在讀.研究領域:智能系統(tǒng).

      王國春(1978-),男,碩士,講師.研究領域:軟件工程與智能系統(tǒng).

      董亞則(1982-),女,碩士,講師.研究領域:軟件工程.

      成錦暉(1989-),男,碩士研究生在讀.研究領域:軟件工程,智能計算.

      猜你喜歡
      電子商務
      《電子商務法》如何助力直銷
      電子商務
      關于加快制定電子商務法的議案
      跨境電子商務中的跨文化思考
      建瓯市| 林州市| 泰州市| 南京市| 迁安市| 南城县| 左云县| 松桃| 武义县| 开阳县| 阜平县| 隆昌县| 高邮市| 汶川县| 铁力市| 云南省| 济阳县| 崇信县| 仙居县| 贵德县| 万安县| 柯坪县| 武川县| 丰城市| 宁津县| 兴安县| 策勒县| 乌拉特后旗| 大渡口区| 西宁市| 历史| 门源| 怀安县| 五台县| 宝坻区| 新巴尔虎右旗| 郯城县| 定陶县| 石台县| 江阴市| 万载县|