1 简介
今天向大家介绍一个帮助往届学生完成的毕业设计项目,*基于SSM框架的旅游网站的设计与实现 *。
计算机毕业生设计,课程设计需要帮助的可以找我
2 设计概要
1.1.研究背景
随着互联网技术的飞速发展,网络与我们的生活息息相关,在我们日常生活中扮演着重要的角色,各行各业的发展都离不开互联网技术的支撑,旅游业也借助网络来拓展自己的市场。
1.2.研究问题意义
我国旅游网站发展比较早,经过长期的探索,有非常成熟稳定的发展道路。这些旅游网站为驴友提供了广泛的讯息和服务(包含景点、酒店、美食、到有、路线、航班、火车票等),方便人们旅游出行的方案选择,已经为旅游业带来巨大的经济发展。
尽管我国的旅游网站发展比较迅速,也出现了很多知名的网站,但是有很多旅游网站不够完善,弊端较多:①针对地区的旅游信息不够丰富,搜索不够详细;②有些旅游网站当游客查询景点时,战线的更多的是旅游套餐、车票等信息,剥夺了游客自助选择的权利。③旅游网站并发量大,并且很复杂,查询起来速度比较慢,资源调度难度高;因此旅游网站不仅要信息全面,一个针对游客量身定制的旅游网站也很重要。
1.3.本文结构
本文主要是叙述软件项目的开发过程,以及毕业设计的完成过程。重点介绍软件开发的全流程,主要涉及到软件技术、系统部署、需求分析、主体设计,系统实现五大部分。本文重点介绍旅游网站的界面设计和系统的模块,详细讲解开发系统所采用的的技术以及实现思路。此外,针对系统的各个模块进行的开发以及遇到问题的实现思路和设计。
2. 系统技术和环境
2.1. 开发环境的选择
开发环境选择的是一台笔记本(win10),I7+256G固态硬盘。在这台电脑上已经配置好了jdk1.7、eclipse、tomcat7、mysql等Java开发必备软件。需求分析时需要设计ER图,这时候我们选取的是ClickChartsPro来设计,数据库表的建立直接选用navicat_mysql的可视化界面快速创建。因此,开发环境提供的机器够用,能够支持较多软件的安装。
2.2. 开发技术
前端采用HUI+JQuery来布局,与后端接口交互通过传递ajax请求获取json数据返回来展示。这种交互方式能够降低页面的跳转,大量的页面跳转本身对于用户来说体验感不强同时也会降低服务器性能,采用这种异步请求去调用java后端的restful接口符合前后端分离的思想,可以大幅度降低后端开发人员的工作量,后端开发人员可以集中精力完成业务的设计和分析。
后端采用JavaEE经典框架组合SpringMVC+Spring+MyBatis,这种架构符合三层架构的设计思想,可以做到控制层、业务层、持久层解耦。由于spring框架具有粘合剂的作用,可以很快整合其他开源技术,对于开发人员来说减少了框架整合的烦恼。数据层框架mybatis比较轻量级,可以使用MBG逆向工程生成通用的CRUD代码,对于一些特殊的sql我们可以手写然后注册Mapper接口来使用,当数据库遇到瓶颈后我们可以通过优化mybatis的sql语句来提升性能,因此来说本系统采用mybatis符合业务需求。为了快速搭建SSM开发框架,我们集成了SpringBoot工具来快速构建,只需要很少的配置代码就可以完成项目的搭建。
旅游网站的数据存储在mysql数据库中,mysql属于一款轻量级的数据库,对于中小型企业来说可以免费使用,随着业务数据的增加,我们有很多解决方案,单库可以考虑使用分区、SQL优化的方案,当时集群时可以考虑引入mycat数据库中间件作分库分表或者使用主从复制+逻辑读写分离(java代码层实现)的方法来解决数据库性能问题。
2.3.系统可行性分析
2.3.1.技术可行性
开发语言选择的是Java,本身是一门开源的语言,而且有强大的技术社区支持,在企业级项目中到处都是java的身影,而我们开发中采用的javaEE经典框架组合SpringMVC+Spring+MyBaits在一线的互联网公司经过了多年的验证,是一款比较稳定、适合网站建设的框架。mysql数据库在近几年经过去IOE化的倡导下,经过淘宝的推广和使用,也是一款非常稳定的数据库,对于mysql的优化开源方案非常多,在各大技术论坛和社区都可以找到资料,而且mysql运维所需要耗费的人力较少,本身已经针对业务场景做了自身的优化。因此,从技术可行性较大分析,开发技术比较稳定成熟,有丰富的行业应用经验可以借鉴。
2.3.2.操作可行性
系统界面简洁大方,用户登录系统后可以快速从左侧的菜单栏找到自己所需要的操作并执行系统开发结束后会编写一份客户操作手册,对于每一个操作步骤提供详细的介绍和注意事项。因此,从操作可行性角度分析,本系统客户可以方便快速操作,并配备有功能全面的操作手册。
2.3.3.经济可行性
系统开发过程中采用的java技术属于开源技术,可以免费使用,成本较低。Mysql数据库也是一款开源免费的数据库,运维成本较低,如果遇到瓶颈问题可以查阅到丰富的数据库解决方案,如果需要DBA,聘请一位mysql数据库管理员的薪资要比聘请一位oracle数据库工程师的要少很多,而且mysql属于可插拔数据库,我们可以加入很多开源组件去优化。因此从经济可行性角度分析,系统开发过程中需要投入的资金成本较低,并且项目完成后可以旅游业带来巨大经济效益。
本系统基于java技术,使用UML建模,采用springboot框架组合进行设计,Mysql数据库存储数据。
本系统的功能主要包括本系统的功能主要包括:
系统按照功能模块的划分,分为2个大模块,分别是网站前台模块和网站后台模块。前台模块主要是提供给游客使用的,游客可以浏览景点信息、门票、定制游以及旅游攻略,在有需要时还可以自己来搜索感兴趣的景点,同时由游客中心,已注册的游客可以购买门票等。后台是提供给管理员维护旅游网站使用的,包含
用户管理、商家管理、旅游分类管理、活动管理、订单管理、图片管理页面、景点管理、广告入驻。
3 系统关键技术
使用springboot,vue,mysql, mybaties, typescript, html ,css, js 等进行开发
4 开发工具
开发工具主要有:idea、jdk1.8、maven、mysql5.7、Navicat等。
5 代码展示
@RequestMapping("/strategy")
@RestController
@Scope("prototype")
public class StrategyController {
@Autowired
private StrategyService strategyService;
@Value("${web.upload-path}")
private String path;
@RequestMapping("/findPage")
public ObjDat<Strategy> findPage(Strategy strategy, @RequestParam(value="page", defaultValue="1") int page, @RequestParam(value="limit", defaultValue="10") int limit){
return strategyService.findPage(strategy,page-1,limit);
}
@RequestMapping("/edit")
public JsonResult edit(HttpServletRequest request, Strategy strategy) throws IOException {
User user=(User)request.getSession().getAttribute("user");
if(user==null){
return JsonResult.error("请登录");
}
String str=strategyService.edit(request,strategy);
if(str.equals("成功")){
return JsonResult.success("操作成功");
}else{
return JsonResult.error("操作失败");
}
}
6 系统功能描述
项目功能演示
7 最后
计算机毕业生设计,课程设计需要帮助的可以找我