Java旅游网站源码+页面

article/2025/9/22 12:42:38

旅游网站[源码+前后端页面]


在线预览:旅游网站TourismPro

账号:朱利尔,密码:123

管理员账号:admin,密码:123456


  • Github开源地址:https://github.com/jwwam/tourismPro
  • 下载 or 部署问题请加QQ群:696852484
  • 这是一个免费、轻量化、简单、易上手的旅游网站项目,系统包括完整的前端Html页面和后台代码,该项目仅适合作为JavaWeb入门或毕业设计使用,不具备实际使用价值,项目中涉及皮尔逊相关系数的相似度算法Java实现和实际应用可查看景点推荐模块。
  • 本项目开源免费,如果您看到有人售卖或利用该项目盈利请帮忙举报,谢谢。
  • PS:本人承接毕业设计制作,有意请联系我,划至页面底部获取我的联系方式。
  • 以下请您仔细阅读:
    这个项目相比于原来tourism的设计更加简洁明了,使用体验也更好,底层应用的实现代码也很简单,但是在部署方式上可能需要耗费一定的精力才能跑起来(相比老版本),其实这对于每一个项目来说都是如此,相信找到这个项目的小伙伴大多是即将毕业的同学,如果您只是想毕业交差然后另谋他路请直接略过此段往下看,或者建议您找淘宝或者我帮你远程部署,花钱买时间永远是最划算的买卖(恰饭时间O(∩_∩)O),您大可利用多余的时间去做更有意义的事情。但是如果您毕业后从事编程相关的工作,请一定仔细食用这个项目,相信你一定会有所收获。一个系统从设计到实现是一个非常复杂的过程,这个项目算不上牛逼但是带你入门足够了,项目用到的算法也不算牛逼但是面试吹牛也足够了,以上。

Project description-项目描述

  • 此项目为tourism的重构版本【tourism是3年前做的一个旅游网站毕业设计,采用ssh架构】
  • 因为tourism开发时间久远,现在对这个项目进行了全新升级
  • 本次升级抛弃了原来一些老旧的技术,底层的所有代码全部重写
  • 采用前后端分离架构
  • RESTful API风格接口化、Json形式数据传输
  • 前端页面进行了升级,引用了一些基本的组件,如dataTables.js、bootstrap.js、bootbox.js
  • 前端没有采用主流框架如Vue、React等,使用基本的HTML+CSS+JQ也减轻了上手难度
  • 引入皮尔逊线性相似度推荐算法的Java实现,应用于项目的“景点推荐”栏目

Project framework-项目架构

项目架构

  • 采用前后端分离,Jquery + SpringBoot2.0
  • 后端语言Java
  • ORM使用SpringDataJPA
  • 数据库使用MySql5.7+Mongodb3
  • 缓存Redis
  • 部署Nginx+Jar

Project algorithm-相关算法

  • 皮尔逊相关系数的相似度算法(Pearson)

  • 以下给出其实现公式:
    皮尔逊相似度算法

  • 该算法在本系统中实现了基于景点分数近似度的推荐功能,以下给出数据获取方法代码,具体算法实现请查看CFUtils.cosineSimilarity()方法。

    public List<Spots> findRecommendList(String id) {//系统中我将景点抽象成了产品,这样便于扩展,如酒店、旅行团均可看作产品评分,统一记录在系统的分数表中//如果是查询景点推荐列表,则根据入参景点id查询景点List<Score> productScoreList = scoreDao.findByProductId(id);//因为相似度比对需要两份数据,首先得到自己查询的景点的分数集合double[] ownProductScoreList = new double[productScoreList.size()];for (int i = 0; i < productScoreList.size(); i++) {ownProductScoreList[i] = Double.parseDouble(productScoreList.get(i).getGrade());}//然后得到分数表中所有景点的分数集合List<Score> productCountInScoreList = scoreDao.findAllGroupByProductId();HashMap<String,double[]> ss = new HashMap<String,double[]>();//循环所有景点for (int i = 0; i < productCountInScoreList.size(); i++) {//得到该产品的所有分数List<Score> bb = scoreDao.findByProductId(productCountInScoreList.get(i).getProductId());double[] otherProductScoreList = new double[bb.size()];//循环该产品的所有分数for (int j = 0; j < bb.size(); j++) {otherProductScoreList[j] = Double.parseDouble(bb.get(j).getGrade());}//将产品作为key,分数集合作为value存入mapss.put(productCountInScoreList.get(i).getProductId(),otherProductScoreList);}List<Spots> resSpotsList = new ArrayList<>();//循环Map依次比对其线性相似度ss.forEach((String k, double[] v)->{//得到相似度值double n = CFUtils.cosineSimilarity(ownProductScoreList,v);log.info("id:{},线性相似度:{}",k,n);//判断相似度值是否符合自己设定的阈值if(n > pearsonCorrelation) {//符合相似阈值,放入推荐列表resSpotsList.add(spotsDao.findById(k));}});return resSpotsList;}

Project view Page-页面预览如下:

注:看不到图片可能需要梯子(maybe u need VPN)

  • 前台登录&注册:
    在这里插入图片描述
    在这里插入图片描述

  • 前台首页:
    在这里插入图片描述

  • 前台景点列表&详情:
    在这里插入图片描述
    在这里插入图片描述

  • 前台景点推荐:
    在这里插入图片描述

  • 前台酒店列表&详情&预订:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 前台旅线列表&详情:
    在这里插入图片描述
    在这里插入图片描述

  • 前台订单列表:
    在这里插入图片描述

  • 后台首页:
    后台首页

  • 后台景点列表&添加&更新&删除:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 后台酒店列表&添加&更新:
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

  • 后台线路列表&更新:
    在这里插入图片描述
    在这里插入图片描述

  • 后台订单列表&订单审核:
    在这里插入图片描述
    在这里插入图片描述

  • 后台旅行社列表:
    在这里插入图片描述

  • 后台用户列表:
    在这里插入图片描述

Run-启动访问(本地部署)

1.启动Nginx

  • 下载地址:点击下载
启动命令:nginx.exe  

将两个前端页面【tour-front】和【tour】文件包拷贝到Nginx根目录下,修改./conf/nginx.conf配置文件,替换原有的server配置如下:

    server {listen       80;server_name  localhost;location / {root   tour-front;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}server {listen       8082;server_name  localhost;location / {root   tour;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

关闭Nginx

nginx.exe -s stop

重启Nginx

nginx.exe -s reload

2.启动Mongodb

  • 下载地址:点击下载
  • 下载后需要本地配置,具体请自行搜索(参考地址)。
启动命令:net start mongoDB

3.启动Redis

  • 下载地址:点击下载
  • 下载后需要本地配置,具体请自行搜索(参考地址)。
启动命令:redis-server.exe  --service-start --service-name redisserver

4.启动项目

  • 本地启动
    打开idea选择import project,选择tourismPro或者mongodb-file-server导入,然后等待相关依赖加载完成
    修改tourismPro项目中application.properties配置文件,将你自己的MySQL账号和密码替换写入
#数据源
spring.datasource.url=jdbc:mysql://localhost:3306/tourismPro?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true&characterEncoding=utf8
spring.datasource.username=你自己的MySQL账号
spring.datasource.password=你自己的MySQL密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

修改mongodb-file-server项目中application.properties配置文件,将你自己本地创建的数据库替换写入,这里在mongodb中创建了名为tourismPro的数据库

spring.data.mongodb.uri=mongodb://localhost:27017/tourismPro

如图启动main方法(mongodb-file-server同理)
idea启动项目
5.view address访问地址

前台:http://localhost  
后台:http://localhost:8082/index.html  

Quick start-快速部署(另一种部署方式)

注:使用我配置好的Nginx部署前端项目,通过我打包的jar直接启动后端项目

  • 下载部署包:百度网盘
  • 提取码:1bra

1.工具介绍:

  • 【MongoDB安装包】mongodb-win32-x86_64-3.4.24.zip
  • 【MongoDB连接工具】Robo3T_v1.3.1.exe
  • 【Redis安装包】Redis-x64-3.0.504.zip
  • 【Redis连接工具】redis-desktop-manager-0.9.3.817.exe
  • 【Nginx安装包】nginx-1.18.0.zip
  • 【MySql连接工具】Navicat网上一大堆我就不上传了

2.前端部署:

  • 务必保证系统的80端口、8082端口不被占用
  • 解压nginx-1.18.0-tourismPro.rar
  • 双击解压后nginx-1.18.0-tourismPro目录中的nginx.exe
  • 打开浏览器,输入localhost,再打开新标签输入localhost:8082
  • 页面正常显示则前端部署完成

3.后端部署:

  • 务必保证系统的8081端口不被占用
  • 务必保证系统已经正确配置了JDK1.8环境变量
  • 务必保证系统正确安装且启动了Redis且未修改默认端口、未设置密码
  • 务必保证系统正确安装且启动了Mongodb且新建了一个名为tourismPro的数据库
  • 务必保证系统安装的是Mysql5.X版本(本项目暂不支持8.X系列的MySQL数据库)且新建了一个名为tourismPro的数据库
  • 安装数据库时设置初始化账号为root,密码为1234
  • 打开cmd或者powershell输入以下命令:
java -jar tourismPro.jar
  • 打开一个新的cmd或powershell输入以下命令:
java -jar mongodb-file-server.jar

两个jar包启动都不报错则部署成功

4.验证:

打开浏览器访问地址

前台:http://localhost  
后台:http://localhost:8082/index.html  

在后台添加数据查看是否在前台正确展示

PS-其他说明

  • 本项目使用SpringDataJpa自动构建数据库表,启动项目会自动生成表结构,无需您手动创建
  • 启动不能自动构建表,并且报错"Specified key was too long; max key length is xxx bytes"的请保证您的MySQL版本为5.X,并且修改您的数据库编码字符集为utf8 – UTF-8 Unicode
  • 项目使用Redis存储Session会话
  • 项目使用MongoDB作为小型文件存储数据库
  • 项目中推荐算法部分的实现需要评分数据支撑,请登录不同用户为景点提交评分、评论(每个景点不少于5个评分)

Call me-联系方式

  • E-mail:824247231@qq.com
  • QQ:824247231
  • QQ群:696852484

http://chatgpt.dhexx.cn/article/hdjCwZDQ.shtml

相关文章

哪些你朝思暮想的动漫网站-搜嗖工具箱

AcFun是国内首家弹幕视频网站&#xff0c;这里有全网独家动漫新番&#xff0c; 友好的弹幕氛围&#xff0c;有趣的UP主&#xff0c;好玩有科技感的虚拟偶像&#xff0c;年轻人都在用www.acfun.cn 哔哩哔哩是国内知名的视频弹幕网站&#xff0c;这里有及时的动漫新番&#xff0c…

很有意思的几个网站

BiJint 在线美女时间展示网 速戳&#xff1a;BIJIN-TOKEI(美人時計) BiJint是一个基于互联网的在线时间提醒网站&#xff0c;它的独特之处在于该网站采用美女举牌提醒的方式来吸引用户的眼球。它们每一分钟都显示一张美女拿着时间牌拍的照片&#xff0c;然后每分钟都自动更新。…

临沧黄衣阿佤-中国佤民族中一支穿黄色衣服的佤族群体

云南黄衣阿佤介绍、临沧耿马黄衣阿佤村、云南大寨少数民族黄佤、临沧黄衣佤族寨 一、黄衣阿佤简介&#xff1a; 《佤族》是一个在祖国西南边疆分布较广的民族之一&#xff0c;也是云南临沧特有的少数民族。除阿佤山中心区的沧源和西盟两个自治县外&#xff0c;在德宏州梁河、保…

高级Java开发人员最常访问的几个网站

这是高级Java开发人员最常访问的几个网站。 这些网站提供新闻&#xff0c;一般问题或面试问题的答案&#xff0c;精彩的讲座等。质量是优秀网站的关键因素&#xff0c;这此网站都有较高的质量内容。下面逐一介绍&#xff1a; 1. Stackoverflow Stackoverflow.com可能是编程世界…

爬虫爬取二次元网站美女图片

爬虫爬取二次元网站美女图片 前言xpath解析需求分析代码编写总代码 前言 本次需要爬取二次元网站cos板块下的图片 需要用到request模块与lxml模块&#xff0c;所以请提前安装好这两个模块,打开cmd程序输入 requestlxmlpip install requestpip install lxml xpath解析 xpath解…

小爬虫sitemap网站seo优化(黄梦岚)

其实关于SEO优化网络有什么多种的方法&#xff0c;可以通过自己提交链接给百度让网络蜘蛛爬到,也可以使用我这种方法.下面给大家介绍一下小爬虫sitemap网站的seo优化,在这里申明我喜欢的人是黄梦岚(湖南永州东安)一辈子都喜欢话不多说我们开讲吧&#xff01;&#xff01;&#…

与虫子尾交3d动画网站_这六款好用的3D建模软件,总有一款是你想要的!

在现在这个科技迅速发展的时代,各种3D模型以及在我们的学习和生活中随处可见。立体的三维模型能让我们对展示的对象有着更直观的认知。那么,那些炫酷的3D模型究竟是怎么做出来的呢? 3D模型的制作和呈现最离不开的就是3D建模软件了,今天,小奇就要为大家介绍几款主流好用的…

六款堪称神器的网站

导读网站是通往互联网世界的一大工具,在这片信息的海洋上,总有那么几款产品,如海岛般骄傲伫立,带给人不一样的感觉。当然,本文的标题是有失公允的,世界是优秀的产品不计其数,要分类罗列出来简直不够写,所以本文所列举的网站仅作个人意见,方便阅读。1. 花蜜 | 不一样的…

2017年最受欢迎的10大商城网站

在电商和线上购物快速发展的今天&#xff0c;拥有一个商城网站很是必要&#xff0c;关于试水独立商城的好处大家可以浏览《有了淘宝京东&#xff0c;为什么还要自建商城网站?》查看。但是&#xff0c;搭建商城网站并不简单&#xff0c;庆幸的是目前市面上涌现了不少建站平台&a…

漂亮的带搜索框蓝黄拼色网站404页面源码

简介&#xff1a; 蓝黄拼凑起来的两种底色的404页面&#xff0c;比较少见&#xff0c;还别说&#xff0c;这样一搭配还是比较靓丽。 着404页面犹如我们穿的衣服&#xff0c;还是要合理打扮和搭配&#xff0c;这个就是百搭。 同时&#xff0c;页面还有一个搜索框&#xff0c;但…

艰难提权某黄色网站服务器

手提liu百多个黄色网站De服务器。 #继昨晚之后再一次提下一个08r2服务器,这次实属不易从下午一两点到方才现在约晚上十一点,学到新姿势了,心情还是很不错的。故事是这样的,六点多钟睡觉的我,到了九点钟,还是翻来覆去想日站。行吧,起床!日站走起。 逼装完了,说过程吧。…

在橙黄色网站设计中寻找灵感

在千变万化的色彩世界中&#xff0c;人们视觉感受到的色彩非常丰富&#xff0c;所以配色至关重要&#xff0c;网站设计的关键是选择正确的配色方案&#xff0c;配色的好坏可以直接影响网站的整体设计&#xff0c;好的配色可以通过改变空间的舒适程度和环境气氛来满足人们的各方…

20个黄色网页设计,激发你的灵感

当设计一个网站时&#xff0c;最常见的一个挑战是研发一种有效的配色方案。enqoo收集了20个黄色为主的网页&#xff0c;看看有没有你喜欢的。 Kim The Movie 1pooya Desyn Artigianasud Marlin Jackson RS Mehra elless michik Multimedios cldesignz Rillusion School of Medi…

50个启发你灵感的黄色系网站设计

译自&#xff1a; 50 Yellow Web Designs to Inspire You 色彩在网站设计中是一个很重要的方面。 好的设计师会小心的选择色彩来达到一个目的。有的时候&#xff0c;这个目的就是醒目些以获得用户的注意&#xff0c;而黄色正好是一个很棒的“吸引注意”的色彩。黄色是一个高度…

医院门诊管理系统之信息管理

打开医院门诊管理系统中的信息管理分有科室管理&#xff0c;医生管理和项目管理 一&#xff1a;科室管理可以修改信息&#xff0c;添加信息和删除信息。还有更新键确保信息及时更新。 二&#xff1a;医生信息管理可以根据医生的性别或科室筛选资料。 三&#xff1a;诊疗项目信息…

017ssm电子病历管理系统医院管理系统java

医疗保障是社会民生基础&#xff0c;特别是在我国&#xff0c;人口众多且人口老龄化严重&#xff0c;这对医院提出了新的要求。我国医院不论是医疗水平还是管理水平都与国外发达国家存在差距&#xff0c;且在国内地区差异也比较大&#xff0c;满足不了日益增长的医疗需求。信息…

医院HIS系统流程

医院HIS系统业务流程 一、门诊部分&#xff1a; 1、流程&#xff1a;病人——》导诊处办卡——》挂号处——》医生开单——》 收费处收费——》药方领药/医技科室检查。 2、注意事项&#xff1a; A、导诊处给病人分配卡号&#xff0c;录入基病人基本信息&#xff08;姓名、性…

医院信息管理系统需求分析

医院信息管理系统1.0 一、导言 1.1 编写目的 本需求说明文档描述了医院管理系统项目的要求&#xff0c;作为系统设计、项目目标以及项目验收的依据。需求分析详细描述了用户对功能的需求、对性能的需求以及对运行环境的需求。 软件开发小组的每位成员应该阅读本需求说明&#x…

医院管理系统(Java)

医院管理系统(Java) 特别说明&#xff1a;因为是课设仓促做出来的成品&#xff0c;在有些地方会有小BUG&#xff0c;例如返回主菜单会让普通用户返回至管理员管理菜单上。若有大神可自行修改路径。 GitHub仓库&#xff1a;点击此处 实训报告&#xff1a;点击此处 一、系统需求…

医院住院管理信息系统类图

医院住院管理信息系统类图 一、类图 1.1 病房管理 类间关系说明&#xff1a; •医生与护士为多对多的关系。 •护士与病人为一对多关系。 •护士与床位为一对多关系。 •医生与病人为多对一关系。 主要方法说明&#xff1a; 如图1.1所示&#xff0c;医生通过入院登记&#xff0…