@文章目录
2.导出SQL文件到数据库
3.Eclipse配置Maven环境
4.使用Eclipse导出并运行程序
五、常见问题及解决方法
微信扫码关注这位温暖的程序员
为了防止出现其他问题,建议软件版本与作者保持一致
软件发行说明
蚀
2018年9月
开发工具版本无特殊要求
雄猫
9.0
推荐Tomcat9.0
jdk
1.8
建议使用JDK1.8
MySQL
5.7.26
强烈建议使用MySQL5.7.x网站源码修改教程,使用更高版本(如:MySQL8.0.x)会导致数据库连接失败
梅文
3.6.3
无特殊版本要求
雷迪斯
64.3.0.503
无特殊版本要求
1.2. 下载源代码
本教程源码作者已经放到云盘了。 在公众号【IT高级】回复关键词“网页票务管理系统”或“票务管理系统”即可自行下载。
系统开发设计文档:
1.3. 下载开发工具
笔者使用目前非常流行的Eclipse开发工具作为演示,大家可以直接在百度搜索关键词进行下载。
1.4. 下载Tomcat
这一步也很简单,笔者使用的是Tomcat9.0版本,建议与笔者保持一致。 百度搜索Tomcat9.0,下载并解压到某个c盘(记住解压路径,后面会用到)
1.5. 下载JDK并配置环境变量
非常重要,作者使用的是JDK1.8版本,也建议初学者使用作者的版本(其他版本旁边的配置可能会出现问题)。 JDK下载和环境变量配置百度搜索关键字有很多教程,这里不再赘述。
1.6. 安装数据库和数据库管理工具
目前笔者的源代码数据库均使用MySQL5.7版本。 强烈建议初学者与作者保持一致,避免出现其他错误。 操作成功后,根据需要调整数据库版本。
MySQL5.7安装教程请参见作者另一篇文章:
数据库管理工具作者使用的是Navicat,没有版本要求。 你可以像傻瓜一样在百度上搜索并安装,也可以使用其他数据库管理工具。
1.7. 安装和配置 Maven
基于Web的票务管理系统使用项目管理工具Maven来统一Jar包管理。 Maven的下载、安装和配置教程请阅读作者的另一篇文章:教程中每一步的描述都非常详细。 按照文章操作就可以了。
1.8. 下载并安装Redis
本项目中使用Redis来缓存登录者的相关信息。 Redis的下载和安装非常简单,这里就不解释了。 如果去百度搜索关键词Redis下载安装教程,有很多情况。 只需按照教程一步步操作即可。
完成以上工作后,项目所需的基础软件就准备完成了。
2. 将SQL文件导出到数据库2.1。 创建新的 MySQL 连接
1、打开安装好的Navicat(数据库管理工具)--》连接--》MySQL
2. 输入相关信息
注意:如果使用前作者提供的数据库安装方法,密码默认为空!
3、输入以上信息后,先点击“连接测试”检查信息是否正确,然后点击“确定”。
2.2. 创建新数据库并导出SQL
1.右键单击测试-->新建数据库
数据库名称:查看《基于Web的机票预订系统》源码包,用记事本打开ticket.sql文件
下载的源码包解压后:
字符集:utf8 排序规则:utf8_general_ci
2、双击新建的数据库 --> 等待数据库名称由灰色变为亮色 --> 右键单击数据库名称 --> 运行SQL文件 --> 选择文件ticket.sql -->点击开始-->关闭
注:SQL文件在下载的源码包中
3.刷新数据库表后可以看到导出的文件
完成以上步骤后,sql文件就已经成功导出到数据库了。
3.Eclipse配置Maven环境
1.打开Eclipse开发工具-->Window-->Preferences
2. 配置如下:
在搜索框中输入:Maven
点击:用户设置
选择Maven的setting.xml文件
检查本地仓库地址是否正确
4、使用Eclipse导出并运行程序4.1。 Eclipse导出项目
1、打开之前安装的eclipse开发工具,文件-->导入-->Maven-->Existing Maven Projects-->Next
注意:这里必须选择Maven
2.选择下载的flyTicket-parent,点击Finish
3.导入后如下图
点击Finish导出项目时,开发工具右下角会有进度条提示。 这里可能需要很长时间,请耐心等待。 进度条加载完成后,项目结构如下:
4.2. 检查Maven配置是否正常
观察Maven本地仓库,检查项目依赖下载是否正常,即检查本地仓库的路径下是否有生成类似右图的文件夹。
如果没有生成上图的文件夹,需要检查Maven配置是否正确,刷新项目
窗口-->首选项-->Maven-->用户设置
右键单击项目名称-->Maven-->更新项目
4.3. 检查并更改JDK版本
注意:以下项目必须更改JDK版本
1.右键单击项目名称-->构建路径-->配置构建路径
2.点击JRE系统库-->编辑-->安装的JRE-->添加
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、配置服务器运行环境
同步骤4.4,需要配置两个运行环境:前台(flyTicket-portal-web)和后台(flyTicket-manage-web)
1. 窗口-->首选项
2. 在搜索框中输入服务器 --> 单击运行时环境 --> 单击添加 --> 选择 Apache Tomcat v9.0 --> 单击下一步
3. 将名称重命名为 Apache Tomcat v9.0 (8080) --> 单击浏览 --> 选择端口为 8080 的 Tomcat
注意:选择Tomcat,端口为8080
4. 重复步骤2-3
注意:将名称重命名为 Apache Tomcat v9.0(8081)
注意:选择Tomcat,端口为8081
5、8080、8081端口运行环境配置完成后,如下图所示:
4.6. 配置服务器运行时
通过步骤4.5配置好运行环境后,需要将两个运行环境分别添加到前台项目(flyTicket-portal-web)和后台项目(flyTicket-manage-web)中。
1、前台系统添加8081环境
前台项目(flyTicket-portal-web)右键-->构建路径-->配置构建路径-->库-->添加库-->服务器运行时-->下一步-->Apache Tomcat v9.0(8081 )-->完成-->应用并关闭
配置完成后,如下图所示:
2、后台系统添加8080环境
后台项目(flyTicket-manage-web)右键-->构建路径-->配置构建路径-->库-->添加库-->服务器运行时-->下一步-->Apache Tomcat v9.0(8080 )-->完成-->应用并关闭
配置完成后,如下图所示:
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。 沙盒环境的介绍和详细信息请阅读配置步骤。
4.9. 运行前台(flyTicket-portal-web)项目
注意:运行前记得启用Redis,否则用户登录时会报错java.net.SocketTimeoutException: connect timed out
1. 服务器-->新建-->服务器
2、点击Tomcat v9.0服务器-->在本地重命名服务器名称为Apache Tomcat v9.0(8081)-->选择8081端口的运行环境-->下一步
3. 从左到右添加flyTicket-portal-web --> 点击完成
4. Apache Tomcat v9.0(8081) 在 localhost 右键单击 -->Start
5、打开浏览器输入:8081/flyTicket-portal-web/
前台(flyTicket-portal-web)登录界面:
前台正常用户名和密码如下:
登录成功后:
4.10. 运行后台 (flyTicket-manage-web) 项目
注意:运行前记得启用Redis,否则用户登录时会报错java.net.SocketTimeoutException: connect timed out
1. 服务器-->新建-->服务器
2、点击Tomcat v9.0服务器-->在本地重命名服务器名称为Apache Tomcat v9.0(8080)-->选择8080端口的运行环境-->下一步
3. 从左到右添加flyTicket-manage-web --> 点击Finish
4. Apache Tomcat v9.0(8080) 在 localhost 右键单击 -->Start
5、打开浏览器输入:8080/flyTicket-manage-web/
后台管理员用户名和密码如下:
登录成功后:
5. 常见问题及解决办法 5.1. 项目导出后出现英文乱码
项目导出后出现英文乱码,如下图:
解决方案:更改整个Eclipse工作区的编码格式
在Window--》Preferences--》General--》Workspace下,面板上的Text file编码选择UTF-8格式(或者从GBK改为UTF-8)
更改Eclipse工作区的编码格式后:
5.2. 导入后,项目名称前会出现一个红叉
导入后,项目名称前面可能会有一个红叉。 此时先不要急于运行项目(运行时会报错),按照以下步骤解决。
特别说明:如果项目名称上只有红叉,如果具体文件上没有红叉,则不会影响项目的运行(忽略)
1.右键单击项目名称--》构建路径-->配置构建路径
2. 单击“库”-->“检查错误项”
上图中,我们可以看到JRE System Library[Java](未绑定)报错了。 这是因为没有找到JDK,鼠标放在错误项上--》点击两边的编辑按钮--》选择已安装的JDK(JRE)环境就可以了
选择JDK(JRE)之前,图片如下:
选择JDK(JRE)后如下图:
注意:主要检测的是以下两项,一般报错时会出现:XXXunbound
如果出现上述错误,直接复制“Apache Tomcat v9.0[Apache Tomcat v9.0](未绑定)”到百度即可。
用同样的方法将“JRE系统库[jdk](未绑定)”复制到百度
5.3. Eclipse中Tomcat的添加和删除找不到项目
1.右键单击项目--->Propertis
2. 项目方面 ---> 勾选动态 Web 模块
也可以搜索关键词“Tomcat在Eclipse中的添加和删除找不到项目”,去百度寻找解决方案。
5.4、项目运行早上报错:配置应用监听器[org.springframework.web.context.ContextLoaderListener]错误
1、错误原因
本项目引用的jar包没有同步到lib目录
2. 解决方案
选择正在运行的项目>右键构建路径>配置构建路径>部署程序集>添加>选择Java构建路径条目>选择Maven依赖项
5.5. Redis报java.net.SocketTimeoutException: 连接超时
六月 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是否启动成功
发表评论