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”>

  • 相关阅读:
    火车进出栈问题(卡特兰数)
    HDU 4699 Editor (对顶栈)
    HDU 6430 TeaTree (线段树合并)
    Exam 4895 Crowd Control
    Exam 4894 Booming Business
    8377: Playoff
    hdu 6345 Problem J. CSGO
    HDU 6437 Problem L.Videos
    Making the Grade
    poj2279——Mr. Young's Picture Permutations
  • 原文地址:https://www.cnblogs.com/Nbge/p/4649118.html
Copyright © 2011-2022 走看看