此异常一般发生在下载文件中出现,因调用了response.getOutputStream(),对文件进行了流式输出。但是出现了此异常并不影响文件的下载
此异常的解决方案:
1、如果需要有返回值,在方法上加@ResponseBody注解
2、不用给返回值,直接void就行了
问题发生的原因:
如果有返回值则判断是否需要走视图解析器ModelAndView,判断就看是否有@ResponseBody注解。
@ResponseBody将返回结果直接写入 HTTP response body 中,而不会再走上图中的render方法(render方法就是呈现给定的模型和视图)
而ModelAndView还需要其自己再次调用Response中的getWriter() 方法,这里也是异常发生时的最终地点。
从源码里面可以明确只要调用了getOutputStream()方法,再调用getWriter() 必然会发生异常