对实体 "useSSL" 的引用必须以 ';' 分隔符结尾。 Nested exception: 对实体 "useSSL" 的引用必须以 ';' 分隔符结尾

时间:2021-07-03 20:28:03

今天在定义数据源的时候,在配置context.xml文件时,连接mysql数据库的url一行发生错误,
报错:“对实体 "useSSL" 的引用必须以 ';' 分隔符结尾”。
以下是我配置数据源的代码:

<Resource name="jdbc/BookDB" auth="Container" type="javax.sql.DataSource"
  username="root" 
  password="Cz123"
  driverClassName="com.mysql.jdbc.Driver"
  url="jdbc:mysql://localhost:3306/Books?characterEncoding=utf8&useSSL=true"
/>

我的解决办法:在url中的字符“&”后面加上字符“amp;”(注意amp后面有分号),这里的"&amp;"为转义字符,其实就是‘&’。

那为什么用“&”字符就不可以呢?从网上搜了一下有关xml文件时知识,原来问题是这样的:

xml文件中有些特殊字符是被禁止的,而‘&’就是其中一个,如果要想使用它,需要用到它的转义字符"&amp;"

xml文件中有些特殊字符是被禁止的,需要转义,举例如下:

&lt; <
&gt; >
&amp; &
&apos; '
&quot; "