Servlet的“响应已经提交”的原因

在servlet中遇到这个exception有哪些常见的可能性 – 响应已经提交?

由于以下原因,响应得到承诺:

  • 因为响应缓冲区已达到最大缓冲区大小。 这可能是由于以下原因:

    > the bufferSize in JSP page has reached.You can increase the JSP buffer size in page directive. See here, <%@ page buffer="5kb" autoFlush="false" %> > the server default response max buffer size has reached.You can increase the server default max buffer size. ServletRespnse.setBufferSize() 
  • 代码的一部分已经调用了刷新响应,我调用了HttpServletResponse.flushBuffer()方法。

  • 某些部分的代码已经刷新了OutputStreamWriter ,我调用了方法HttpServletResponse.getOutputStream().flush()或`HttpServletResponse.getWriter()。flush()

  • 如果您已转发到其他页面,其中响应既提交又closures。 例如,当调用response.sendRedirect()时,响应被提交。