文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

已解决java.lang.IllegalStateException异常的正确解决方法,亲测有效!!!

2023-09-26 16:29

关注
已解决java.lang.IllegalStateException异常的正确解决方法,亲测有效!!!

在这里插入图片描述

文章目录

报错问题

粉丝群里面的一个小伙伴敲代码时发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错信息如下:

在这里插入图片描述
今天运行项目时出现的这个问题,java.lang.IllegalStateExceptio,第一次见到这个异常
错误原因:该异常表示,当前对客户端的响应已经结束,不能在响应已经结束(或说消亡)后再向 客户端(实际上是缓冲区)输出任何内容。

解决方法

解决方法如下

在这里插入图片描述
首先解释下flush(),我们知道在使用读写流的时候数据先被读入内存这个缓冲区中, 然后再写入文件,但是当数据读完时不代表数据已经写入文件完毕,因为可能还有 一部分仍未写入文件而留在内存中,这时调用flush()方法就会把缓冲区的数据强行 清空输出,因此flush()的作用就是保证缓存清空输出。 response是服务端对客户端请求的一个响应,其中封装了响应头、状态码、内容等, 服务端在把response提交到客户端之前,会向缓冲区内写入响应头和状态码,然后 将所有内容flush。这就标志着该次响应已经committed(提交)。对于当前页面中 已经committed(提交)的response,就不能再使用这个response向缓冲区写任何东西 (注:同一个页面中的response.XXX()是同一个response的不同方法,只要其中一个 已经导致了committed,那么其它类似方式的调用都会导致 IllegalStateException异常)。
能够导致响应已经committed的操作包括:forward, redirect, flushBuffer。
可以将项目从tomcat中先移除再部署上去,实在不行就把myeclipse中所有项目都清空一下,再从新部署上去。

总之,可以确定这个问题不是代码造成的问题,应该是部署出了问题,将整个项目中心部署一下。tomcat重新启动一下。

声明

解决方法也是我在网上找的,如有侵权联系我删除

来源地址:https://blog.csdn.net/weixin_50843918/article/details/129680776

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯