Servlet的“响应已经承诺”的原因

时间:2012-07-03 06:28:29

标签: exception servlets response

在servlet中遇到此异常的常见可能性是什么 - 响应已经提交?

1 个答案:

答案 0 :(得分:33)

由于以下原因,响应得到了提交:

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

      > 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()
    
  • 代码的某些部分已在响应中调用刷新,即e,调用方法HttpServletResponse.flushBuffer()

  • 代码的某些部分刷新了OutputStreamWriter,i,e,调用方法HttpServletResponse.getOutputStream().flush()或`HttpServletResponse.getWriter()。flush()< / p>

  • 如果您已转发到其他页面,则提交和关闭响应。例如,当调用response.sendRedirect()时,响应将被提交。