getOutputStream() has already been called for this response

1,背景说明

最近,以前正常的下载功能,突然出现错误,如图
在这里插入图片描述

2,错误信息

演示,查看错误日志信息,如图

在这里插入图片描述

3,百度解决方案

所有人的方案里面都在说,在输出流结束之后添加

out.clear();
out = pageContext.pushBody();

但是

没有人说这个out对象是什么,起初我以为是java里面的 response.getOutputStream();

但是

response.getOutputStream(); 里面根本就没有clear()这个方法。

然后,

我又根据他们说得这样操作,在jsp最后面添加,虽然感觉这个操作很傻,但还是试了一试

在这里插入图片描述
但是这都没解决我的问题

4,最后的解决方案

找到下载功能的Java代码,下载功能代码里不应该有返回值

在这里插入图片描述
修改后
在这里插入图片描述
下载功能正常。

5,总结,

这个问题是因为我有两处界面A和B都使用同一个访问地址,但是有一个A界面功能需求是需要在下载前查看下载数据,所以

后面为了这个需求,直接修改了这个访问地址的代码,在模板下载功能的代码中添加了返回值对象,但是B界面的功能是直

接下载,无需查看,无需返回值,所以导致B界面异常,A界面正常使用。最后直接将A和B界面的功能代码分离,问题解决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值