作完了登陆,注册后。为了防止恶意的注册行为,又参照网上作了个简单的验证码。没想到我已经掉到了一个坑里。本地显示好好的验证码,扔到服务器上显示不出来,然而监控访问验证码的网络信息 返回的状态码是200 大小为300B。图片本地正常显示是1000B左右。由于返回的服务器状态码是200,而返回图片大小为300B(根本没显示出来)百度网站验证码不显示,根本不是我想要的答案,过了一段时间才找到了一个接近的博客。里面提到tomcat 的Headless mode模式,大概意思是要修改${TOMCAT_HOME}/bin/catalina.sh或${TOMCAT_HOME}/bin/catalina.bat文件才能让tomcat更好的传输图片。博客里只有修改catalina.sh的详细步骤,咱们公司服务器上的是windows server要修改就应该是catalina.bat文件,总以前先后后修改各类tomcat配置折腾了两天。今天中午的时候,才开始出现起色,同事给了我另一个验证码的实现方式(和个人只是稍微有点差别),没有路走了,我只有死马当活马医,实现了一下同事的验证码方式。在本地正常,扔到服务器上报错了,返回状态是500,太棒了,就是这个错误解救了我,查看详细错误信息,can't create output stream百度一下就出来了,原来是ImageIO.write这个坑,我以前一直把疑点放到tomcat配置上,由于个人验证码实现方式服务器返回状态时200。。。 如今看来这个200真的好坑。。。 ImageIO.write 个人报200是由于formatName填的是“PNG”,而同事填的的formatName是“jpg”。。。 最后总结下,此次为何会这么坎坷: 1这个状况从表面来看,不知道怎么好提问,搜索 2恰好撞到PNG上,报200,而后方向就一直错了下去。windows