在JSP程序中如果调用了response.getOutputStream()方法抛出这样的异常:
Java.lang.IllegalStateException: getOutputStream() has already been called for this response
Java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:596)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:186)
这是因为jsp中的out对象和response.getOutputStream()产生冲突.
即不能既调用response.getOutputStream(),又调用response.getWriter().
解决方案:在程序的前面添加下面两行代码就可以了:
out.clear();
out = pageContext.pushBody();
out.clear();
out = pageContext.pushBody();