chrome中验证码图片不显示的解决办法

chrome中验证码图片不显示的解决办法备忘

最近对一个N年前的老项目做了一些修改,在运行时发现在Chrome中登录验证码图片无法显示,具体情况如下:

项目原始环境为jdk1.6+tomcat6,此时在所有浏览器中均能正常显示验证码,本次更新后项目环境变更为jdk1.8+tomcat8,此时在Chrome浏览器中无法显示验证码,火狐、ie等浏览器中能正常显示。

验证码无法显示时在控制台中提示错误信息:getOutputStream() has already been called for this response

出现该问题的原因是生成图片的语句response.getOutputStream()与xx_jsp.java页面中的_jspxFactory.releasePageContext(xxxx)冲突(releasePageContext会调用response.getWriter(),而这个方法和response.getOutputStream()相冲突)。

解决办法

在response.getOutputStream()方法上面加下面的两行代码

out.clear();

out=pageContext.pushBody();

你可能感兴趣的:(Java)