如需轉載,請標明原文出處: https://juejin.im/post/5c7cc4576fb9a049bb7d0f1d ,謝謝。
背景
針對平時開發過程中遇到的問題、bug、難點或知識點做一個歸納總結。
不定時更新。
埋坑
1. JDBC連線資料庫報錯:The server time zone value '???ú±ê×??±??' is unrecognized or represents
出現這個的原因是因為MySQL返回的時間總是有問題,比實際時間要早8小時。
解決辦法:
在JDBC連線的url後面加上serverTimezone=GMT即可解決問題,如果需要使用gmt+8時區,需要寫成GMT%2B8。
例如:
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/sqlname?serverTimezone=GMT%2B8&useSSL=false"/>
複製程式碼
2. *.properties檔案內容亂碼問題
解決辦法:
Settings - Editor - File Encodings
勾選 Transparent native-to-ascii conversion
項。
3. SpringMVC無法訪問靜態資源(js、css、img等)
解決:需在 xxx-servlet.xml 配置以下引數(二選一)
- 採用
<mvc:default-servlet-handler />
<!-- 靜態資源(js、image等)的訪問 -->
<mvc:default-servlet-handler/>
<!-- 開啟註解 -->
<mvc:annotation-driven/>
複製程式碼
- 採用
<mvc:resources />
<!-- location 是真實的路徑,mapping 是對外顯示的對映的路徑 -->
<mvc:resources mapping="/style/**" location="/WEB-INF/pages/style/"/>
複製程式碼
可參考:
不攔截靜態資源的前提條件
SpringMVC訪問靜態資源——js、css、img等資源訪問不到
【Spring框架】<mvc:default-servlet-handler/>的作用
4. 瀏覽器請求介面,會有兩次請求,後臺介面走兩遍邏輯
- 可能是因為瀏覽器外掛 JSONView - 選項,開啟了
Use safe method to parse HTTP response (*)
它會導致瀏覽器強制重複傳送一次HTTP請求來獲取原始HTTP內容。
可參考:
SpringMVC chrome jsonviewer 一起請求 重複提交 controller重複執行 2次執行