web-dev-qa-db-ja.com

サーブレットの「すでにコミットされている応答」の原因

サーブレットでこの例外が発生する一般的な可能性は何ですか-応答はすでにコミットされていますか?

20
Sriram

次の理由により、応答がコミットされます。

  • 応答バッファーが最大バッファーサイズに達したためです。次の理由が考えられます。

    _  > 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()が呼び出されました。

  • コードの一部がOutputStreamまたはWriterをフラッシュした、つまり、メソッドHttpServletResponse.getOutputStream().flush()または `HttpServletResponse.getWriter()。flush()を呼び出した

  • 応答がコミットされて閉じられている別のページに転送した場合。たとえば、response.sendRedirect()が呼び出されると、応答がコミットされます。

33
Ramesh PVK