`

问题积累——IllegalStateException: getOutputStream() 异常的解决方案

    博客分类:
  • web
阅读更多

    在写JSP程序的时候,如果程序中调用了response.getOutputStream()去向客户端输出文件等数据流,容器就会抛出这样的异常:

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)
产生这样的异常原因:是web容器生成的servlet代码中有out.write(""),这个和JSP中调用的response.getOutputStream()产生冲突.即Servlet规范说明,不能既调用response.getOutputStream(),又调用response.getWriter(),无论先调用哪一个,在调用第二个时候应会抛出IllegalStateException,因为在jsp中,out变量实际上是通过response.getWriter得到的,你的程序中既用了response.getOutputStream,又用了out变量,故出现以上错误。

解决方案:

在程序的最后添加以下代码即可:

out.clear();    
out = pageContext.pushBody();

 就可以了.

 

分享到:
评论

相关推荐

    java.lang.IllegalStateException: getOutputStream() has already解决办法

    纠结了半天的 java.lang.IllegalStateException: getOutputStream() has already。这个问题困扰了半天,在网上查阅了大量资料 出这个错误一般就是下面2个.....

    关于IllegalStateException: The specified child already has a parent.

    IllegalStateException: The specified child already has a parent.我的博客中有文章讲解

    java.lang.IllegalStateException: Cannot call sendError() after the response has

    在Java的Web开发中,`java.lang.IllegalStateException: Cannot call sendError() after the response has been committed` 是一个常见的错误,通常发生在尝试在HTTP响应已经发送到客户端之后调用`sendError()`方法...

    Java异常之—-Caused by: java.lang.IllegalStateException: Method has too many Body parameters

    异常:Caused by: java.lang.IllegalStateException: Method has too many Body parameters Caused by: java.lang.IllegalStateException: Method has too many Body parameters: public abstract ...

    java.lang.IllegalStateException: OutputStream already obtain

    标题 "java.lang.IllegalStateException: OutputStream already obtain" 涉及到的是Java编程中的一个常见错误,特别是当处理I/O流时。这个异常通常在尝试获取已经存在的OutputStream实例时抛出,表明该输出流已经被...

    Android异常 java.lang.IllegalStateException解决方法

    在Android开发过程中,Java异常`...总之,理解`IllegalStateException`的具体原因并根据上下文进行相应的优化是解决问题的关键。在多线程编程和UI操作中,保持良好的同步和资源管理实践可以极大地减少这类异常的发生。

    spring入门好教程

    它的目标不仅仅是解决单一层次的问题,而是关注整个应用的生命周期,旨在消除中间层的“粘合”代码,让开发者能够更加专注于业务逻辑。 Spring的核心理念是控制反转(Inversion of Control,简称IoC)和面向切面...

    ListView后台更新报错:java.lang.IllegalStateException

    java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but...

    action-buffer:提供了在处理后台任务时避免片段过渡期间出现 IllegalStateException 的示例

    您可以在的非常权威的阅读有关该问题和可能的解决方案的更多信息。 主意 为了避免异常,不应在 Activity 处于非可见(活动)状态时进行转换。 这可以通过简单地缓冲发送到 UI 的操作来实现,直到 UI 能够处理它们。...

    IllegalStateException(解决方案).md

    知识点: IllegalStateException是一个...处理`IllegalStateException`的关键是结合具体的错误信息和上下文环境,采取合适的措施来解决问题,同时也要注意代码的异常安全性,确保即使发生异常,系统也能保持稳定运行。

    java.lang.IllegalStateException(解决方案).md

    为了能够有效解决这个问题,首先需要理解问题出现的具体原因,并针对不同的情况采取相应的解决方案。 ### 常见原因及解决方法: #### 1. 对象状态不正确 当对象尚未初始化或已经关闭,尝试访问可能会导致`...

    Android异常处理

    异常机制的主要作用是在程序执行过程中出现问题时,能够提供一种有序的方式让程序处理这些异常情况。当出现异常时,程序会停止当前的执行路径,将控制权转移给异常处理器。这种方式确保了即使程序出现错误也能安全地...

    xfire访问webservice客户端用到的jar包

    在Java开发中,Web服务(Web Service)是一种标准的接口,允许不同系统之间进行通信,而XFire是早年流行的一款用于构建和消费Web服务的开源框架。它使用SOAP(简单对象访问协议)和XML(可扩展标记语言)作为基础,...

    IllegalStateException如何解决.md

    解决IllegalStateException需要结合具体的业务场景和异常发生的原因,通过合理的异常处理策略来确保程序的健壮性和可靠性。在实际开发中,要重视对异常信息的记录和分析,这有助于优化程序性能和改善用户体验。

    Jnative1.4_java调用动态库所需jar

    Java是一种高级编程语言,通常用于开发跨平台的应用程序。然而,有时我们可能需要在Java程序中调用操作系统底层的动态链接库(DLLs on Windows,SOs on Linux,dylibs on macOS),以便利用C、C++等语言编写的高性能...

    oop object , for apple ios developer

    ### 面向对象编程与Objective-C:苹果iOS开发者指南 #### 一、概述 面向对象编程(Object-Oriented Programming, ...深入理解Objective-C不仅可以帮助开发者更好地理解苹果平台的技术栈,还能提升其解决问题的能力。

Global site tag (gtag.js) - Google Analytics