• 
    

    
    

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

      基于SSH框架的農(nóng)特產(chǎn)品網(wǎng)上銷售系統(tǒng)構(gòu)建

      2017-12-02 07:36:59劉方
      軟件導(dǎo)刊 2017年11期
      關(guān)鍵詞:S結(jié)構(gòu)電商平臺

      劉方

      摘要:針對農(nóng)特產(chǎn)品網(wǎng)上銷售需求,基于SSH框架構(gòu)建了一款農(nóng)特產(chǎn)品網(wǎng)上銷售系統(tǒng)。采用SSH多層整合框架技術(shù),通過清晰分層結(jié)構(gòu)與松散耦合設(shè)計,對系統(tǒng)主要功能與整體架構(gòu)進(jìn)行了開發(fā)與實現(xiàn)。應(yīng)用結(jié)果顯示,該系統(tǒng)運行穩(wěn)定、復(fù)用性強(qiáng)、便于維護(hù),能滿足消費者購買過程中各種需求,為特色農(nóng)產(chǎn)品產(chǎn)銷對接及流通提供良好服務(wù)。該系統(tǒng)開發(fā)表明,采用SSH架構(gòu)設(shè)計模式,使程序?qū)哟胃忧逦?,且能簡化開發(fā)過程并易于控制。

      關(guān)鍵詞關(guān)鍵詞:農(nóng)產(chǎn)品銷售;SSH;MVC;B/S結(jié)構(gòu);電商平臺

      DOIDOI:10.11907/rjdk.172246

      中圖分類號:TP319

      文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2017)011009404

      0引言

      隨著信息技術(shù)發(fā)展,“互聯(lián)網(wǎng)+”模式也逐漸融入傳統(tǒng)農(nóng)業(yè),特別是農(nóng)村電商平臺,在提升特色農(nóng)產(chǎn)品產(chǎn)銷對接與流通效率,扶持農(nóng)村青年創(chuàng)業(yè),以及幫助大學(xué)生村官探索村級經(jīng)濟(jì)產(chǎn)銷模式轉(zhuǎn)型方面,正發(fā)揮著積極作用。

      本文基于SSH架構(gòu)設(shè)計并實現(xiàn)了一款農(nóng)特產(chǎn)品網(wǎng)上銷售系統(tǒng),以大別山區(qū)生態(tài)綠色農(nóng)特產(chǎn)品為產(chǎn)銷服務(wù)對象,旨在通過B2C電商平臺形式,為農(nóng)村扶貧開發(fā)與農(nóng)產(chǎn)品產(chǎn)銷配送提供新方式與手段。

      1系統(tǒng)功能

      構(gòu)建農(nóng)特產(chǎn)品網(wǎng)上銷售系統(tǒng),其功能應(yīng)充分展示農(nóng)特產(chǎn)品信息、滿足客戶購買需求,為順利完成購銷雙方交易活動提供良好服務(wù)。該系統(tǒng)為基于B/S結(jié)構(gòu)的Web系統(tǒng),分為前、后臺2部分。

      1.1前臺模塊

      前臺模塊用戶角色包括瀏覽用戶與會員用戶。實現(xiàn)主要功能有:

      (1)商品瀏覽。實現(xiàn)商品類別分級顯示,提供人氣商品(按商品瀏覽量多少排序)、熱銷商品(銷量較多)及推薦商品展示。

      (2)會員管理。使用購物車功能,用戶需要驗證身份。注冊會員并登錄后,才可進(jìn)行購物及生成訂單系列操作。

      (3)購物車管理。包括保存商品購買信息,調(diào)整某商品訂單條目信息,以及創(chuàng)建購物訂單、實時網(wǎng)上支付等。

      農(nóng)特產(chǎn)品網(wǎng)上銷售系統(tǒng)前臺功能結(jié)構(gòu)如圖1所示。

      圖1農(nóng)特產(chǎn)品網(wǎng)上商城前臺功能結(jié)構(gòu)

      1.2后臺模塊

      系統(tǒng)后臺功能為管理員設(shè)計,主要提供類別管理、商品管理、訂單管理等3大功能。

      管理員登錄后,可進(jìn)行商品類別與商品信息維護(hù)(添、刪、改、查),上傳農(nóng)特產(chǎn)品相關(guān)圖片、介紹,修改、查詢訂單狀態(tài)以及自定義查詢等操作。

      農(nóng)特產(chǎn)品網(wǎng)上銷售系統(tǒng)后臺功能結(jié)構(gòu)如圖2所示。

      2系統(tǒng)架構(gòu)

      2.1SSH框架

      本系統(tǒng)實現(xiàn)基于SSH輕量級架構(gòu),它由J2EE的3個主要框架技術(shù)組合而成。

      (1)Struts框架。該框架基于MVC設(shè)計模式,可將軟件功能分層化,通過控制器將視圖與訪問控制分離,使模塊結(jié)構(gòu)更加清晰[1]。

      (2)Spring框架。該框架優(yōu)勢是分層架構(gòu)技術(shù),允許對其所提供的7個模塊自主選擇合適模塊[2]。Spring核心理念是依賴注入,即將程序之間依賴關(guān)系轉(zhuǎn)移到外部容器中。程序不再自己建立對象,而是由Spring容器根據(jù)需要動態(tài)地建立并注入對象,簡化系統(tǒng)開發(fā)難度。

      (3)Hibernate框架。該框架基于對象/關(guān)系映射(ORM)技術(shù)[3]。通過映射機(jī)制,將對數(shù)據(jù)庫中表記錄處理變成對Java對象的處理,使程序員可將對數(shù)據(jù)庫操作轉(zhuǎn)換成面向?qū)ο笳Z言的操作,減輕編程工作量。

      SSH架構(gòu)融合了三者優(yōu)勢,Struts MVC模式,可方便地搭建系統(tǒng)整體架構(gòu);ORM框架,能直接持久化復(fù)雜的Java對象,將面向?qū)ο蟛僮鬓D(zhuǎn)化為底層SQL操作;IoC機(jī)制,提供強(qiáng)大Bean工廠容器,通過配置方式來描述對象及依賴關(guān)系,實現(xiàn)了層間松耦合。SSH是目前應(yīng)用較廣的Web應(yīng)用開發(fā)框架。

      2.2系統(tǒng)分層

      系統(tǒng)在整體設(shè)計上,采用了SSH分層構(gòu)架技術(shù),分為視圖表示層、業(yè)務(wù)層、數(shù)據(jù)持久層(PO)。其中業(yè)務(wù)層又細(xì)分為:Web控制層(Struts的Action)、業(yè)務(wù)邏輯層、數(shù)據(jù)操作層(DAO)。各層相互獨立,分工明確,層之間通過通信接口聯(lián)系。分層設(shè)計架構(gòu)如圖3所示。

      圖3系統(tǒng)分層架構(gòu)

      分層架構(gòu)中,Struts將頁面與訪問控制分離,當(dāng)它要執(zhí)行控制邏輯時,就調(diào)用Action模塊,Action在處理中若要訪問數(shù)據(jù)庫,則通過負(fù)責(zé)實現(xiàn)業(yè)務(wù)邏輯的Service組件。而Service需調(diào)用DAO接口實現(xiàn)類中的方法,才直接操作數(shù)據(jù)庫[4]。Hibernate將數(shù)據(jù)庫表持久化為POJO類,DAO類再以面向?qū)ο蠓绞綇腜OJO類中讀取數(shù)據(jù)[5]。整合框架以Spring為核心,所有組件包括DAO、Service與Action,都由Spring的ApplicationContext.xml文件進(jìn)行配置管理。

      3系統(tǒng)設(shè)計與實現(xiàn)

      3.1數(shù)據(jù)庫

      根據(jù)系統(tǒng)業(yè)務(wù)功能分析,設(shè)計出系統(tǒng)數(shù)據(jù)庫主要數(shù)據(jù)表:customer_info表(會員)、order_info表(訂單)、order_Detail表(訂單明細(xì))、product_info表(商品)、productsort_info表(商品類別)、Admin_info表(管理員)、uploadfile_info表(上傳文件)。上述表關(guān)聯(lián)關(guān)系如圖4所示。

      圖4系統(tǒng)數(shù)據(jù)表關(guān)系

      3.2視圖表示層

      視圖表示層是Web前端界面,采用HTML、JSP、Struts標(biāo)簽加以實現(xiàn),在這些JSP文件中不需進(jìn)行任何實際業(yè)務(wù)處理。

      3.3業(yè)務(wù)層

      業(yè)務(wù)層主要以Spring為集成環(huán)境[6],整合以下各層:

      3.3.1Web控制層endprint

      即指Struts的Action業(yè)務(wù)控制層,其功能是當(dāng)用戶請求到達(dá)Struts控制器核心,根據(jù)Struts.xml配置信息,轉(zhuǎn)發(fā)給業(yè)務(wù)控制器Action完成數(shù)據(jù)處理,并根據(jù)處理結(jié)果,決定跳轉(zhuǎn)至相應(yīng)頁面。Action并不承擔(dān)直接處理業(yè)務(wù)邏輯,而是調(diào)用業(yè)務(wù)邏輯層組件完成處理。

      Web層實現(xiàn):①創(chuàng)建Action類(根據(jù)對用戶請求處理邏輯編寫);②配置Struts.xml文件,讓程序執(zhí)行成功后跳轉(zhuǎn)到對應(yīng)頁面;③將Struts2的Action類創(chuàng)建交給Spring;④在Action對象中,通過Spring的IoC將ordersService業(yè)務(wù)組件注入。

      3.3.2業(yè)務(wù)邏輯層

      業(yè)務(wù)邏輯層通常包括Service接口與接口實現(xiàn)類。其職責(zé)是提供處理應(yīng)用程序業(yè)務(wù)邏輯與業(yè)務(wù)校驗,需要依賴調(diào)用DAO接口方法對數(shù)據(jù)庫執(zhí)行操作。

      Service組件實現(xiàn):創(chuàng)建相應(yīng)Service接口及接口實現(xiàn)類,在Spring的ApplicationContext.xml文件中進(jìn)行配置。

      3.3.3數(shù)據(jù)操作層

      數(shù)據(jù)操作層通常包括DAO接口與接口實現(xiàn)類。DAO核心思想是將底層數(shù)據(jù)庫訪問操作與業(yè)務(wù)層邏輯分開,Dao組件封裝了數(shù)據(jù)庫增、刪、改、查等操作細(xì)節(jié),所有數(shù)據(jù)庫訪問都通過Dao組件完成。

      DAO實現(xiàn):首先創(chuàng)建相應(yīng)DAO接口與接口實現(xiàn)類,在Spring的ApplicationContext.xml文件中進(jìn)行配置。

      下面以“結(jié)算下訂單”為例,說明實現(xiàn)上述業(yè)務(wù)時各組件調(diào)用關(guān)系:①用戶點擊“Submit”按鈕,該請求到達(dá)服務(wù)器,F(xiàn)ilterDispatcher作為控制器中心,負(fù)責(zé)分配工作,決定調(diào)用Account.java,并回調(diào)其execute()方法,實現(xiàn)下訂單功能;②AccountAction類調(diào)用業(yè)務(wù)層OrdersService接口save()方法,該方法則調(diào)用DAO層OrdersDAOImpl類save(OrdersVo new Order)方法,完成數(shù)據(jù)訪問,實現(xiàn)將訂單項信息存入數(shù)據(jù)表;③OrdersDAO完成下訂單操作后,依次返回信息;④核心控制器根據(jù)返回的success以及struts.xml文件配置,找到order_list.jsp文件,執(zhí)行該文件,轉(zhuǎn)換成HTML頁面(訂單列表),傳遞給瀏覽器。各層組件調(diào)用時序如圖5所示。

      圖5訂單功能實現(xiàn)時序

      上例中,Spring的IOC容器通過配置文件,對AccountAction對象、OrdersServiceImpl對象、OrdersDAOImpl對象生成進(jìn)行管理,并通過依賴注入,將OrdersDAO注入到OrdersService中,再將OrdersService注入到AccounAction中,實現(xiàn)無縫集成[7]。

      配置在ApplicationContext.xml進(jìn)行依賴注入部分代碼如下[8]:

      ref bean="ordersDAO" />

      3.4數(shù)據(jù)持久層

      數(shù)據(jù)持久層設(shè)計在MyEclipse運行環(huán)境下通過Hibernate框架完成。

      首先創(chuàng)建與數(shù)據(jù)表對應(yīng)的Hibemate持久化類及與持久化類對應(yīng)的映射文件。在IoC容器中,對上述映射文件進(jìn)行注冊。接著實現(xiàn)數(shù)據(jù)庫連接。Spring與Hibernate整合后,Spring容器會利用LocalSessionFactoryBean自動創(chuàng)建本地Hibernate的sessionFactory實例對象并接管DAO,并可為其注入dataSource引用[9]。通過ApplicationContext.xml文件配置,dataSource(數(shù)據(jù)源)被注入到sessionFactory中,sessionFactory被注入到DAO中。

      以“結(jié)算下訂單”為例,先在項目文件夾下domain包中,創(chuàng)建與數(shù)據(jù)表Orders表對應(yīng)的持久化類OrdersVo.java與映射文件Ordersvo.hhm.xml,該表中存儲有會員訂單信息。由于DAO注入了sessionFactory對象,而sessionFactory中保存有當(dāng)前數(shù)據(jù)庫配置信息,因此用OrdersDAOImp類調(diào)用HihernateTemplate模板save(newOrder)方法,即可實現(xiàn)將持久化類OrdersVo.java中數(shù)據(jù),保存于數(shù)據(jù)表Orders中對應(yīng)記錄項[10]。

      ApplicationContext.xml部分代碼如下:

      <!配置Hihernatese sessionFactory bean>

      class="org.springframework.orm.hiber-

      nate3.LocalSessionFactoryBean">

      org.hibernate.dialect.MySQLDialect

      <!配置映射文件>

      domain/cartvo.hbm.xml

      domain/ordersvo.hbm.xml

      該系統(tǒng)實現(xiàn)部分界面如圖6、圖7所示。

      圖6商城前臺主界面

      圖7商城后臺系統(tǒng)界面

      4結(jié)語

      本文針對農(nóng)特產(chǎn)品網(wǎng)上銷售需求,基于Struts2+Spring+Hibernate整合框架技術(shù),設(shè)計并實現(xiàn)了一款農(nóng)特產(chǎn)品網(wǎng)上銷售系統(tǒng)。系統(tǒng)開發(fā)過程表明,運用SSH架構(gòu)技術(shù),不僅簡化了系統(tǒng)開發(fā)過程,也使程序設(shè)計更加合理,運行更加穩(wěn)定。

      參考文獻(xiàn)參考文獻(xiàn):

      [1]孟凡奇,曲朝陽,侯松林.SSH架構(gòu)在導(dǎo)師實驗室綜合管理系統(tǒng)開發(fā)中的應(yīng)用[J].計算機(jī)應(yīng)用與軟件,2013,30(8):174177.

      [2]余穎,李曉峋,歐陽純萍.一種SSH框架的在線程序自動評判系統(tǒng)的設(shè)計與實現(xiàn)[J].南華大學(xué)學(xué)報:自然科學(xué)版,2012,26(4):6568.

      [3]堪湘倩,狄文輝.基于J2EE輕量級框架的移動卡類渠道銷售管理系統(tǒng)[J].計算機(jī)工程與設(shè)計,2009(17):9597.

      [4]鄭阿奇.Java EE教程[M].北京:清華大學(xué)出版社,2012.

      [5]趙彥.JavaEE框架技術(shù)進(jìn)階式教程[M].北京:清華大學(xué)出版社,2011.

      [6]霍迎秋.基于SSH架構(gòu)的農(nóng)產(chǎn)品信息交換平臺[J].實驗室研究與探索,2013,32(5):6366.

      [7]趙曉君,崔建濤,鄧璐娟,等.基于SSH2和jQuery的大學(xué)生校園綜合服務(wù)平臺的設(shè)計與實現(xiàn)[J].鄭州輕工業(yè)學(xué)院學(xué)報:自然科學(xué)版,2014,29(3):100104.

      [8]馬慧斌.JavaEE框架技術(shù)研究及其在OAO電子商務(wù)模式中的實現(xiàn)[D].西安:長安大學(xué),2013.

      [9]李雷孝,劉曉軍,劉利民,等.基于SSH整合框架的科研項目管理系統(tǒng)的設(shè)計與實現(xiàn)[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報,2012,33(1):210214.

      [10]劉勇軍,王電鋼.Java EE項目應(yīng)用開發(fā)[M].北京:電子工業(yè)出版社,2012.

      責(zé)任編輯(責(zé)任編輯:何麗)endprint

      猜你喜歡
      S結(jié)構(gòu)電商平臺
      基于PHP的發(fā)印管理系統(tǒng)的實現(xiàn)
      基于電商平臺的大學(xué)生互聯(lián)網(wǎng)創(chuàng)業(yè)經(jīng)濟(jì)研究
      基于Java的網(wǎng)上商城開發(fā)
      基于B/S結(jié)構(gòu)的通信部隊訓(xùn)練管理系統(tǒng)的設(shè)計研究
      試析我國個人消費信貸領(lǐng)域發(fā)展面臨的主要挑戰(zhàn)
      基于用戶體驗的電商平臺界面管理影響因素研究
      科技視界(2016年20期)2016-09-29 11:07:22
      試論電商平臺主導(dǎo)的供應(yīng)鏈融資
      三明市| 贵阳市| 星子县| 乌苏市| 团风县| 奉节县| 八宿县| 伊川县| 凤凰县| 伊宁市| 临猗县| 平邑县| 荥经县| 桑日县| 清河县| 徐州市| 昌黎县| 曲沃县| 来安县| 上饶县| 潜山县| 滨海县| 友谊县| 香河县| 永昌县| 广水市| 宁波市| 阿图什市| 兰州市| 商水县| 松江区| 勐海县| 淮南市| 靖宇县| 柞水县| 绥化市| 巴青县| 海伦市| 韶关市| 若尔盖县| 崇礼县|