基于Android和JavaEE订餐系统的设计与实现.docx
《基于Android和JavaEE订餐系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Android和JavaEE订餐系统的设计与实现.docx(8页珍藏版)》请在三一文库上搜索。
1、基于Android和JavaEE订餐系统的设计与实现1 引言(Introduction)随着计算机和通信设备网路技术的不断发展,人们对移动设备特别是Android移动终端开发出功能强大、界面美观且操作简易的应用程序提出了更高的要求【1】。JavaEE是当前比较流行的Web服务应用框架【2】,Android移动终端如何与JavaEE服务器端进行数据交互成为新的研究热点【3】。随着人们工作的繁忙、生活节奏的加快、有部分人没有充足的时间到餐馆或者酒店就餐,他们希望通过智能手机在网上进行订餐。如何利用基于Android的智能手机终端开发移动App,向顾客提供一种便捷、高效的餐饮服务具有重要的现实意义和
2、广泛的应用价值。文献虽然设计并实现了基于Android平台的订餐系统,但服务器端采用普通的Servlet控制器与Android客户端进行数据交互,对后期服务器的扩展具有一定的局限性,同时服务器端与手机客户端数据交互采用xml文件格式,数据传输效率有待提高。文献虽然服务器端采用的是WebService与手机客户端进行数据交互,但对订餐后台管理系统的架构研究较少,因此,本文提出并实现了一种基于Android和JavaEE的手机订餐系统,服务器端采用Struts2+Spring4+Hibernate4+DWR整合框架,该整合框架可以提高后台管理系统的用户使用体验,手机客户端与服务器端的数据交互采用J
3、SON格式,可以提高网络数据的传输效率。该系统是对现有订餐系统的一种补充,对类似系统的开发具有一定的参考价值。2 系统设计(Design of system)2.1 系统功能总体设计基于Android和JavaEE的订餐系统包含基于Android的手机订餐模块和基于JavaEE的订餐后台管理模块。基于Android的手机订餐模块包括顾客登录和厨师登录。顾客登录成功后可以浏览菜品、添加购物车、查看我的订单,以及对菜品进行评价。厨师登录成功后可以浏览订单、修改菜品制作状态。基于JavaEE的订餐后台管理模块包括系统管理、菜品类别管理、菜谱管理、订单管理、菜品留言管理、菜品评价管理和结算管理等功能。
4、系统总体功能设计如图1所示。2.2 系统架构总体设计系统架构总体设计采用Android手机客户端访问JavaEE服务器端的C/S架构与订餐后台管理系统通过Web浏览器访问JavaEE服务器端的B/S架构相结合的架构模式,其中,JavaEE服务器端直接访问应用数据库进行数据存取,并将数据返回给Android手机客户端和Web浏览器。系统总体架构如图2所示。整个系统的数据执行流程为服务器端的订餐后台管理系统通过Web浏览器向服务器端请求存取数据操作如添加菜品类型和菜谱信息,服务器端接收请求数据后将数据存入数据库,并将存入数据库中的数据返回服务器端,服务器端再将数据返回浏览器。Android手机客户
5、端要显示菜品信息需要联网请求服务器,服务器再根据需求访问数据库,数据库系统处理完数据后将数据返回服务器端,服务器端将数据转换成Json格式后再返回给Android手机客户端。从整个系统数据流的执行过程来看,Android手机客户端和Web浏览器共用了JavaEE服务器端从而完成了数据的交互。2.3 系统服务器架构设计从系统总体设计的数据流执行过程来看,Android手机客户端和Web浏览器共用了同一个服务器端,因此服务器端的架构设计就显得尤为重要。在JavaEE平台下,服务器端的架构大都采用三层架构,比较典型的框架有采用MVC模式的Jsp+Servlet+JavaBean、Struts+Spr
6、ing+Hibernate(SSH)和Struts2+Spring4+Hibernate4(SSH2)。其中Jsp+Servlet+JavaBean框架虽然采用MVC模式将显示层、控制层和模型层分开,但由于Servlet和JavaBean负责了大量的运算和业务处理工作,程序处理效率较为低下。SSH框架虽然也将视图层、控制器与模型的彻底分开,但由于Struts框架存在线程安全、捕获输入较难,以及视图展示都弱于Struts2框架等问题,因此本系统服务器端的架构方案采用SSH2整合框架,整个系统架构设计如图3所示。在Struts2+Spring4+Hibernate4整合框架中,Struts2主要用
7、于Web展示和业务控制,Spring4主要用于业务实现和事务管理,而Hibernate4则用于数据持久化处理。在Struts2中Web浏览器请求服务器端的JSP页面,JSP调用Struts2中的Action完成数据的交互,而手机客户端则直接调用Struts2中的Action完成数据的交互。不论是Web端的JSP请求Struts2中的Action还是手机客户端请求Struts2中的Action,都需要通过Struts.xml配置文件实现业务处理或页面跳转等动作。Action最终将业务层的执行结果返回给Web浏览器或者手机客户端。Spring4负责处理业务逻辑及事务管理,并将Struts2层传递过
8、来的数据依赖注入到持久层。在持久层中,Hibernate4是一个功能强大的ORM工具,它主要包括对数据源的配置、POJO组件以及DAO组件的管理,处理DAO组件的数据,并将处理结果返回给业务层,业务层再将数据返回给表示层,最终通过浏览器或者手机客户端展示数据。3 系统实现(Implementation of system)3.1 订餐系统服务器端数据封装在基于JavaEE的订餐后台管理系统中,服务器端数据的封装既可以是JSON数据格式也可以是XML数据格式,由于JSON数据格式封装的数据在网络传输与解析中优于XML数据,因此在本系统中服务器端的数据采用JSON封装。JSON即JavaScrip
9、t Object Natation,它主要用于Web服务器与JavaScript或者手机客户端进行交互的一种纯文本的数据处理格式。该数据处理格式既可以处理字符串类型、数字类型、布尔类型、数组类型,也可以处理对象。在项目开发中,可以将字符串String、Object对象、JavaBean对象、List集合、数组对象、Map集合、Set集合等按照一定的算法封装成JSON格式的数据。在本系统开发中,服务器首先从数据库服务器获取数据,然后将数据存入List集合中,再将List集合中的数据封装成JSON数据格式,List集合数据封装成JSON格式数据的主要实现代码如下:public static Str
10、ing getJson(ListfoodList) StringBuffer stringBuffer=new StringBuffer();/创建可改变的字符串对象stringBuffer/向stringBuffer对象中追加数据stringBuffer.append();stringBuffer.append(showGoodsList:);stringBuffer.append(´);stringBuffer.append();else stringBuffer.append();return stringBuffer.toString();在上述算法中,需要首先通过
11、菜品信息管理界面将菜品信息添加到数据库中,然后Android客户端在访问菜品信息时再从数据库中按照一定的条件查询出数据,再将查询出来的数据封装到List集合中,再将封装好的List集合数据采用本算法封装成JSON数据格式,并将该格式数据传递给Android客户端。3.2 订餐系统客户端数据解析在Android应用系统开发中,Android客户端经常与服务器端进行数据通信。由于在本系统中服务器端的数据都是封装成JSON格式的数据,因此在Android手机客户端解析JSON数据就显得尤为重要。在Android客户端解析用List类型封装的JSON格式的数据代码实现如下:public Listget
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android JavaEE 系统 设计 实现
链接地址:https://www.31doc.com/p-8926880.html