• 
    

    
    

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

      ?

      基于多層架構的糕點展銷平臺設計與實現(xiàn)

      2019-03-30 02:10:40梁臘梅
      四川文理學院學報 2019年2期
      關鍵詞:表示層糕點后臺

      梁 弼,梁臘梅

      (1.四川文理學院 智能制造學院,四川 達州635000;2.中共西充縣委黨校,四川 西充637200)

      1 引言

      互聯(lián)網時代,網絡購物、網絡出行、網絡點餐等已經成為人們日常生活的一部分.人們可以通過網絡自由、便捷地購買自己想穿的服裝、想吃的食品、想用的器具等,各類網店不但方便了人們生活,而且促進了經濟快速發(fā)展.糕點作為一種食品越來越受人們喜歡,生日蛋糕是壽星當天必需的糕點,如何購買到滿意的糕點對購買者來說非常重要.因此,本文通過開發(fā)一套別具特色的糕點展銷平臺來為廣大用戶提供網絡服務,讓他們足不出戶就能購買到自己想要的美味糕點,從而達到展示和銷售糕點的目的,并有效提高糕點的銷售量.

      本糕點展銷平臺的主要功能模塊包括瀏覽模塊、購買模塊、訂單模塊、推薦模塊和管理模塊等.整個系統(tǒng)采用多層架構設計模式,將其劃分為表示層、控制層、業(yè)務邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)庫層,并通過目前主流的 Ajax、HTML5、SSM(SpringMVC+Spring+MyBatis)等技術來實現(xiàn).[1]其中,后臺功能使用SSM框架技術來開發(fā),前端主要使用 HTML5、JS、CSS、Ajax等技術來實現(xiàn),前端與后臺“握手”則通過在jQuery中使用Ajax來向后臺發(fā)出異步請求,并通過JSON接受后臺返回的信息,這便有效提高了糕點展銷平臺的性能.[1]

      2 多層架構

      目前,國內外主流的分層架構體系應該是J2EE的多層Web應用架構,它將整個Web應用系統(tǒng)劃分為表示層、業(yè)務邏輯層及數(shù)據(jù)持久層,并且每一層分別承擔特定的任務.[2]其中,表示層用來接收/響應用戶請求,同時實現(xiàn)對數(shù)據(jù)的動態(tài)顯示,該任務一般由Struts、JSP等技術來完成;業(yè)務邏輯層完成應用系統(tǒng)具體的業(yè)務邏輯功能,該任務主要由Spring、EJB等技術來承擔;而數(shù)據(jù)持久層則完成O-R映射,并以簡便的方式來訪問后臺關系型數(shù)據(jù)庫,它通過 Hibernate、MyBatis等技術來完成.這樣Web應用的各層任務便分別通過相應的技術來實現(xiàn),并彼此相互協(xié)作一起完成整個Web應用的功能.

      因為這種三層架構設計模式不但有利于項目任務的分工,而且有利于Web系統(tǒng)后期的開發(fā)、部署、維護和擴展,所以目前已廣泛應用于各種企業(yè)級Web應用,如在線購物平臺、網上訂票系統(tǒng)等.并且,隨著用戶需求越來越多,Web系統(tǒng)變得越來越復雜,傳統(tǒng)三層架構也滿足不了現(xiàn)代Web系統(tǒng)開發(fā)的需求,所以我們提出了表示層、控制層、業(yè)務邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)庫層五層架構模式.[3]并將其應用于糕點展銷平臺,增強其可擴展性和可可維護性等性能,然后通過當前主流的Ajax、SSM等技術來實現(xiàn),以此證明其可行性.

      3 平臺設計

      3.1 平臺構架設計

      本糕點展銷平臺采用五層架構模式來進行設計,其多層架構設計圖如下圖1所示:

      圖1 糕點展銷平臺架構圖[4]

      由上圖1可知,表示層通過頁面Page的方式讓用戶發(fā)送請求給后臺,并將后臺傳過來的數(shù)據(jù)展現(xiàn)給用戶,從而實現(xiàn)數(shù)據(jù)可視化,該層功能主要通過Ajax、Html5、JSP等技術來實現(xiàn).控制層通過控制器Controller來接收并處理表示層傳來的請求信息,同時也負責會話管理,以及將業(yè)務邏輯層處理后的結果返回給表示層,該層功能主要由Spring MVC技術來負責完成.業(yè)務邏輯層主要負責處理系統(tǒng)的實際業(yè)務邏輯功能,如糕點推薦、訂購糕點、糕點管理、訂單管理等.這些功能通過Spring相關技術來實現(xiàn),并使用Spring IoC有效管理這些功能所對應的業(yè)務Bean.數(shù)據(jù)持久層完成對象關系映射,實現(xiàn)數(shù)據(jù)持久化,并負責對后臺數(shù)據(jù)的CRUD操作,該層功能使用MyBatis技術來實現(xiàn).數(shù)據(jù)庫層負責對本平臺數(shù)據(jù)的管理功能,它通過MySQL數(shù)據(jù)庫工具來實現(xiàn).

      3.2 平臺功能模塊設計

      本平臺功能模塊包括前臺和后臺模塊.其中,前臺為普通用戶服務,主要功能有注冊登錄、個人中心、成品展示、糕點推薦、廚藝展示、訂購糕點以及費用支付等;后臺面向管理員,其功能主要有用戶管理、糕點管理、訂單管理、圖片管理以及盟友管理等.總的來講,本糕點展銷平臺功能設計如下圖2所示:

      圖2 糕點展銷平臺功能圖

      其中,前臺的成品展示功能主要展示已做好的精美糕點,其頁面采用流式布局,通過點擊圖片可以放大顯示高清糕點效果圖,并以輪播圖模式來顯示;糕點推薦功能是廚師推薦一些新式糕點,或根據(jù)用戶偏好或營養(yǎng)來為用戶推薦相應的糕點,更好地滿足不同用戶需求;友情加盟通過在地圖上點擊全國各地區(qū)就可以顯示出地區(qū)的門店信息,以便于用戶考慮是否加盟該糕點店.后臺的用戶管理實現(xiàn)對注冊用戶信息的管理,包括用戶每次購買糕點后所獲得積分管理、會員等級管理、會員特權管理等;訂單管理主要對用戶購買糕點產生訂單時初始狀態(tài)為未發(fā)貨,店家發(fā)貨后狀態(tài)更改為已發(fā)貨,最后用戶收貨后狀態(tài)更改為已收貨,并歸檔訂單;糕點管理完成對不同糕點的增加、修改和刪除操作,時刻滿足用戶不同的需求;銷售管理通過使用Echarts圖統(tǒng)計各種糕點的銷售情況,方便商家考慮以后售賣糕點類型,進而提高其銷售量.

      4 平臺實現(xiàn)

      本糕點展銷平臺根據(jù)其架構設計依次按照表示層、控制層、業(yè)務邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)庫層來實現(xiàn)其相應的功能.

      4.1 表示層

      本糕點展銷平臺的表示層主要使用Ajax、HTML5以及jQuery代碼庫等來實現(xiàn),通過這些前端技術輕松便捷地將后臺返回的數(shù)據(jù)顯示給用戶.其中,顯示糕點銷售情況還采用Echarts設計模板,它將糕點數(shù)據(jù)相關信息從后臺數(shù)據(jù)庫取出后賦給Echarts模板,頁面上便可以快速顯示出糕點的統(tǒng)計結果,其實現(xiàn)過程如下:

      首先,基于準備好的dom,初始化echarts實例.

      var myChart = echarts.init(document.getElementById('main-line'));

      #foreach($num in$list)$num.jy_num,#end

      然后,使用指定的配置項和數(shù)據(jù)顯示圖表.

      myChart.setOption({

      title:{text:'SweetPastry'},tooltip:{},egend:{data:['銷量'],

      xAxis:{data:[#foreach($num in$list)$num.jy_num,#end],

      yAxis:{},

      series:[{ame:'銷量',type:'bar',ata:[#foreach($num in $list)'$num.zy',#end]]……

      最后的運行效果如下圖3所示:

      圖3 Echarts統(tǒng)計顯示糕點銷售量[5]

      4.2 控制層

      本糕點展銷平臺的控制層使用Spring MVC來實現(xiàn),而且Spring MVC所實現(xiàn)的代碼具有良好的擴展性.該層處于表示層和業(yè)務邏輯層之間,主要通過Controller來完成對請求數(shù)據(jù)的控制轉發(fā),以下為訂單控制器的核心代碼:

      @Controller

      @RequestMapping( "/order ")

      public class OrderController{

      @Resource

      OrderService orderService;……

      @RequestMapping( "/inall-order ")

      public ModelAndView inAllOrder(Model model,@RequestParam (value= "currentPage ",defaultValue= "1 ")int currentPage){

      PageHelper.startPage(currentPage,6);

      List<Map<String,Object>>list=orderService.getAllOrder();

      PageInfo pageInfo=new PageInfo(list,6);

      model.addAttribute( "page " ,pageInfo);

      ModelAndView view = new ModelAnd-View( "bam/all-order ");

      return view;}……}[6]

      4.3 業(yè)務邏輯層

      本糕點展銷平臺的業(yè)務邏輯層通過編寫Java Bean來實現(xiàn)所需的具體業(yè)務功能,并通過Spring注解功能有效減少了Java代碼量,同時采用Spring IoC容器的掃描功能來自動管理這些業(yè)務Bean.其中糕點業(yè)務Bean主要代碼如下,其它業(yè)務Bean類似.

      @Service

      public classPastry ServiceImpl implements PastryService{

      @Resource

      PastryDao pastryDao;

      @Override

      public List<Pastry> getTop5Pastries(){return pastryDao.getTop5Pastries();}

      @Override

      public List<Pastry> getOnSalePastries(){return pastryDao.getOnSalePastries();}

      @Override

      public List<Map<String,Object>>get-PhotosByPastryId(int pastryId){

      returnpastryDao.getPhotosByPastryId(pastryId);}……}[7]

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

      本糕點展銷平臺的數(shù)據(jù)持久層使用MyBatis來實現(xiàn),該技術提供了數(shù)據(jù)庫查詢的自動對象綁定功能,它將SQL寫在XML文件中,通過編寫簡單的XML配置實現(xiàn)POJO與數(shù)據(jù)表的映射,只需編寫原生態(tài)SQL語句就能靈活地完成對數(shù)據(jù)表中數(shù)據(jù)的訪問操作,進而實現(xiàn)該平臺中數(shù)據(jù)的持久化任務.以下為糕點訂單的映射配置核心代碼:

      <mapper namespace= "com.dao.OrderDao ">

      <select id= "getTotlaCount "resultType= "int ">

      select count(*)from t_order

      </select>

      <insert id= "addOrder "parameterType= "com.entity.Order "useGeneratedKeys= "true "

      keyProperty= "orderId ">

      INSERT INTO t_order(orderReceiver,userId,orderPhone,orderAddress,orderPay,email,

      express,createTime)VALUES(# {order-Receiver},#{userId},#{orderPhone},

      # {orderAddress}, # {orderPay},#{email},#{express},NOW())

      </insert>

      <update id= "updateStateByOid ">

      UPDATE cartorder a SET a.state=1 WHERE a.oId=#{oId}</update>……</mapper>[8]

      4.5 數(shù)據(jù)庫層

      本糕點展銷平臺的數(shù)據(jù)庫層通過使用MySQL來實現(xiàn)對所有數(shù)據(jù)的管理,所實現(xiàn)的數(shù)據(jù)表主要有糕點表、糕點類型表、訂單表、訂單子類表、用戶表、廚師表等.

      結 語

      本文基于多層架構并采用HTML5、Ajax及SSM開發(fā)了一個別具特色的糕點展銷平臺,這為廣大消費者購買糕點提供了一個新的選擇方式.實踐證明,采用該方式所開發(fā)的糕點展銷平臺具有良好的可擴展性和可維護性,這為平臺后期的擴展和維護帶來了方便.本糕點展銷平臺對糕點進行詳細分類,提供更多的選擇空間給用戶,用戶只需要瀏覽前臺所展示的糕點信息,便可以輕松了解到實體店內對應的糕點,并選擇自己所喜愛的糕點購買.而且本平臺使用瀑布流式布局很好地解決了因圖片多而導致系統(tǒng)加載速度慢的問題,這在一定程度上緩解了客戶端瀏覽器的壓力,有效提升了用戶體驗.

      猜你喜歡
      表示層糕點后臺
      基于Spring的企業(yè)級Web項目架構設計研究
      軟件(2019年6期)2019-10-08 06:27:21
      糕點世界的小偷
      小小糕點師
      后臺暗戀
      小小糕點師
      美味的糕點
      ASP.NET三層構架解析
      前臺、后臺精彩花絮停不了
      風采童裝(2016年2期)2016-08-02 09:18:38
      基于SSH框架科研管理系統(tǒng)的設計
      電力調度中后臺監(jiān)控系統(tǒng)的應用
      河南科技(2014年11期)2014-02-27 14:10:03
      湖南省| 阿克陶县| 屯门区| 钦州市| 新宁县| 分宜县| 温宿县| 铜鼓县| 府谷县| 伊宁市| 竹溪县| 府谷县| 绍兴县| 武山县| 思南县| 广德县| 封开县| 吴川市| 水富县| 沙田区| 墨玉县| 陇西县| 时尚| 韶关市| 湘潭市| 麻栗坡县| 米林县| 舞钢市| 蒙自县| 长武县| 墨脱县| 台安县| 吴旗县| 星子县| 夹江县| 阿拉善左旗| 黑龙江省| 神木县| 哈密市| 磐安县| 赤壁市|