zoukankan      html  css  js  c++  java
  • java.lang.IllegalStateException: getOutputStream() has already been called for this response

    ERROR [Engine] StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
    java.lang.IllegalStateException: getOutputStream() has already been called for this response
    从网上找了下资料,综合一下原因分析:
    这是web容器生成的servlet代码中有out.write(””),这个和JSP中调用的response.getOutputStream()产生冲突.
    即Servlet规范说明,不能既调用 response.getOutputStream(),又调用response.getWriter(),无论先调用哪一个,在调用第二个时候应会抛出 IllegalStateException,因为在jsp中,out变量是通过response.getWriter得到的,在程序中既用了response.getOutputStream,又用了out变量,故出现以上错误。
    解决方案:
    1.在程序中添加:
    out.clear();
    out = pageContext.pushBody();
    就可以了;
    2,不要在%〕〔%之间写内容包括空格和换行符
    3,在页面写入图片的时候,需要flush()
    OutputStream output=response.getOutputStream();
    output.flush();
    4,在页面确定写入<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312”>

  • 相关阅读:
    SVN Monitor工具推荐
    Linux Netbeans汉化不全
    PMWiki安装教程
    JIRA重启服务器后需要重启TOMCAT的解决
    SVN分支与合并
    WCF无法捕获FaultException
    非完美C++ Singleton实现[转载]
    C语言结构体的对齐原则
    C++ STL 学习笔记
    字符串笔试题
  • 原文地址:https://www.cnblogs.com/Nbge/p/4649118.html
Copyright © 2011-2022 走看看