更新時間:2022年12月28日15時58分 來源:傳智教育 瀏覽次數(shù):
由于在HTTP響應(yīng)消息中,大量的數(shù)據(jù)都是通過響應(yīng)消息體傳遞的,因此,ServletResponse遵循以I/O流傳遞大量數(shù)據(jù)的設(shè)計理念。在發(fā)送響應(yīng)消息體時,定義了兩個與輸出流相關(guān)的方法。
該方法所獲取的字節(jié)輸出流對象為ServletOutputStream類型。由于ServletOutputStream是OutputStream的子類,它可以直接輸出字節(jié)數(shù)組中的二進制數(shù)據(jù)。因此,要想輸出二進制格式的響應(yīng)正文,就需要使用getOutputStream()方法。
該方法所獲取的字符輸出流對象為PrintWriter類型。由于PrintWriter類型的對象可以直接輸出字符文本內(nèi)容,因此,要想輸出內(nèi)容全部為字符文本的網(wǎng)頁文檔,則需要使用getWriter()方法。
注意:雖然response對象的getOutputStream()和getWriter()方法都可以發(fā)送響應(yīng)消息體,但是,它們之間互相排斥,不可同時使用,否則會發(fā)生IllegalStateException異常。