亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android和JavaEE訂餐系統(tǒng)的設計與實現

        2016-05-30 06:32:40羅國濤
        軟件工程 2016年10期

        摘 要:針對目前手機訂餐系統(tǒng)客戶端與服務器端數據傳輸效率低,以及訂餐后臺管理系統(tǒng)架構可擴展性較弱,本文提出并實現了一種基于Android和JavaEE的手機訂餐系統(tǒng)。訂餐客戶端采用Json數據格式與服務器端進行數據交互,提高了網絡數據傳輸效率。訂餐后臺管理系統(tǒng)采用SSH2+DWR整合框架使得展示層、業(yè)務層以及數據持久層三層分離,降低了系統(tǒng)的耦合性,提高了系統(tǒng)的擴展性與可維護性。實踐證明,該架構實現的訂餐系統(tǒng)能提高餐館或者酒店的點菜服務質量以及網上訂餐效率。

        關鍵詞:Android;SSH2;數據模型;Json數據格式;DWR

        中圖分類號:TP311.52 文獻標識碼:A

        1 引言(Introduction)

        隨著計算機和通信設備網路技術的不斷發(fā)展,人們對移動設備特別是Android移動終端開發(fā)出功能強大、界面美觀且操作簡易的應用程序提出了更高的要求[1]。JavaEE是當前比較流行的Web服務應用框架[2],Android移動終端如何與JavaEE服務器端進行數據交互成為新的研究熱點[3]。隨著人們工作的繁忙、生活節(jié)奏的加快、有部分人沒有充足的時間到餐館或者酒店就餐,他們希望通過智能手機在網上進行訂餐。如何利用基于Android的智能手機終端開發(fā)移動App,向顧客提供一種便捷、高效的餐飲服務具有重要的現實意義和廣泛的應用價值。文獻[4—7]雖然設計并實現了基于Android平臺的訂餐系統(tǒng),但服務器端采用普通的Servlet控制器與Android客戶端進行數據交互,對后期服務器的擴展具有一定的局限性,同時服務器端與手機客戶端數據交互采用xml文件格式,數據傳輸效率有待提高。文獻[8]雖然服務器端采用的是WebService與手機客戶端進行數據交互,但對訂餐后臺管理系統(tǒng)的架構研究較少,因此,本文提出并實現了一種基于Android和JavaEE的手機訂餐系統(tǒng),服務器端采用Struts2+Spring4+Hibernate4+DWR整合框架,該整合框架可以提高后臺管理系統(tǒng)的用戶使用體驗,手機客戶端與服務器端的數據交互采用JSON格式,可以提高網絡數據的傳輸效率。該系統(tǒng)是對現有訂餐系統(tǒng)的一種補充,對類似系統(tǒng)的開發(fā)具有一定的參考價值。

        2 系統(tǒng)設計(Design of system)

        2.1 系統(tǒng)功能總體設計

        基于Android和JavaEE的訂餐系統(tǒng)包含基于Android的手機訂餐模塊和基于JavaEE的訂餐后臺管理模塊。基于Android的手機訂餐模塊包括顧客登錄和廚師登錄。顧客登錄成功后可以瀏覽菜品、添加購物車、查看我的訂單,以及對菜品進行評價。

        廚師登錄成功后可以瀏覽訂單、修改菜品制作狀態(tài)?;贘avaEE的訂餐后臺管理模塊包括系統(tǒng)管理、菜品類別管理、菜譜管理、訂單管理、菜品留言管理、菜品評價管理和結算管理等功能。系統(tǒng)總體功能設計如圖1所示。

        2.2 系統(tǒng)架構總體設計

        系統(tǒng)架構總體設計采用Android手機客戶端訪問JavaEE服務器端的C/S架構與訂餐后臺管理系統(tǒng)通過Web瀏覽器訪問JavaEE服務器端的B/S架構相結合的架構模式,其中,JavaEE服務器端直接訪問應用數據庫進行數據存取,并將數據返回給Android手機客戶端和Web瀏覽器。系統(tǒng)總體架構如圖2所示。

        整個系統(tǒng)的數據執(zhí)行流程為服務器端的訂餐后臺管理系統(tǒng)通過Web瀏覽器向服務器端請求存取數據操作如添加菜品類型和菜譜信息,服務器端接收請求數據后將數據存入數據庫,并將存入數據庫中的數據返回服務器端,服務器端再將數據返回瀏覽器。Android手機客戶端要顯示菜品信息需要聯網請求服務器,服務器再根據需求訪問數據庫,數據庫系統(tǒng)處理完數據后將數據返回服務器端,服務器端將數據轉換成Json格式后再返回給Android手機客戶端。從整個系統(tǒng)數據流的執(zhí)行過程來看,Android手機客戶端和Web瀏覽器共用了JavaEE服務器端從而完成了數據的交互。

        2.3 系統(tǒng)服務器架構設計

        從系統(tǒng)總體設計的數據流執(zhí)行過程來看,Android手機客戶端和Web瀏覽器共用了同一個服務器端,因此服務器端的架構設計就顯得尤為重要。在JavaEE平臺下,服務器端的架構大都采用三層架構,比較典型的框架有采用MVC模式的Jsp+Servlet+JavaBean、Struts+Spring+Hibernate(SSH)和Struts2+Spring4+Hibernate4(SSH2)。其中Jsp+Servlet+JavaBean框架雖然采用MVC模式將顯示層、控制層和模型層分開,但由于Servlet和JavaBean負責了大量的運算和業(yè)務處理工作,程序處理效率較為低下。SSH框架雖然也將視圖層、控制器與模型的徹底分開,但由于Struts框架存在線程安全、捕獲輸入較難,以及視圖展示都弱于Struts2框架等問題[9],因此本系統(tǒng)服務器端的架構方案采用SSH2整合框架,整個系統(tǒng)架構設計如圖3所示。

        在Struts2+Spring4+Hibernate4整合框架中,Struts2主要用于Web展示和業(yè)務控制,Spring4主要用于業(yè)務實現和事務管理,而Hibernate4則用于數據持久化處理。在Struts2中Web瀏覽器請求服務器端的JSP頁面,JSP調用Struts2中的Action完成數據的交互,而手機客戶端則直接調用Struts2中的Action完成數據的交互。不論是Web端的JSP請求Struts2中的Action還是手機客戶端請求Struts2中的Action,都需要通過Struts.xml配置文件實現業(yè)務處理或頁面跳轉等動作。Action最終將業(yè)務層的執(zhí)行結果返回給Web瀏覽器或者手機客戶端。Spring4負責處理業(yè)務邏輯及事務管理,并將Struts2層傳遞過來的數據依賴注入到持久層。在持久層中,Hibernate4是一個功能強大的ORM工具,它主要包括對數據源的配置、POJO組件以及DAO組件的管理,處理DAO組件的數據,并將處理結果返回給業(yè)務層,業(yè)務層再將數據返回給表示層,最終通過瀏覽器或者手機客戶端展示數據。

        3 系統(tǒng)實現(Implementation of system)

        3.1 訂餐系統(tǒng)服務器端數據封裝

        在基于JavaEE的訂餐后臺管理系統(tǒng)中,服務器端數據的封裝既可以是JSON數據格式也可以是XML數據格式,由于JSON數據格式封裝的數據在網絡傳輸與解析中優(yōu)于XML數據[10],因此在本系統(tǒng)中服務器端的數據采用JSON封裝。JSON即JavaScript Object Natation,它主要用于Web服務器與JavaScript或者手機客戶端進行交互的一種純文本的數據處理格式。該數據處理格式既可以處理字符串類型、數字類型、布爾類型、數組類型,也可以處理對象。在項目開發(fā)中,可以將字符串String、Object對象、JavaBean對象、List集合、數組對象、Map集合、Set集合等按照一定的算法封裝成JSON格式的數據。在本系統(tǒng)開發(fā)中,服務器首先從數據庫服務器獲取數據,然后將數據存入List集合中,再將List集合中的數據封裝成JSON數據格式,List集合數據封裝成JSON格式數據的主要實現代碼如下:

        public static String getJson(List<?>foodList) {

        StringBuffer stringBuffer=new StringBuffer();//創(chuàng)建可改變的字符串對象stringBuffer

        //向stringBuffer對象中追加數據

        stringBuffer.append("{");stringBuffer.append("\"showGoodsList\":");

        stringBuffer.append("[");

        //獲取訂餐列表foodList中值的大小

        int length=foodList.size();

        //將foodList中的值轉換成JSON數據格式

        if(length>0)

        {

        if (foodList!=null) {

        for (Object obj:foodList) {

        stringBuffer.append(getJson(obj));

        stringBuffer.append(",");

        }

        stringBuffer.setCharAt(stringBuffer.length()-1,']');

        stringBuffer.append("}");

        }

        }

        else {

        stringBuffer.append("]}");

        }

        return stringBuffer.toString();

        }

        在上述算法中,需要首先通過菜品信息管理界面將菜品信息添加到數據庫中,然后Android客戶端在訪問菜品信息時再從數據庫中按照一定的條件查詢出數據,再將查詢出來的數據封裝到List集合中,再將封裝好的List集合數據采用本算法封裝成JSON數據格式,并將該格式數據傳遞給Android客戶端。

        3.2 訂餐系統(tǒng)客戶端數據解析

        在Android應用系統(tǒng)開發(fā)中,Android客戶端經常與服務器端進行數據通信。由于在本系統(tǒng)中服務器端的數據都是封裝成JSON格式的數據,因此在Android手機客戶端解析JSON數據就顯得尤為重要。在Android客戶端解析用List類型封裝的JSON格式的數據代碼實現如下:

        public ListgetFoodList() {

        List

        通過上述Android客戶端解析用List類型封裝的JSON格式數據后,將得到的List類型數據通過SimpleAdapter適配器將數據映射到Android XML文件上,得到菜品數據列表。

        3.3 SSH2+DWR整合框架應用

        在基于JavaEE的訂餐后臺管理系統(tǒng)中,Web頁面經常要與服務器端進行數據交互,而大多數Web頁面希望與服務器進行數據交換時只能局部刷新頁面,這樣能提高用戶的使用體驗,而要實現Web頁面局部刷新,可以采用Ajax框架,而Ajax框架有很多,如Extjs、Gwt、Dwr、JQuery等,其中DWR(Direct Web Remoting)是Getahead推出的基于java的Ajax框架,它能夠將服務器端的java代碼轉換成JavaScript中引用的對象,從而簡化客戶端javaScript的編程。為了提高Web頁面中Javascript編程效率,本系統(tǒng)采用DWR框架與SSH2框架整合應用實現后臺管理系統(tǒng)功能,其整合步驟如下:

        (1)在web.xml文件中配置DwrServlet來加載DWR框架,部分代碼如下:

        dwr

        org.directwebremoting.servlet.DwrServlet

        ...

        ...

        (2)在WEB-INF工程下面創(chuàng)建dwr.xml文件,在該文件中通過creator屬性定義服務器端的java類的產生方式。如果creator="new",則直接調用普通的類,如果creator="spring",則通過Spring文件中的bean組件找到需要調用的java類,并將該java類生成javaScript代碼供jsp調用。在本系統(tǒng)中dwr采用Spring文件的方式將java類生成javaScript的部分代碼如下:

        在該代碼中,spring文件中bean組件所對應的代碼為:

        而UserServiceImpl所對應的java類代碼如下:

        public class UserService Implimplements IUserService{

        {...}

        }

        在jsp中要用dwr框架來調用服務器端產生的javaScript代碼,需要在jsp中導入DWR核心庫文件util.js、engine.js,以及動態(tài)生成的js庫文件DWRUser.js。Jsp中通過DWR調用java類中的方法的部分代碼如下:

        4 結論(Conclusion)

        本文提出了基于Android和JavaEE訂餐系統(tǒng)的設計與實現,整個系統(tǒng)由Android手機客戶端、JavaEE服務器端和數據庫三部分組成。JavaEE服務器端采用SSH2整合框架將服務器端的架構分為展示層、業(yè)務邏輯層以及數據持久層,這樣不

        參考文獻(References)

        [1] Xinjun Xu,Liu Yue,Du Cui.Design and Implementation of Personnel Location System Based on Android.Proceedings of 2014 International Conference on Advances in Materials Science and Information Technologies in Industry(AMSITI 2014)[C].Applied Mechanics and Materials,2014:1038-1041.

        [2] Zhenwu Wang.A Rapid Development Framework of Enterprise Information System Based on Components and JavaEE.Computer Science and its Applications:Ubiquitous Information Technologies,6th FTRA International Conference on Computer Science and its Applications(CSA 2014)[C].Springer Berlin Heidelberg,2015:639-645.

        [3] Jiantao Zhao,Chen Feng.Design and implementation of mobile operation maintenance management system based on Java EE and Android.2015 6th IEEE International Conference on Software Engineering and Service Science(ICSESS 2015)[C].IEEE,2015:349-352.

        [4] 凡海飛.基于Android平臺的無線點菜系統(tǒng)的設計與實現[D].華中科技大學,2011.

        [5] 符濤.基于Android平臺的WLAN自助訂餐系統(tǒng)設計與實現[D].西安電子科技大學,2013.

        [6] 林星錦.基于Android平臺的無線訂餐系統(tǒng)的設計與實現[D].北京交通大學,2013.

        [7] 栗鑫林.基于移動手機平臺的智能點餐系統(tǒng)的設計與實現[D].電子科技大學,2014.

        [8] 蔡奕彬,等.基于Web Service的Android餐飲點菜系統(tǒng)的設計與實現[J].計算機與現代化,2013,(4):120-124.

        [9] 張磊.基于SSH2架構的電子商務系統(tǒng)設計與實現[D].黑龍江大學,2011.

        [10] 高靜,段會川.JSON數據傳輸效率研究[J].計算機工程與設計,2011,32(7):2267-2270.

        作者簡介:

        羅國濤(1982-),男,碩士,副教授.研究領域:軟件工程,移

        動應用開發(fā).

        国产成人精品蜜芽视频| 亚洲成av人在线观看天堂无码| 秋霞鲁丝片av无码| 中国精品视频一区二区三区| 在线亚洲国产一区二区三区 | аⅴ资源天堂资源库在线| 99福利网| 国产精品麻豆aⅴ人妻| 69av视频在线| 毛茸茸的女性外淫小视频| 蜜臀av一区二区三区久久| 高清偷自拍亚洲精品三区 | 又粗又大又黄又爽的免费视频| 国产精品伦人视频免费看| 精品一区二区三区国产av| 精品国产偷窥一区二区| 国精产品一品二品国在线| 偷拍熟女亚洲另类| 亚洲免费一区二区三区四区| 亚洲av片在线观看| 亚洲区小说区图片区| 成人性生交c片免费看| 亚洲av天堂在线视频| 中文字幕日韩精品无码内射| 在线观看av国产自拍| 亚洲精品在线一区二区| 18禁黄网站禁片免费观看女女| 男同gay毛片免费可播放| 亚洲人成人99网站| 中文字幕东京热一区二区人妻少妇| 97久人人做人人妻人人玩精品 | 亚洲av无码乱码国产精品久久| 18分钟处破好疼哭视频在线观看| 免费国产黄线在线播放| 91久久大香伊蕉在人线国产| 亚洲色图片区| 特级毛片a级毛片在线播放www| 一区二区三区婷婷中文字幕| 亚洲中文字幕在线综合| 欧美肥胖老妇做爰videos| 日韩在线精品在线观看|