在github找到原博主的项目后,导入esclipse中,却发现运行不了。页面一直显示:
404 not found
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
后来在网上找了N多资料并且仔细查看了原博主的开发环境以后找到了问题所在。
首先我们来看原博主的开发环境:
系统环境:Windows
开发工具:Eclipse
Java版本:JDK 1.7
服务器:tomcat 7.0
数据库:MySQL 5.1
系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Ajax+面向接口编程
我自己的开发环境:
系统环境:Windows
开发工具:Eclipse
Java版本:JDK 1.7
服务器:tomcat 7.0
数据库:MySQL 8.0
系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Ajax+面向接口编程
其中只有MySQL的版本不同,再然后我们查看tomcat log中问题:
Unknown initial character set index '255' received from server. Initial client character set can be····
这是一个关于URL字符集的问题,根据网上所找到的资料,我把我的URL地址改为:
jdbc:mysql://localhost:3306/ssms?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
在ssms后面加上?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
好了第一个问题解决。当我再次启动tomcat时,页面又显示404了,于是又得查看tomacat日志,这次报错显示:
java.sql.SQLException: Unknown system variable 'tx_isolation'
于是又上网查找资料,发现这是由于MySQL版本的原因。我的是8.0版本,而博主的是5.1版本,因此mysql-connector-java 5.1.7.jar显然是落后的。于是我换成mysql-connector-java 5.1.47.jar。第二个问题解决。
最后可能由于MySQL版本的原因,在SystemInitListener中sql语句"SELECT * FROM system"报错,查了一下是system这个词在8.0版本为MySQL系统的所属名词,不能使用。因为我改为SELECT * FROM system1,同样的在数据库把表格system 改为system1.
大功告成,项目成功启动了!
这是我启动时的画面:
总的来说就三步:
1.改URL jdbc:mysql://localhost:3306/ssms?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
2.改mysql-connector-java 改成 mysql-connector-java 5.1.47.jar
3.改sql语句和数据库表格名称 改成SELECT * FROM system1 system改成system1
就这三步花了我三个小时的时间,以后遇到bug不要怕,查看tomcat日志,发现报错点,一步一步来!