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