java.lang.IllegalStateException是什么错误?

蓝雪儿老师
高能答主

2021-08-21 · 愿千里马,都找到自己的伯乐!
蓝雪儿老师
采纳数:266 获赞数:85213

向TA提问 私信TA
展开全部

java.lang.IllegalStateException异常产生的原因及解决办法  :

错误类型大致为以下几种:

java.lang.IllegalStateException:Cannot   forward   a   response   that   is   already   committed 。

IllegalStateException:response already commited 。

IllegalStateException:getOutputStream() has already been called for this request
…………

错误原因:该异常表示,当前对客户端的响应已经结束,不能在响应已经结束(或说消亡)后再向客户端(实际上是缓冲区)输出任何内容。

具体分析:

首先解释下flush(),我们知道在使用读写流的时候数据先被读入内存这个缓冲区中, 然后再写入文件,但是当数据读完时不代表数据已经写入文件完毕,因为可能还有一部分仍未写入文件而留在内存中。

这时调用flush()方法就会把缓冲区的数据强行清空输出,因此flush()的作用就是保证缓存清空输出。response是服务端对客户端请求的一个响应,其中封装了响应头、状态码、内容等,服务端在把response提交到客户端之前,会向缓冲区内写入响应头和状态码。

然后将所有内容flush。这就标志着该次响应已经committed(提交)。对于当前页面中已经committed(提交)的response。

就不能再使用这个response向缓冲区写任何东西(注:同一个页面中的response.XXX()是同一个response的不同方法,只要其中一个已经导致了committed,那么其它类似方式的调用都会导致 IllegalStateException异常)。

小熊玩科技gj
高能答主

2021-08-26 · 世界很大,慢慢探索
知道大有可为答主
回答量:2.2万
采纳率:100%
帮助的人:563万
展开全部

java.lang.IllegalStateException异常产生的原因及解决办法如下:

错误类型大致为以下几种:

java.lang.IllegalStateException:Cannot   forward   a   response   that   is   already   committed 。

IllegalStateException:response already commited 。

IllegalStateException:getOutputStream() has already been called for this request
…………

错误原因:该异常表示,当前对客户端的响应已经结束,不能在响应已经结束(或说消亡)后再向客户端(实际上是缓冲区)输出任何内容。

编程工具

Eclipse:一个开放源代码的、基于Java的可扩展开发平台。

NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用。

IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。

MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境。

EditPlus:如果正确配置Java的编译器“Javac”以及解释器“Java”后,可直接使用EditPlus编译执行Java程序。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨过天晴日丶
2018-08-01 · TA获得超过2636个赞
知道大有可为答主
回答量:1879
采纳率:91%
帮助的人:1668万
展开全部
这个英文词汇的意思是:无效状态异常。

一般来说无效状态异常是因为你弄错了调用一个方法的流程,比如在 JSP / Servlet 编程中,服务器已经开始把数据发回客户端了,你却想改动字符集 encoding 参数,这个就是错误,因为开始回复数据到客户端后就不能再修改任何 Http header 内容,它们已经发出去了,无法再修改了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-02-27
展开全部
public class IllegalStateException extends RuntimeException
父类:IllegalComponentStateException
在不合理或不正确时间内唤醒一方法时出现的异常信息。换句话说,即 Java 环境或 Java 应用不满足请求操作。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-29
展开全部
java.lang.IllegalStateException: getOutputStream() has already been called for this response
原因:
因为页面出现了多个输出流所至,在多个<%//使用了outputStream %>语句之间不能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式