今天遇到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,问题就解决了。