在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日志,發現報錯點,一步一步來!