###SmallArticleTitle###
来源:blog.csdn.net; 编辑:xjh; 2023-03-18
服务器环境为:jdk10.0.2+tomcat9.0
最近对自己的网站做了一些修改,在运行时发现:使用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();
参考原文链接:https://blog.csdn.net/rwzhang/article/details/103889498