龙源期刊网高校闲置物品交易平台的设计与实现作者:李星悦施叶林肖雪雅张晓建樊伟来源:《电脑知识与技术》2016年第03期摘要:随着近年来高校学生购买力的逐渐增强,闲置物品的搁置逐渐成为了大问题,一旦处理不当,难免会造成铺张浪费,针对此问题,利用目前主流的Android与JavaServerPages结合的WebAPP+网站开发的模式,设计并实现了高校闲置物品交易平台,并根据当前一些交易平台的缺点,实现了备案系统与最佳交易地点搜寻系统,为线下交易提供安全保障并方便买卖家的会面。关键词:WebAPP;高校;闲置物品交易;定位计算系统中图分类号:TP311文献标识码:A文章编号:1009-3044(2016)03-0279-03据有关调查显示[1],大学生对二手物品的处理方式包括扔掉、捐赠、赠送及出售,由于没有相应的解决渠道及供需消息的不对称,使得大学生选择出售的比例仅占7.7%,而大一到大三的学生中有86%对校园二手物品相关需求,由此可见,二手物品交易潜在规模非常可观,这需要政府、民营机构及高校在此方面采取相应措施,切实解决大学生二手物品处理问题。近年来,移动互联网应用发展迅猛,有B2B、B2C、C2C等多种模式。随着智能移动终端操作系统的相继出现,移动互联网应用逐渐从传统的WAP/Web方式转向客户端应用形式[2]。随着社会的发展,智能手机越来越多,应用越来越广泛。由于Android系统的普及化,国产手机随之崛起,为了适应趋势,本平台也采用Android端上线。现较流行的线上二手交易平台像“闲鱼”,“转转”等,也只是仅仅将线上交易普遍到买家层面,并没有脱离一些线上交易的弊端,而且没有专注一方面来做,比较普遍性,因此并不能照顾好一些人气低的二手商品的出手。因此,本交易平台专注于高校学生的线下交易,保障每一样商品都会出现在首页让买家看到,并且对线下交易的买卖家双方提供备案功能和交易地点选择的功能,务必做到贴近每一位学生,是一个有人情味的交易平台。1平台功能需求设计1.1消费者需求分析由于当前就读于高校的学生,年龄层次一般处于18到24岁之间。相比较更年长的人而言,他们的理财能力相对较差,而且缺乏开支的计划性,反而由于现代技术的发展,资讯的快速流通,他们的观念意识、开放性和潜在商业价值方面更贴近消费者能力较高的职业群体,消龙源期刊网费欲望很强,经常拥有六七成新以上的闲置物品。并且,他们的消费行为往往在理性化与从众化之间徘徊,对新商品、新型消费模式具有很强的好奇心和尝试心,很容易跟风消费。基于此,平台针对的消费者对象为高校学生。使得其在学校内部可以买到一些其他学生用不到但是符合其需求的闲置物品,提高物品利用率,节约资源。因此,平台的所有功能需要以学生为中心,下面为针对具体学生需要的功能设计。1.2平台基本功能设计本平台由WebApp与网站组成,其服务站点接口都可以接都各大高校的内网,即可以使得在线学生不用花费网费即可浏览,当然也可用手机流量等方式浏览。当点击APP图标,APP会经过滑动引导界面后进入软件主界面;输入网址会直接跳转到主界面。主界面有信息展示和分类情况,在个人界面用户可以进行用户的登录、注册,在商品浏览界面可以浏览商品信息及上传图文详情等操作,通过图片和文字的显示清晰的向用户展示在进行买卖的商品,此外还设有论坛功能,满足同学们相互交流的需求。商品信息由卖方用户上传到服务器后显示到软件中,买方用户可以通过点击商品信息进行商品的查看、收藏,可以通过卖方公布的联系方式与卖方进行联系。任何用户都可以在论坛部分发表或回复他人的帖子,方便同学们的沟通。从上面的描述中可以总结平台的基本功能需求:1)启动App应用程序;2)引导界面:对首次打开APP的用户提供滑动展示内容;3)显示界面:通过文字和图片显示商品分类、商品信息、个人信息等,包括登录注册界面、商品概要介绍、价格等。4)详细界面:通过文字图片显示商品的详细介绍、卖方联系方式等信息,注册界面可由用户输入手机号注册,后台服务端下发验证码完成注册。最后必须将学号,姓名和身份证通过验证。5)交互界面:通过在论坛区发帖或回帖实现不同用户间的交流,大家可以在论坛区对软件或者对商品提出意见或建议,也可以发布自己感兴趣的内容供大家讨论。1.3平台特色功能设计1.3.1备案系统设计龙源期刊网对于现如今骗子丛生,人与人的关系诚惶诚恐,如履薄冰,因此并不能保证即将进行交易的是本人还是坏人,基于上述所示,平台设计出一个备案系统,当买卖家谈妥并即将进行线下交易时,系统将会把买卖双方的手机号,姓名等个人信息,以及当前GPS定位的位置以及IP地址都记录成一份表单,若出现意外,即可使用以上信息以最快的速度排查到犯罪嫌疑人,配合公安机关捉拿罪犯。1.3.2最佳交易地点搜寻系统设计当买卖双方谈拢准备交易时,由于高校校园一般面积都很大,因此可能最后讨论出来交易的地点双方都不会满意,进而可能影响双方的交易意向,基于上述,本平台设计出一个针对双方当前所处的位置,对所在高校的标志物进行排查,最后可以定位出一处符合双方距离最近的交易地点。该地点也将默认记录在后台以便出现意外后,方便对犯罪嫌疑人的地点进行排查。2平台功能实现2.1基本功能实现本平台的WebApp部分采用了Android与JSP结合的开发模式进行实现功能,分别运用了JSP,XML,CSS,JDBC等技术。首先对于主要应用的JSP(JavaServerPages)来说,它是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(Tag),从而形成JSP文件(*.jsp)。WebApp的内部JSP模式可以如下图所示,其Servlet控制器可以向JSP视图发出请求后,JSP视图表达出JavaBean模式,也可以直接创造出JavaBean模式,最后打包成模块后,通过HTTP请求来进行处理,并返回HTTP回应。其次是XML(extensibIeMarkupLanguage),作为一种简单的表示性语言,无法表达数据内容。而这一点恰恰是电子商务、智能搜索引擎所必须的,要彻底解决这些问题,必须用功能强大的XML技术。与传统的HTML相比,XML在校园电子商务方面的优势是跨平台应用系统的数据交换和数据的多样显示。然后对于(CSSCascadingStyleSheets)来说,一是要用于对网页样式的控制,使其更加美观。二是要用于控制网页的样式。两者单独使用,相互协调,根据不同的情况使用不同的样式。最后是JDBC(JavaDataBaseConnectivity),是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。龙源期刊网的界面进行了设置后,运用JSP对主功能编写,并使用XML作为数据交互的辅助,从用户界面,交互界面,商品界面等,逐一添加功能,再运用JDBC对服务器的数据库进行访问,使得用户的数据能够进行交互,并到最后经过测试,发出请求后在后台可以接收到请求,即可表明交易平台的基本功能实现成功。平台根据二手商品的序号会随着时间一直递增从而使得每个人发布的二手商品都会循环出现在首页,可以使得每个人的二手商品都有机会让买家看到,增加卖家二手商品出手的几率,具有人情味。网站方面与WebAPP开发模式相似,由于网站技术应用广泛,因此不详谈。2.2特色功能的实现2.2.1GPS技术应用与显示当前位置的地图技术特色功能方面主要是对GPS技术进行了研究并延伸其功能。在GPS技术应用过程中,主要利用了Android软件平台的5大功能模块,分别为Android应用程序层、应用框架层、普通函数程序库、Android运行环境和Linux内核层。在应用程序层利用Android的各种组件API接口,开发了针对GPS、GoogleMap电子地图的Java应用程序,并由内核层提供了相应的底层驱动[3]。开发显示当前位置的地图过程中,主要采用Android或者其他GPS地图的接口提供的MapView和MapActivity这两个类实现。其中MapView是一个展示地图的视图,它可以获取键盘事件(onKeyDown和onKeyUp)来支持地图移动和缩放功能,同时也支持多层Overlay,可在地图上画坐标、写地名、画图片等。MapView只能通过MapActivity来建立,因为MapView需要在后台使用文件系统和网络,所有这些线程需要在Activity的生命周期中被控制。2.2.2备案系统的实现针对备案根据上述备案系统的设置,由于要读取买卖家的当前地址和IP,因此需要用到GPS技术以及获取用户当前IP的技术。2.2.2.1通过地图接口获取当前地址由于某些网络的限制且需要清晰读取到用户的当前地点并显示名称,所以平台使用的是百度地图(BaiduMap)的接口进行操作。为了使得学生在学校的内网还能够使用,因此通过实现Zigbee超声波终端节点水深数据的采集,通过协议栈实现协调器管理终端节点数据,通过GPRS数据透传数据传递给Labview龙源期刊网上位机,labview上位机存储数据在mysql数据库中,百度地图API获取数据库里的数据,根据经纬度把相应点标注在地图上,实现点击标注查看详细信息,包括该点的水深地址,实现地址的搜索,因此可以在内网使用Map接口并进行当前位置定位[4],记录到表单中。2.2.2.2获取用户的IP地址在JSP里,获取用户的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到用户的真实IP地址了。经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。因此本平台为了获取真实IP于是取X-Forwarded-For中第一个非unknown的有效IP字符串为真实IP。(在经过代理的情况下)之后将当前地址与真实IP录进表单中,即可提高用户线下交易的安全性。2.2.3最佳交易地点搜寻系统设计上述的地图接口中,可以创建一个Criteria对象,接着将Criteria对象传递给LocationManager对象,LocationManager对象提供了多种方式来获取经纬度坐标和其它数据,它获取定位数据的方法如下:对于经纬度getLatitude()返回纬度数据,getLongitude()返回经度数据;对于海拔高度,hasAltitude()判断是否有海拔数据,而getAltitude()则以米为单位返回海拔数据。买卖双方的客户端返回上述数据,根据这些数据,计算出双方的距离。平台起初是根据spatial4j工具包中的Haversine公式,即一个球面余弦函数的变换,但由于性能问题,近距离效果不好,在参考某技术团队[5]的优化方法进行了修正,效果增强了很多,与其应用一样,本平台在实际应用中也采用了简化距离公式方法(通过三次多项式来拟合cos三角函数)。因此当计算出双方的距离之后,对这条路线进行描线后,由于此路线一般都为曲线,因此通过圆曲线中边桩坐标计算公式[6]:L=F-H;注:L--所求点曲线长;F--所求点X=XZY+2×R×SIN(L÷2R)×COS{α±(L÷2R)}+S×CO{α±(L÷R)+M};X=YZY+2×R×SIN(L÷2R)×SIN{α±(L÷2R)}+S×SIN{