昨晚在做图片验证码的时候,生成验证码成功了,但却抛出了一个异常:
java.lang.illegalStateException:getOutputStream() has already been call for this response
,呵呵,错误的状态,肯定是在输出流已经关闭的情况还继续向页面输出语句,看了一下生成验证码的代码,果然如此:
OutputStream os=response.getOutputStream();
。。。
os.flush();
os.close();
但要怎样解决呢?不清空输出流的话验证码图片是不会生成的。没办法,只好求助于google,终于找到了解决方法:在方法体结束前加入以下两条语句:
out.clear();
out = pageContext.pushBody();