java.lang.IllegalStateException:getOutputStream() has already been called for this response

今天遇到java.lang.IllegalStateException: getOutputStream() has already been called for this response或者getInputStream() has already been called for this request的问题

看了很多经验都没用,也没有显式调用getwriter和getOutputStream或者getInputStream的方法,最后发现如果前台调用后台接口时,如果后台接口参数中有HttpServletResponse response或者HttpServletResquest request,因为前后台的json格式转化,会导致出这个错误,此时需要去掉这两个参数,在方法中通过

ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request= servletRequestAttributes.getRequest();
HttpServletResponse response = servletRequestAttributes.getResponse();

代码获取request或者response,问题就解决了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值