首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Spring XML 配置錯誤:實體 characterEncoding 引用缺少分號結尾

     編輯:關於C++

錯誤現象

啟動 Spring 容器拋出 SAXParseException: 對實體 characterEncoding 的引用必須以 ';' 分隔符結尾,行號指向 DataSource 的 url 屬性。

問題代碼

<property name="url" value="jdbc:mysql://localhost:3306/supermarket?useUnicode=true&characterEncoding=UTF-8" />

原因分析

XML 中 & 是實體引用起始符,解析器期望 &characterEncoding; 形式(以分號結尾)。但實際意圖是 URL 參數分隔符 &,需轉義為 &amp;。

正確寫法

<property name="url" value="jdbc:mysql://localhost:3306/supermarket?useUnicode=true&amp;characterEncoding=UTF-8" />

替代方案

將參數分開配置,避免 URL 中出現 &:

<property name="url" value="jdbc:mysql://localhost:3306/supermarket" />
<property name="connectionProperties" value="useUnicode=true;characterEncoding=UTF-8" />

總結

XML 屬性值中出現 & 必須轉義為 &amp;,否則被視為實體引用導致解析錯誤。Spring 配置數據庫連接池時常見此問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved