首页 > 技术文章 > 网页验证码出不来,读取验证码时出错:javax.imageio.IIOException: Can't create cache file!

linck 2019-03-25 12:34 原文

 


 版权声明:本文为博主原创文章,仅作为学习交流使用 转载请注明出处

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同名,导致出错。本博主没有像某些

博主所说的“查阅资料”,没查过就是没查过,不知为不知,只是推测。所以希望看到本博文,又知道原因的大佬们不吝留言赐教,以正视听,在此谢过啦!

 

推荐阅读