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

  • 相关阅读:
    http协议之状态码
    HTTP协议入门基础
    CI框架使用(一)
    memcache常见现象(一)雪崩现象
    memcached分布式一致性哈希算法
    编译php扩展
    memcached--delete--replace--set--get--incr--decr--stats
    memcached--add使用
    php5.3之命名空间
    MySQL优化(一)
  • 原文地址:https://www.cnblogs.com/Nbge/p/4649118.html
Copyright © 2011-2022 走看看