记一次getOutputStream() has already been called for this response事件

这是我在做Excel表格导出的时候碰见得一个问题,当时很头疼,所以写一下防止下次踩坑。

首先根据这个错误关键信息,得知是错误产生原因是response.getWriter()和response.getOutputStream()等接口在调用时发生了冲突导致的。

后来也去找了各路大神写的解决方案,但是大部分都说的时可能在前端JSP页面调用了response.getOutputStream(),但是我们是前后端分离,根本不在这样的事情,而且我只是一个get方法页面根本就不需要调用方法。那么问题来了,既然不是前端的问题,那一定是后端的问题了。

只能祭出debug,但是又出现了一个有意思的事情,因为他根本就没进入我的controller。

这个时候就引人深思了。所以我想到是不是因为AOP里面有问题

这是改过之后的代码,当时忘了截图。

发现问题是因为我们之前在AOP里加了fastJSON序列化对象,所以他会调用一次getObjectWritter,但是就是这么个原因导致我的导出一点也不能用。

这次事件被我称为fastJSON绿了response.getOutPutStream()事件

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值