大学生旅游服务平台设计与实现

2019-09-10 07:22张昕宇杨清文刘兰梁弼
现代信息科技 2019年1期
关键词:大学生

张昕宇 杨清文 刘兰 梁弼

摘  要:随着旅游业的快速发展,喜欢旅游的大学生越来越多,但大学生的时间和经济有限。为了帮助大学生旅游爱好者用尽量少的时间和尽量低的成本获得优质的旅游体验,本文采用SSM(Spring+SpringMVC+MyBatis)及HTML5等技术来开发面向大学生的旅游服务平台。实践证明,所开发的平台具有良好的可扩展性和可维护性,并且大学生体验良好。

关键词:大学生;旅游服务平台;SSM;HTML5

中图分类号:TP311.52      文献标识码:A 文章编号:2096-4706(2019)01-0016-03

Design and Implementation of Tourism Service Platform for College Students

ZHANG Xinyu,YANG Qingwen,LIU Lan,LIANG Bi

(School of Intelligent Manufacturing,Sichuan University of Arts and Science,Dazhou  635000,China)

Abstract:With the rapid development of tourism,more and more college students like tourism,but their travel time and economy are limited. In order to help college students’tourism enthusiasts obtain high-quality tourism experience with as little time and as little cost as possible,this paper develop a set of tourism service platform for college students using SSM(Spring MVC + Spring + MyBatis),HTML5 and other technology. Practice has proved that the platform developed in this paper has good scalability and maintainability,and college students have a good experience.

Keywords:college students;tourism platform;SSM;HTML5

0  引  言

随着旅游业和社会经济的迅速发展,大学生已成为我国旅游业消费群体的重要组成部分,但由于旅游消费水平和出游时间有限,大部分学生在选择旅游产品和确定旅游目的地时都会犹豫不决[1]。为了向大学生旅游爱好者提供更划算、更优质的旅游体验,开发专门面向大学生的旅游服务平台十分必要。本文采用多层架构模式来设计该平台,并将其划分为五层(即表示层、控制层、业务逻辑层、数據持久层、数据库层)。前端使用HTML5+CSS3、JS、Ajax等技术来设计,后台则使用SSM框架技术实现,前后台之间的数据通信则在jQuery中使用Ajax来向后台发送异步请求,并通过JSON来接收后台返回的数据,再通过jQuery显示输出。这可以效增强前后台数据的通信能力,提高平台的响应速度,进而增强用户体验。

1  技术简介

1.1  Spring

Spring是Java中应用最广的应用程序框架,它的基本理念包括IoC(Inversion of Control 控制反转)和AOP(Aspect Oriented Programming 面向切面编程)[2]。传统Java程序设计中,开发人员直接在对象内部通过new创建对象,是程序主动去创建依赖对象;而IoC有专门容器来创建这些对象,即由IoC容器来控制对象的创建。AOP是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低。

1.2  Spring MVC

Spring MVC是模型-视图-控制器(MVC)的Web框架建立在中央前端控制器,它负责发送每个请求到合适的处理程序,使用视图来返回响应结果[3]。它是Spring产品组合的一部分,具有Spring IoC容器紧密结合Spring松耦合等特点,因此拥有Spring的所有优点。Spring MVC框架并不知道使用的视图,所以不会强迫开发者只使用JSP技术。它分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离使其更容易进行定制。

1.3  MyBatis

MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Ordinary Java Objects,普通的Java对象)映射到数据库表。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,MyBatis是一种“半自动化”的ORM实现[4]。

1.4  HTML5

HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改。HTML5的设计目的是为了在移动设备上支持多媒体,新的语法特征被引进以支持这一点,如video、audio和canvas标记。HTML5还引进了新的功能,可以真正改变用户与文档的交互方式[5]。HTML5被认为是HTML,CSS和JavaScript结合的产物,这三者都是可靠的技术,并且在HTML5规范下组织为一个整体,HTML负责结构,CSS负责在屏幕上呈现该结构和内容,而JavaScript负责其余一些极为重要的工作。

2  平台设计

2.1  平台功能设计

本文设计的大学生旅游服务平台分为前台和后台两部分,前台为大学生用户提供各种服务,包括旅游景点欣赏、旅游产品展示、旅游产品购买、个人信息管理等功能;后台用于对平台中数据进行管理,包括用户选购、支付退款、产品信息、旅游景点等信息管理,具体功能划分如图1所示。

其中,前台的旅游产品展示模块用来向用户展示当前热门的旅游产品,让用户能快速挑选到自己希望购买的产品,为节省用户时间。旅游景点欣赏模块可以使用户提前欣赏到各地的旅游信息,并订购到自己感兴趣的旅游产品;旅游推荐模块中设计了四种推荐方式,第一,热门推荐,通过记录用户点击次数,将点击率高的景点显示在主页;第二,用户偏好推荐,通过记录用户历史的选择偏好来进行旅游产品的推荐;第三,热门城市推荐,通过记录城市的点击率,向用户推荐点击率高的城市景点;第四,基于物品的的协同过滤推荐,根据所有用户的历史偏好数据,计算物品之间的相似性,然后把与用户喜欢的物品类似的产品推荐给用户,建立每个用户的私人定制。后台的景点管理模块完成对后台景点数据的增删改查操作,社区管理模块用于用户社区信息操作,其主要功能包括置顶、加精、删除、管理用户发表的帖子。

2.2  平台架构设计

本文设计的大学生旅游服务平台采用五层架构模式设计,其架构设计如图2所示[6]。

由图2可知,表示层通过页面Page的方式让用户发送请求给后台,并将后台传输的数据实时展现给用户,从而实现数据可视化,该层功能主要通过Ajax、HTML5等技术来实现。控制层通过控制器Controller来接收并处理表示层传输的请求信息,同时也负责会话管理,以及将业务逻辑层处理后的结果返回给表示层,该层功能主要由Spring MVC技术负责完成。业务逻辑层主要负责处理系统的实际业务逻辑功能,如用户选购功能、用户管理功能等,这些功能通过Spring相关技术来实现,并使用Spring IoC有效管理这些功能所对应的业务Bean。数据持久层完成对象关系映射,实现数据持久化,并负责对后台数据进行CRUD操作,该层功能使用MyBatis技术来实现。数据库层负责本平台数据的管理功能,它通过MySQL数据库工具来实现。

3  平台实现

3.1  表示层

本文设计的大学生旅游服务平台前端页面使用HTML5+ CSS3、JS以及Ajax技术实现,通过Ajax发送异步请求,获得从后台返回的数据,并在前端页面进行加载。其中,旅游产品数据加载将相关数据从后台数据库取出,然后通过Ajax和jQuery将相应的数据加载到页面中,以获得显示效果,其实现过程的核心代码如下。

$.ajax({ url: "/love/index/index.do", type: 'POST',  data:{ "async":true },

success: function(data){ if (data.code == "0") { analysis(data); }

else {  Alert(data.msg); } }, error : function() { alert(“failWS”); } });

3.2  控制层

本文设计的大学生旅游服务平台的控制层使用Spring MVC框架来实现,该层的主要功能是接收来自前端的请求并完成对数据的控制转发。以下是主页请求数据的关键代码。

@PostMapping("index") @ResponseBody

public ResultVO index(@RequestParam(value="async",required=false) boolean async){

return ResultVOUtil.success(tyerService.listHot()); }

3.3  业务逻辑层

本文设计的大学生旅游服务平台的业务逻輯层使用Spring注入的方式,减少了XML配置和Java代码,同时利用Spring IOC容器自动管理这些业务逻辑Bean,其中处理用户注册的主要代码如下。

@Service  public class UserService{

@Autowired  private UserMapper userMapper;

public void regist(UserRegisterForm userRegister Form){

userMapper.regist(userRegisterForm); } }

3.4  数据持久层

本文设计的大学生旅游服务平台的数据持久层使用MyBatis来实现,通过在XML文件中进行配置,实现对象与数据库中表的自动映射,使用SQL语句对数据库中数据进行增删改查,完成数据持久化操作。以下为用户管理的映射配置核心代码[7]。

<mapper namespace="net.messi.travel.mapper.UserMapper"

<resultMap type="net.messi.travel.dataobj.User" id="userMap">

<id property="id" column="id"/>

<result property="username" column=" username"/>......</resultMap>

<select id="getUserByPhone" parameterType= "String" resultType="user">

select * from user where phone=#{phone}</select>......</select>

<insert id="regist" parameterType="userRegisterForm"> insert into user

values(null,#{username},#{password},#{phone},#{email},#{isAdmin},null,null)

</insert> ……</mapper>

3.5  数据库层

本文设计的大学生旅游服务平台使用MySQL数据库系统来存储和管理相关数据,主要数据表包括:轮播广告表carouselAds、bank表bankinfo、日程表daytrip、feesofdescriptioon费用说明、homoter行程表、hot热度表、orders订单表、playways热门活动表、recommend推荐表、startdate起始日期表、tyer旅游产品表、user用户表、warmprompt温馨提示表等。

4  效果展示

上述所有功能实现后便得到了大学生旅游服务平台,其总体效果如图3所示。

5  结  论

本文使用SSM、HTML5、Ajax等技术开发了面向大学生的旅游服务平台,此平台为在校大学生旅游爱好者提供实惠的旅游产品和优质的旅游攻略。同时,平台采用多层架构模式进行设计,提高了系统的可扩展性和可维护性。并且平台前端界面设计友好,页面板塊划分清晰,方便用户浏览,可以有效提高用户体验。

参考文献:

[1] 李亚娟,王海峰.基于移动平台的旅游系统的开发与设计 [J].电子设计工程,2018,26(17):85-89.

[2] 梁弼,王光琼,邓小清.基于Spring框架的Web应用轻量级3S解决方案 [J].西华大学学报(自然科学版),2018,37(3):78-82.

[3] Liang B.The study and application of the new control layer for enterprise-class web applications [J].Journal of Computers,2017,28(6):151-162.

[4] 王梓,夏凯.基于SSM框架的水质监测数据管理系统研究 [J].计算机时代,2018(7):25-27+31.

[5] 王媛.基于HTML5技术的时空联合目标轨迹动态可视化技术 [J].科学技术与工程,2018,18(29):98-103.

[6] Liang B. Study on a Novel and Lightweight Five-layer Architecture and Its Application [C]// ICEESE2016,中国广东广州,2016:246-251.

[7] 梁弼.一种简捷的数据持久层解决方案 [J].现代电子技术,2016,39(14):84-86+91.

猜你喜欢
大学生
第十六届大学生年度人物
大学生就业趋势
大学生“双创”进行时
暑假调查 45%的大学生仅给自己放十天假
党中央给大学生留下啥印象?
新学期大学生网球装备精选