8

電話するとServletResponse.flushBuffer()

電話する必要がありますかServletResponse.getOutputStream().close()

および/または ServletResponse.getOutputStream().flush()

(同じServletResponse.getWriter().close()

および/またはServletResponse.getWriter().flush())?

4

1 に答える 1

8

flush()とはclose()完全に異なる方法です。

流す() ...

この flush()メソッドは、バッファリングされた応答をクライアントにフラッシュするために使用されます。また、応答ヘッダーをコミットすることになります。

デフォルトでは、内部バッファーに到達すると、サーバーコンテナーはこれを自動的に呼び出します。

カスタムチャンクで応答を送信する場合は、明示的に呼び出す必要があります。

選ぶ() ...

このclose()メソッドは、応答ストリームを閉じて、これ以上データを書き込めないようにするために使用されます。

デフォルトでは、サーバーコンテナはサーブレットのライフサイクルの終わりにこれを自動的に呼び出します。

ポイントを超えて応答を書き込むことを許可したくない場合は、明示的に呼び出す必要があります。そうしようとすると、IOExceptionがスローされます。

于 2013-03-04T16:54:10.133 に答える