jubincn

导航

Servlet中isCommitted含义及发生的条件

参考:http://stackoverflow.com/questions/11305563/cause-of-servlets-response-already-committed


Response变为committed状态的意思是将headers写出,在这些情况下Response会变为committed:

  • Response的buffer超过了最大值,这可能由以下两个原因造成:
    • buffer到了JSP页面设置的buffer size最大值,可以在这里修改buffer size的值
    •  <%@ page buffer="5kb" autoFlush="false" %>

    • 达到了Server中response的buffer最大值,这个值可以在这里修改:
    •  ServletRespnse.setBufferSize()
  • Response中的某些代码调用了flush()方法,比如:
HttpServletResponse.flushBuffer().
  • 有些代码调用了OutputStream或Writer的flush()方法
  • 如果forwarded到了其他页面,那么response将变为commited和closed

posted on 2013-05-13 17:51  jubincn  阅读(422)  评论(0编辑  收藏  举报