SSM框架學習——數據庫、url-pattern遇到的bug

前言

在學習SSM框架時,導入一個已有項目,修改了mysql等一系列常規配置後,發現要實現簡單的運行,也存在着系列的問題,感覺也比較典型,作如下記錄。

問題

1. mysql 5 遷移到 mysql 8

# 1. connector jar包
 connector 5.0  ->   connector 8.0
 
# 2. jdbc 驅動更改
‘com.mysql.jdbc.Driver’ -> ‘com.mysql.cj.jdbc.Driver’

# 3. 數據庫連接的url更改
jdbc:mysql://localhost:3306/how2java?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

數據庫設置遷移中有幾個報錯和注意,讀者需牢記:

  1. serverTimeZone 大小寫注意,錯一個都不行。
    報錯形式:java.sql.SQLException: No timezone mapping entry for …

  2. serverTimeZone的值設置有講究,
    報錯形式:The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized

  3. xml中使用實體符號代替直接輸入&

否則tomcat報錯如下:
ERROR [main] - Context initialization failed
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 26 in XML
document from class path resource [applicationContext.xml] is invalid; nested exception # is org.xml.sax.SAXParseException; lineNumber: 26; columnNumber: 90; 對實體
“serverTimezone” 的引用必須以 ‘;’ 分隔符結尾。

2. 爲何需要設置時區?

爲什麼普通的請求和我的時區也會有關係,時區對程序的影響是什麼?

請參考:https://blog.csdn.net/xiuliyan6124/article/details/80630293

mysql窗口中查看自己的時區是跟隨系統的,而我們所在時區爲東八區,你可以將時區調整爲+8,或者將時區設置爲Asia/shanghai即可。

jdbc:mysql://localhost:3306/how2java?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

3. 訪問頁面後直接返回的是jsp源碼
在這裏插入圖片描述

錯誤原因:web.xml中url pattern 中 / 和 /*的不同

請參考:https://blog.csdn.net/xiuliyan6124/article/details/80630293

發佈了72 篇原創文章 · 獲贊 37 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章