如需转载,请标明原文出处: https://juejin.cn/post/6844903789518929927 ,谢谢。
背景
针对平时开发过程中遇到的问题、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次执行