您不能同时使用
getServletOutputStream()和
getWriter()在同一响应中使用。
来解决你的问题。避免在JSP中编写脚本。无论您在JSP中做什么,都可以在Servlet中实现它。
您正在使用
response.getOutputStream();非法的JSP
进行调用。您应该使用
ServletResponse.getOutputStream()或
ServletResponse.getWriter()。由于JSP默认使用ServletResponse.getWriter()。您应该写到ServletResponse.getWriter()而不是ServletResponse.getOutputStream()
这就是Java Doc所说的:
getOutputStream …
ServletOutputStream getOutputStream()引发IOException
返回适合于在响应中写入二进制数据的ServletOutputStream。Servlet容器不对二进制数据进行编码。
在ServletOutputStream上调用flush()会提交响应。可以调用此方法或getWriter()来编写正文,而不能同时调用两者。
返回:用于写入二进制数据的ServletOutputStream 抛出:IllegalStateException-
如果已在此响应上调用getWriter方法。


![java.lang.IllegalStateException:已经使用输出流[关闭] java.lang.IllegalStateException:已经使用输出流[关闭]](http://www.mshxw.com/aiimages/31/421931.png)
