999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2017-12-02 07:36:59劉方
軟件導(dǎo)刊 2017年11期

劉方

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

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

DOIDOI:10.11907/rjdk.172246

中圖分類號(hào):TP319

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

0引言

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

本文基于SSH架構(gòu)設(shè)計(jì)并實(shí)現(xiàn)了一款農(nóng)特產(chǎn)品網(wǎng)上銷售系統(tǒng),以大別山區(qū)生態(tài)綠色農(nóng)特產(chǎn)品為產(chǎn)銷服務(wù)對(duì)象,旨在通過(guò)B2C電商平臺(tái)形式,為農(nóng)村扶貧開(kāi)發(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)品信息、滿足客戶購(gòu)買需求,為順利完成購(gòu)銷雙方交易活動(dòng)提供良好服務(wù)。該系統(tǒng)為基于B/S結(jié)構(gòu)的Web系統(tǒng),分為前、后臺(tái)2部分。

1.1前臺(tái)模塊

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

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

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

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

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

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

1.2后臺(tái)模塊

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

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

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

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

2.1SSH框架

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

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

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

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

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

2.2系統(tǒng)分層

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

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

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

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

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

根據(jù)系統(tǒng)業(yè)務(wù)功能分析,設(shè)計(jì)出系統(tǒng)數(shù)據(jù)庫(kù)主要數(shù)據(jù)表:customer_info表(會(huì)員)、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)簽加以實(shí)現(xiàn),在這些JSP文件中不需進(jìn)行任何實(shí)際業(yè)務(wù)處理。

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

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

3.3.1Web控制層endprint

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

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

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

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

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

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

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

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

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

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

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

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

ref bean="ordersDAO" />

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

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

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

以“結(jié)算下訂單”為例,先在項(xiàng)目文件夾下domain包中,創(chuàng)建與數(shù)據(jù)表Orders表對(duì)應(yīng)的持久化類OrdersVo.java與映射文件Ordersvo.hhm.xml,該表中存儲(chǔ)有會(huì)員訂單信息。由于DAO注入了sessionFactory對(duì)象,而sessionFactory中保存有當(dāng)前數(shù)據(jù)庫(kù)配置信息,因此用OrdersDAOImp類調(diào)用HihernateTemplate模板save(newOrder)方法,即可實(shí)現(xiàn)將持久化類OrdersVo.java中數(shù)據(jù),保存于數(shù)據(jù)表Orders中對(duì)應(yīng)記錄項(xià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)實(shí)現(xiàn)部分界面如圖6、圖7所示。

圖6商城前臺(tái)主界面

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

4結(jié)語(yǔ)

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

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

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

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

[3]堪湘倩,狄文輝.基于J2EE輕量級(jí)框架的移動(dòng)卡類渠道銷售管理系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),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)品信息交換平臺(tái)[J].實(shí)驗(yàn)室研究與探索,2013,32(5):6366.

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

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

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

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

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

主站蜘蛛池模板: 国模私拍一区二区三区| 婷婷成人综合| 国产在线91在线电影| 天天躁日日躁狠狠躁中文字幕| 中文字幕在线观| 无码在线激情片| 人人艹人人爽| 亚洲无码高清一区二区| 小13箩利洗澡无码视频免费网站| 亚洲国产精品日韩av专区| 呦女精品网站| 无码国产伊人| 国产区免费精品视频| 波多野结衣一二三| 亚洲欧美日韩成人在线| 丁香五月激情图片| 久久香蕉国产线看观看精品蕉| 三上悠亚精品二区在线观看| 99精品这里只有精品高清视频| 国产毛片久久国产| 丁香五月激情图片| 精品国产一区二区三区在线观看| 国产成人资源| 免费无码在线观看| 国产天天色| 日本伊人色综合网| 伊人久综合| 在线日韩日本国产亚洲| 91啪在线| 精品久久综合1区2区3区激情| 久草国产在线观看| 亚洲日本精品一区二区| 99视频在线免费看| 91丨九色丨首页在线播放| 日本高清有码人妻| 成人午夜天| 国产靠逼视频| 日韩av手机在线| 国产亚洲欧美在线人成aaaa| 国产一级二级在线观看| 在线亚洲精品自拍| 91无码网站| 欧美色综合久久| 国产精品女熟高潮视频| 久青草国产高清在线视频| 99在线观看国产| 欧美日韩动态图| 伊人五月丁香综合AⅤ| 国产高潮视频在线观看| 国产va在线观看| 香蕉久久永久视频| 韩国自拍偷自拍亚洲精品| 亚洲国产91人成在线| 97国内精品久久久久不卡| 欧美a网站| 欧美日韩亚洲综合在线观看| 欧美成人精品一级在线观看| 5555国产在线观看| 亚洲国产综合自在线另类| 午夜日b视频| 亚洲第一成网站| 综合色区亚洲熟妇在线| 欧美国产综合视频| 亚洲国产黄色| 色婷婷在线影院| 91精品国产自产在线观看| 欧美色视频日本| 亚洲精品无码高潮喷水A| 国产美女一级毛片| 日韩av无码精品专区| 国产精品视频第一专区| 91色爱欧美精品www| 欧美亚洲国产精品久久蜜芽| 日韩无码黄色| 欧美在线观看不卡| 日韩123欧美字幕| 不卡网亚洲无码| 久久女人网| 国产经典在线观看一区| 超清无码熟妇人妻AV在线绿巨人| 国产成人高清亚洲一区久久| 国产精品丝袜在线|