导致tomcat服务异常停止,请问该如何解决啊? getWriter() has already been called for this response

 我来答
你好吗2017nice
2017-04-13 · TA获得超过321个赞
知道答主
回答量:307
采纳率:0%
帮助的人:72.6万
展开全部
getOutputStream() has already been called for this response异常出现的原因和解决方法:
jsp中出现此错误一般都是在jsp中使用了输出流(如输出图片验证码,文件下载等),没有妥善处理好的原因。

具体的原因:jsp编译成servlet之后在函数
_jspService(HttpServletRequest request, HttpServletResponse response)

的最后
有一段这样的代码
Java代码 收藏代码
finally {
if (_jspxFactory != null)
_jspxFactory.releasePageContext(_jspx_page_context);
}

这里是在释放在jsp中使用的对象,会调用response.getWriter(),因为这个方法是和response.getOutputStream()相冲突的!所以会出现以上这个异常。然后当然是要提出解决的办法,其实挺简单的,在使用完输出流以后调用以下两行代码即可:

out.clear();
out = pageContext.pushBody();
追问
1、我程序里用到了response.getOutputStream(), 但是并没有调用啊?

2、out.clear(); out = pageContext.pushBody(); 写在后台里吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式