微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 在Websphere 8.5上使用Spring 3.x时已经提交的响应

在处理请求后添加/更新响应头时,我收到以下警告:

com.ibm.ws.webcontainer.srt.SRTServletResponse setHeader SRVE8094W: WARNING: Cannot set header. Response already committed. 

我试图通过在filterChain.doFilter()或postHandle代码spring拦截器之后的servlet过滤器中调用httpServletResponse.setHeader()或httpServletresponse.addheader()来操纵头.

我在websphere 8.5上使用spring 3.x运行我的webapp时遇到了这个问题.

这个问题没有在tomcat 7.0上重现,因此我的猜测是它与Websphere相关.
问题没有在纯servlet应用程序中重现,因此我的猜测是它与Spring相关.

我很熟悉

ShallowEtagHeaderFilter does not work under WAS8 app server

Cannot set header in JSP. Response already committed

但我正在寻找一个“更清洁”的解决方案.

有人可以帮我这个吗?

最佳答案
Websphere严格遵循J2EE标准,因此Tomcat中的任何工作都不一定适用于Websphere.在我的项目中,我遇到了很多异常/错误,这些异常/错误特别适用于Websphere,但在Tomcat中却充当了魅力.我建议你在控制器中设置标题.另一个替代方法是不刷新控制器中的输出流(如果已明确地完成).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐