APP下载

基于移动平台和SSH框架的创意工坊系统研究*

2018-02-20潘益婷肖鹏飞

浙江工贸职业技术学院学报 2018年4期
关键词:服务端线程客户端

潘益婷,肖鹏飞

(1.浙江工贸职业技术学院,浙江温州325003;2.温州职业技术学院,浙江温州325035)

在后工业时代,市场需要个性化、有创意的商品和服务,而且创意与生活密不可分,创意能把生活中很简单的东西进行升华。随着互联网应用的不断创新和深入,以及移动终端智能化的普及,越来越多优秀的创意通过网络找到了一条实现市场价值的新途径。阴艳超[1]等设计了最优客户创意算法,将该算法应用于客户创意挖掘中,有效指导产品创新的实施。

郑枫[2]采用SSH开发框架和MySQL数据库设计实现了基于网络的丝绸图案创意系统。李晓楠[3]通过Web界面为用户提供数字媒体与文化创意社区。林雳[4]建立基于Java Web的创意众筹网站系统。但是以上研究关于创意系统的移动应用方面阐述较少,缺乏有实际应用针对性强的移动互联网解决方案。因此,如何建立一个面向移动平台的创意工坊系统具有现实意义,将大众的“梦想”、“点子”通过文字、图片、视频等方式融入到移动应用中,达到“让生活遍及创意,让创意丰富生活”的目的。

1 系统架构

移动创意工坊系统分为Android客户端和Web服务端两部分,系统的功能结构图如图1所示。客户端的功能主要包含6个模块:(1)用户模块。包括用户注册、登录、修改密码、收藏活动视频、评论活动视频、查看收藏夹订单等功能。(2)活动模块。用户可以查询活动列表,查看活动详情,上传自己的创意活动,对活动进行收藏、购买、评价等。(3)视频模块。用户可以查看视频详情、播放视频、评论视频等。(4)收藏模块。用户可以收藏自己喜欢的活动和视频。(5)订单模块。用户购买创意活动后,可查看订单的状态,完成订单的付款、确认收货等。(6)评论模块。用户对购买的创意活动有评价功能,也可以对创意视频进行评价。

服务端的功能主要包含6个模块:用户管理、活动管理、视频管理、收藏夹管理、订单管理、评论管理。管理员在服务端登录后,可以对客户端用户进行查询等管理,可以进行创意活动、视频的上传、修改、查询等管理,还可以对用户的收藏夹、评论、订单进行相应管理。服务端所有用户、活动、视频、评论等数据都存储在MySQL数据库中。

图1 系统功能结构图

系统分为客户端和服务端,采用C/S架构[5],系统的架构设计图如图2所示。客户端是运行在Android移动平台[6]上,利用Fragment、ListView、子线程、Handler等技术完成系统界面的展示,发送登录、查看活动、收藏视频等请求到服务器,显示服务器返回的结果。

服务端采用MVC设计模式[7],提高系统的可扩展性和可维护性,利用Struts2、Spring、Hibernate框架和MySQL数据库[8]实现对创意活动、视频、用户、收藏夹、订单等所有数据的存储和管理。服务端接收客户端的请求,进行相关信息的查询或新增等操作,并将结果通过JSON格式返回给移动客户端。

客户端与服务端之间使用HTTP协议[9]进行通信,利用JSON格式[10]进行数据交互。前台客户端是移动应用,后续如果需要可以利用SSH框架[11]轻松实现Web程序。后台服务器主要用来提供数据的增删改查管理。

图2 系统架构设计图

2 系统关键技术

2.1 客户端获取解析展示信息

Android客户端利用Fragment、ListView、子线程、Handler等技术实现Android客户端:1)使用Fragment、ViewPager实现页面点击切换和手势滑动,如活动和视频的简介页面和评论页面,订单的待付款、待确认、待评论页面等。Fragment可以方便地实现Activity界面之间的切换,创建灵活的UI设计适应移动设备不同屏幕尺寸,以及动态的添加、替换或移除某个Fragment。2)使用ListView控件以列表的形式展示具体内容,根据数据的长度自适应显示。这里展示的内容需要通过子线程发送HTTP请求访问服务端来获取相应的JSON数据,再通过Handler去解析JSON数据,最后将数据通过适配器展示在ListView控件。

客户端利用子线程和Handler获取解析展示数据的流程分析如图3所示,其中主线程不能直接发送HTTP请求,因为网络访问很有可能造成阻塞,这样主线程会出现假死现象,导致很不好的用户体验,所以网络请求等耗时操作必须通过子线程来完成。而且子线程不能直接更新UI,常用的处理方法是通过消息机制由Handler来更新界面。

图3 客户端获取解析展示数据流程

2.2 服务端对内容进行管理

Web服务端利用SSH框架(Struts2、Spring、Hibernate)实现Web服务端。SSH框架将整个系统分为:表示层、业务层、持久层和实体层:1)表示层利用Struts框架实现,通过JSP页面进行交互,根据Struts中的配置文件将请求委派给相应的Action处理,并将结果返回。2)业务层由Spring框架实现具体业务逻辑处理,Spring是一个轻量级的IOC和AOP容器框架,能很好地与其他框架集成,使Struts与Hibernate更好地工作。3)数据持久层由Hibernate框架实现,处理与数据库的交互操作,利用对象关系映射,把对数据库的操作转化为对象的操作,处理请求数据,并返回处理结果。4)实体层即模型,它与MySQL数据库中的表一一对应。

服务端利用SSH框架实现对数据的分页查询操作的流程分析如图4所示,Action接收请求,将请求分发给相应的Service去处理业务逻辑,具体的数据则需要访问Dao层获得,Dao层与数据库交互,获取的是所有满足条件的数据,如果要获取一页的数据,则还需要通过工具类来完成。

图4 服务端分页查询数据流程

2.3 客户端与服务端通信

Android客户端与Web服务端使用HTTP协议和JSON数据进行网络通信和数据交互。HTTP是超文本传输协议,是客户端/浏览器与服务器之间信息交互的方式,它分四个过程:通过URL建立连接,发送请求信息,发回响应信息,关闭连接。JSON是一种轻量级的数据交互格式,类似XML,但比XML更小、更快、更易解析。Android客户端与Web服务端交互的具体过程为:1)客户端发送HTTP请求到服务端,比如查看“情人节创意表白”活动列表;2)服务端接收客户端请求参数,通过在MySQL数据库进行模糊查询得到结果;3)服务端将结果数据封装为JSON格式返回给客户端;4)客户端解析服务端返回的JSON数据并展示在界面上。

2.4 移动支付

Android客户端的订单支付功能调用的是支付宝来完成用户的移动支付功能,具体的支付流程如图5所示。用户使用APP发起订单支付,该订单由SSH服务端创建,并调用支付宝支付接口,支付宝会将支付结果通知SSH服务端。这里移动支付安全由支付宝负责,支付宝通过支付密码、无线支付、风险监控、数字证书等保障支付安全。该系统还通过HTTPS实现安全性,加密用户与系统之间的交互访问。HTTPS是一种基于SSK协议的加密传输协议,安装SSL证书后,使用HTTPS加密协议访问,可激活客户端和服务器之间的SSL加密通道,从而实现高强度双向加密传输,防止传输数据被泄露或篡改。HTTPS简单来说相当于HTTP加SSL,是HTTP的安全版。

3 系统运行情况

系统的运行环境如下:Win7操作系统、Android4.4 手 机、 Android Studio、Tomcat7.0、 My-Eclipse、MySQL。

系统目前已经在情人节前进行了应用,管理员上传了关于情人节告白主题的一些创意活动和创意视频,用户登录系统后可以搜索查看这些信息,对这些创意进行收藏和购买,还可以上传自己的创意。系统界面简洁,操作方便,在Android手机上可以快速安装使用,方便用户随时随地浏览、分享、实现各种创意,真正让创意丰富人们的生活。

图6是客户端的创意视频详情界面,用户点击查看某一创意视频的详细介绍,包括视频标题和播放次数等信息,滑动还可以查看该视频的评论信息;图7是服务端的创意视频管理界面,管理员登录后拥有对视频的增改权限,所有视频分页显示。

图5 用户完成移动支付流程

图6 客户端视频详情界面

图7 服务端视频管理页面

4 结束语

本文在分析了当前市场对创意商品和服务的需求,以及移动互联网产品的不断创新深入的基础上,提出“互联网+创意”的思路,研究分析了HTTP协议、SSL证书、JSON数据、子线程与Handler、SSH框架等技术,设计了基于移动平台和SSH框架的创意工坊系统,将大众的“梦想”、“点子”通过文字、图片、视频等方式融入到移动应用中,使得用户可以随时随地搜索、浏览、收藏、购买、评价、上传各种创意,达到“让生活遍及创意,让创意丰富生活”的目的。

本系统经过一段时间的运行使用情况良好,后续随着新需求的提出和数据量的增加仍然需要做进一步的完善和拓展。

猜你喜欢

服务端线程客户端
基于C#线程实验探究
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
新时期《移动Web服务端开发》课程教学改革的研究
摸清黑客套路防范木马侵入
Java的多线程技术探讨