基于Web的机票管理系统运行教程

1、前期必备

1.1、所需软件版本说明

为避免出现其它问题,建议软件版本跟作者保持一致

软件 版本 说明
Eclipse 2018-09 开发工具版本无特殊要求
Tomcat 9.0 推荐使用Tomcat9.0
Jdk 1.8 推荐使用JDK1.8
MySQL 5.7.26 强烈推荐使用MySQL5.7.x,使用高版本(如:MySQL8.0.x )会导致数据库连接失败
Maven 3.6.3 无特殊版本要求
Redis 64.3.0.503 无特殊版本要求

1.2、下载源码

本系统源码获取方式见文章末尾

本系统开发设计文档:《基于web的机票管理系统设计与实现(一)》

本系统开发设计文档:《基于web的机票管理系统设计与实现(二)》

1.3、下载开发工具

作者用目前非常流行的 Eclipse 开发工具做演示,大家可直接在百度搜索关键词下载。

1.4、下载Tomcat

这一步也是非常简单啦,作者使用Tomcat9.0版本,建议跟作者保持一致。在百度搜索 Tomcat9.0,下载后解压到某个盘符下即可(记住解压路径,后面要用)

1.5、下载JDK并配置环境变量

很重要,作者使用JDK1.8版本,也是建议初学者使用作者的版本(其它版本后面配置可能会出问题)。JDK下载和环境变量配置在百度搜索关键词有很多教程,这里不再重复。

1.6、安装数据库和数据库管理工具

目前作者所有毕设源码数据库都用 MySQL5.7版本,强烈建议初学者跟作者保持一致,避免出现其它错误,待运行成功后再根据需要调整数据库版本。

MySQL5.7安装教程请看作者另一篇文章:《MySQL绿色版安装与卸载教程》

数据库管理工具作者用 Navicat,并没有版本要求,自己在百度搜索,傻瓜式安装即可,也可以用其他数据库管理工具。

1.7、安装配置Maven

基于Web的机票管理系统用到项目管理工具Maven来统一Jar包管理,关于Maven的下载安装和配置教程请阅读作者的另一篇文章:《Maven安装与配置教程》,教程中对每个步骤的描述都很详细,大家根据文章操作就可以了。

1.8、下载安装Redis

本项目中使用Redis来缓存登录人的相关信息,Redis下载安装非常简单,这里不再说明,大家去百度搜索关键词Redis下载安装教程的话有很多案例,按照教程一步步操作即可。

做完以上工作后,项目所需的基础软件就准备完成了。

2、将SQL文件导入到数据库

2.1、新建MySQL连接

1、打开安装好的Navicat(数据库管理工具)–》连接 --》MySQL

2、输入相关信息

  • 连接名:自定义(随便起)
  • 主机:使用默认localhost或127.0.0.1
  • 端口:使用默认3306
  • 用户名:填写自己数据库的用户名
  • 密码:填写自己数据库的密码

注意:使用了上面作者提供的数据库安装方式的,密码默认为空!

3、输入以上信息后,先点击“连接测试”看看信息是否正确,正确后点击“确定”即可。

2.2、新建数据库并导入SQL

1、test 右击–>新建数据库

数据库名:查看“基于Web的机票预订系统”源码包,用记事本工具打开ticket.sql文件

下载好的源码包解压后:

字符集:utf8
排序规则:utf8_general_ci

2、双击新建的数据库–>待数据库名由灰变亮后–>右击数据库名–>运行SQL文件–>选择文件ticket.sql -->点击开始–>关闭

注意:SQL文件在下载好的源码包中

3、刷新数据库表后即可看到导入的文件了

完成以上步骤后,sql文件已成功导入到数据库中了。

3、Eclipse配置Maven环境

1、打开Eclipse开发工具–>Window–>Preferences

2、进行如下配置:

  1. 搜索框内输入:Maven
  2. 点击:User Settings
  3. 选择Maven的setting.xml文件
  4. 检查本地仓库地址是否正确

4、用Eclipse导入并运行程序

4.1、Eclipse导入项目

1、打开之前安装好的eclipse开发工具,file --> import -->Maven -->Existing Maven Projects–>Next

注:这里一定要选择Maven

2、选择下载好的flyTicket-parent,点击Finish即可

3、导入后,如下图所示

点击Finish导入项目时在开发工具右下角有进度条提示,此处可能时间较长,请耐心等待。待进度条加载完成后项目结构如下图:

4.2、检查Maven配置是否正常

观察Maven本地仓库,查看项目依赖下载是否正常,即检查本地仓库路径下是否有类似下图中的文件夹生成。

如果没有上图中的文件夹生成的话需要检查Maven配置是否正确、刷新项目

Window–>Preferences–>Maven–>User Settings

鼠标放到项目名称右击–>Maven–>Update Project

4.3、检查并修改JDK版本

注意:以下项目都要修改JDK版本

  • flyTicket-dao
  • flyTicket-manage-service
  • flyTicket-manage-web
  • flyTicket-pojo
  • flyTicket-portal-service
  • flyTicket-portal-web

1、项目名称右击–>Build Path–>Configure Build Path

2、点击JRE System Library–>Edit–>Installed JRE–>Add

4.4、检查并修改Tomcat端口

此步很重要。本项目包括用户所使用的前台(flyTicket-portal-web)和管理员所使用的后台(flyTicket-manage-web)两个服务,因此也需要两个Tomcat服务器(端口不一样)。

1、将上述1.4步骤中下载好的Tomcat复制一份并重命名(重命名是为了方便区分端口),如下图:

2、修改apache-tomcat-9.0.30(8080)文件夹下conf/server.xml文件并保存

注意:需要修改下图中的两处

3、修改apache-tomcat-9.0.30(8081)文件夹下conf/server.xml文件并保存

注意:需要修改下图中的两处

4.5、配置Server运行环境

同步骤4.4,需要配置前台(flyTicket-portal-web)和后台(flyTicket-manage-web)两个运行环境

1、Window–>Preferences

2、搜索框输入server–>点击 Runtime Environments–>点击Add–>选择 Apache Tomcat v9.0–>点击 Next

3、重命名Name为Apache Tomcat v9.0(8080)–>点击Browse–>选择8080端口的Tomcat

注意:选择端口为8080的Tomcat

4、重复2-3步骤

注意:重命名Name为Apache Tomcat v9.0(8081)

注意:选择端口为8081的Tomcat

5、8080和8081端口的运行环境配置完成后如下图所示:

4.6、配置Server Runtime

通过步骤4.5配置好运行环境后,需要将两个运行环境分别添加到前台项目(flyTicket-portal-web)和后台项目(flyTicket-manage-web)中。

1、将8081环境添加到前台系统中

前台项目(flyTicket-portal-web)右击–>Build Path–>Configure Build Path–>Libraries–>Add Library–>Server Runtime–>Next–>Apache Tomcat v9.0(8081)–>Finish–>Apply and Close

配置完后如下图所示:

2、将8080环境添加到后台系统中

后台项目(flyTicket-manage-web)右击–>Build Path–>Configure Build Path–>Libraries–>Add Library–>Server Runtime–>Next–>Apache Tomcat v9.0(8080)–>Finish–>Apply and Close

配置完后如下图所示:

4.7、修改数据库相关配置

修改前台(flyTicket-portal-web)和后台(flyTicket-manage-web)数据库配置,具体操作步骤如下:

1、修改前台(flyTicket-portal-web)数据库配置

2、修改后台(flyTicket-manage-web)数据库配置

4.8、给前台项目(flyTicket-portal-web)配置沙箱支付

前台项目(flyTicket-portal-web)中用到了支付宝沙箱支付环境,需要修改flyTicket-portal-web/src/main/java/com/alipay/config/AlipayConfig.java,关于沙箱环境的介绍和详细配置步骤请阅读《支付宝支付–沙箱支付教程+案例 | PC端网站支付(超级详细)》

4.9、运行前台(flyTicket-portal-web)项目

注意:运行前记得开启Redis,不然在用户登录时会报错java.net.SocketTimeoutException: connect timed out

1、Servers–>New–>Server

2、点击Tomcat v9.0 Server–>重命名Server Name为
Apache Tomcat v9.0(8081) at local–>选择8081端口的运行环境–>Next

3、将flyTicket-portal-web从左边加到右边–>点击Finish

4、Apache Tomcat v9.0(8081) at localhost右击–>Start

5、打开浏览器输入http://localhost:8081/flyTicket-portal-web/

前台(flyTicket-portal-web)登录界面:

前台普通用户名密码如下图:

成功登录后:

4.10、运行后台(flyTicket-manage-web)项目

注意:运行前记得开启Redis,不然在用户登录时会报错java.net.SocketTimeoutException: connect timed out

1、Servers–>New–>Server

2、点击Tomcat v9.0 Server–>重命名Server Name为
Apache Tomcat v9.0(8080) at local–>选择8080端口的运行环境–>Next

3、将flyTicket-manage-web从左边加到右边–>点击Finish

4、Apache Tomcat v9.0(8080) at localhost右击–>Start

5、打开浏览器输入http://localhost:8080/flyTicket-manage-web/

后台管理员用户名密码如下图:

成功登录后:

5、常见问题及解决方式

5.1、项目导入后中文乱码问题

项目导入后出现中文乱码问题,如下图所示:

解决方法:改变整个Eclipse工作空间的编码格式

在Window–》Preferences–》General–》Workspace下,面板Text file encoding 选择UTF-8格式(或者从GBK改成 UTF-8)

改变Eclipse工作空间的编码格式后:

5.2、导入后项目名称前出现红叉叉

导入后项目名称前有可能出现红叉叉,这时候不要着急运行项目(运行会报错),根据以下步骤解决。

特别说明:如果只是在项目名称上有红叉叉,具体的文件上没有红叉叉时不影响项目运行(不用搭理)

1、鼠标放到项目名称上右击 --》Build Path -->Configure Build Path

2、点击 Libraries -->检查报错项

上图中,我们看到 JRE System Library[Java](unbound)报错,这是因为未找到 JDK,鼠标放到报错项上 --》点击右侧的Edit按钮 --》选择安装好的JDK(JRE)环境就好了

未选择JDK(JRE)之前如下图:

选择JDK(JRE)之后如下图:

注意:主要检查如下两项,报错时通常出现:XXXunbound

  • Apache Tomcat v9.0[Apache Tomcat v9.0](unbound)
  • JRE System Library[jdk](unbound)

若出现以上报错时,直接复制“Apache Tomcat v9.0[Apache Tomcat v9.0](unbound)”去百度。

同样的方式复制“JRE System Library[jdk](unbound)”去百度

5.3、Eclipse中Tomcat的add and remove找不到项目

1、右键项目—>Propertis

2、Project Facets—>将Dynamic Web Module打勾

也可以搜索关键词“Eclipse中Tomcat的add and remove找不到项目”去百度寻求解决方法。

5.4、项目运行时报错:配置应用程序监听器[org.springframework.web.context.ContextLoaderListener]错误

1、报错原因

该项目下所引用的 jar 包没有同步到 lib 目录下

2、解决办法

选择所运行的项目>右击Build Path>Configure build path>Deployment Assembly>add>选择Java Build Path Entries>选择Maven Dependencies

5.5、Redis报错java.net.SocketTimeoutException: connect timed out

六月 11, 2022 11:32:23 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [SpringMVC] in context with path [/flyTicket-manage-web] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool] with root cause
java.net.SocketTimeoutException: connect timed out
	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at redis.clients.jedis.Connection.connect(Connection.java:158)
	at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:82)
	at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1641)
	at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:85)
	at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:861)
	at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
	at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)

1、报错原因

出现java.net.SocketTimeoutException: connect timed out时说明Redis连接失败

2、解决办法

检查Redis是否成功开启

5.6、运行项目时HTTP状态码出现 404、500

HTTP状态码 404: 官方解释是服务器找不到请求的网页。本项目中出现404时首先检查访问地址是否正确,其次检查服务是否正常启动(Tomcat)。

HTTP状态码 500: 官方解释是服务器内部错误,服务器遇到错误,无法完成请求。本项目中出现500时表明前端请求已经到达后端服务器,只是在逻辑处理中遇到错误,具体错误原因需要我们查看Eclipse控制台(Console)。特别注意:在本项目中输入用户名和密码后点击登录时出现500状态码,一般是数据库连接失败,MySQL数据库版本高于5.7时会出现上述情况(建议使用MySQL5.7.x)。

5.7、支付时出现org.apache.jasper.JasperException: 在 [46] 行处理 [/pay/alipay.trade.page.pay.jsp] 时发生异常

付款时报错org.apache.jasper.JasperException: 在 [46] 行处理 [/pay/alipay.trade.page.pay.jsp] 时发生异常是由于没有正确配置或未配置支付宝沙箱环境,配置教程请看《支付宝支付–沙箱支付教程+案例 | PC端网站支付(超级详细)》

5.8、后台管理端新建广告后前台首页轮播图无法正常显示

我们在后台管理端新建广告信息后,前台首页轮播图无法正常显示,如下图:

1、原因分析

这是由于后台管理端上传广告图片时将图片保存到了本地(默认C:\flyTicket),导致前台轮播图img标签无法正常加载图片路径导致的。

2、解决办法

配置tomcat项目虚拟路径

  • 虚拟路径 /contentpic
  • 真实路径 C:\flyTicket

双击打开 Apache Tomcat v9.0(8081) at local

点击Modules–>点击AddExternal Web Module–>填写真实路径和虚拟路径–>点击OK–>保存–>关闭Apache Tomcat v9.0(8081) at local–>重启服务

6、获取源代码

以上就是本期的所有内容,感谢你的阅读。获取本系统源码请微信搜索关注下方名片,回复关键词“基于web的机票管理系统”或者“机票管理系统”自行下载。关键词一定要输完整、输对哦!!

猜你喜欢

转载自blog.csdn.net/qq_40625778/article/details/129968740