gpt4 book ai didi

grails - Grails和Tomcat重复 “java.lang.IllegalStateException: Cannot forward after response has been committed”错误

转载 作者:行者123 更新时间:2023-12-02 14:46:15 24 4
gpt4 key购买 nike

请在Grails用户邮件列表上查看我的post。本质上,每隔几个请求,Grails 2.x就会出现错误“在提交响应后无法转发”。所有类型的URL, Controller ,GSP,CSS文件,JS文件甚至图像文件都会发生这种情况。我已经在Windows XP 32位,Windows 7 32位和Centos 64位上尝试了带有Tomcat 6.0.35和Tomcat 7.0.25的Grails 2.0.0和Grails 2.0.1。所有这些组合都会出现错误。

正如我在post中提到的那样,我们的代码中没有response.redirect或response.forward语句。这在我们的生产应用程序上造成了严重的问题,因此需要帮助来确定可以解决问题的其他方面。

最佳答案

这已经解决了。在应用程序中的一个 Controller 中,响应输出流被直接写入,但操作结束后未明确关闭。看来Tomcat和Jetty回收了响应对象。当没有将其输出流更早关闭的响应对象被回收以用于将来的请求并对其执行重定向时,重定向将失败。

代码已更改,错误现在已消失。得到的教训是,在发生此类错误的任何时间,请扫描整个代码库以直接访问响应输出流,并在现有 Controller 方法之前负责地关闭输出流。

关于grails - Grails和Tomcat重复 “java.lang.IllegalStateException: Cannot forward after response has been committed”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9594883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com