再去做验证码的时候经常会抛出这个异常,以前没有太多的关注。但是今天做项目的时候又出现了这个异常,虽然对程序没有什么致命性的错误,但打印到控制台的错误信息,对这样一个追求完美的coder来说,怎可视其不存在。
java.io.IOException: Stream closed
多个线程索引同一个input stream,当某一个thread在执行完之后,把这个inputstream关闭了;而此时正在从这个input stream流中读取信息的线程就会抛出 java.io.IOException: Stream closed 异常。
终于找到这个异常的根源所在,原来是两个页面同时调用一个jsp,这个jsp中的内建对象
out在执行out.close()时发生的异常,也就是当某一个thread(对应一个jsp)在执行完之
后,把这个stream关闭了;而此时正在从这个stream中读取信息的另一个jsp就会抛出
java.io.IOException: Stream closed 异常。
在页面中包含action
在action中又转发到jsp页面
return mapping.findForward("toIndex");
<forward name="toIndex" path="/page/index.jsp" />
解决办法
return null;