網頁驗證碼出不來,讀取驗證碼時出錯:javax.imageio.IIOException: Can't create cache file!
阿新 • • 發佈:2019-03-25
eight -s .cn span mage tps www. ctrl+c https
版權聲明:本文為博主原創文章,僅作為學習交流使用 轉載請註明出處
https://www.cnblogs.com/linck/p/10593053.html
今天打開項目時,發現登陸界面的驗證碼出不來,排除了代碼問題。
網頁報錯:500
查看tomcat日誌,報錯:javax.imageio.IIOException: Can‘t create cache file!
網上查找原因,發現很多都說是下面這個原因:
去到tomcat目錄下發現本身就有一個temp文件夾,打開後發現是空的。按照以前經驗,很多博主都喜歡 CTRL+A --> CTRL+C --> CTRL+V,
而且是不註明出處的緣故。於是反著這些博文的方法:
直接刪除 temp 文件夾,刷新一下,重新打開idea,運行項目,發現驗證碼出來了,
再用eclipse試一次,發現也沒問題
個人推測真實原因:編譯器在隨機生成一個驗證碼時(我是按照系統時間偽隨機生成的:src="usernum?<%=new Date().getTime()%>),
會在tomcat服務器中建一個虛擬的臨時文件夾,存儲上面生成的驗證碼,而那個虛擬文件夾與temp同名,導致出錯。本博主沒有像某些
博主所說的“查閱資料”,沒查過就是沒查過,不知為不知,只是推測。所以希望看到本博文,又知道原因的大佬們不吝留言賜教,以正視聽,在此謝過啦!
網頁驗證碼出不來,讀取驗證碼時出錯:javax.imageio.IIOException: Can't create cache file!