今天在修改wuser數據庫鏈接配置文件user.proxool.xml以後重啓服務,發現訪問接口均報錯。數據庫
[訪問user.getTgUser報錯:NoSuchElementException]服務器
[訪問user.getUser報錯:NullPointerException]編輯器
分別找到對應報錯行,均爲訪問數據庫的一行3d
【getUser,NoPointerException,Line:39】日誌
【getTgUser,NoSuchElementException,Line:41】xml
分析兩個接口的不一樣之處,一個有別名,報NoSuchElementException,另外一個沒有別名,報NoPointerException,所以猜想是數據庫鏈接池有問題。blog
從報錯內容中也能夠獲得印證。接口
因而翻出源碼,找到這一行get
回頭看初始化日誌,並無加載數據庫配置文件的部分。所以估計是user.proxool.xml沒有加載致使。源碼
因而將服務器中的user.proxool.xml移到本地,並將服務器上面該文件刪除。
重啓服務,再次訪問。
果真結果和以前同樣。所以肯定是此配置文件沒有被加載致使。那麼爲何沒被加載呢?
首先查看是否是XML有問題。
看名字,沒問題。
用文本編輯器打開,看別名、配置...
都沒問題。。。
咦,這是什麼?
UTF-8-BOM格式
想起以前同事跟我說過,BOM格式就是第一行前面有一串隱藏的字符,用於表示字符集。
百度一下:
心中小鹿亂撞了,感受就是這個緣由致使的XML加載失敗,因而趕忙改了字符集變爲無BOM格式,上傳,重啓。
看到頁面上打印的密密麻麻,怎麼就那麼興奮呢?