做照片相冊最好的網(wǎng)站培訓(xùn)機(jī)構(gòu)需要什么資質(zhì)
?1.介紹
在Servlet API中,定義了一個(gè)HttpServletResponse接口,它繼承自ServletResponse接口,專門用來封裝HTTP響應(yīng)消息。由于HTTP響應(yīng)消息分為狀態(tài)行、響應(yīng)消息頭、消息體三部分,因此,在HttpServletResponse接口中定義了向客戶端發(fā)送響應(yīng)狀態(tài)碼、響應(yīng)消息頭、響應(yīng)消息體的方法。
2.發(fā)送狀態(tài)碼相關(guān)的方法
a.setStatus(int status)方法
該方法用于設(shè)置HTTP響應(yīng)消息的狀態(tài)碼,并生成響應(yīng)狀態(tài)行。由于響應(yīng)狀態(tài)行中的狀態(tài)描述信息直接與狀態(tài)碼相關(guān),而HTTP版本由服務(wù)器確定,因此,只要通過setStatus(int status)方法設(shè)置了狀態(tài)碼,即可實(shí)現(xiàn)狀態(tài)行的發(fā)送。需要注意的是,正常情況下,Web服務(wù)器會默認(rèn)產(chǎn)生一個(gè)狀態(tài)碼為200的狀態(tài)行。
常見的狀態(tài)碼:200 響應(yīng)成功
?? ??? ??? ?????? 302 重定向
?? ??? ??? ?????? 404 請求資源找不到
?? ??? ??? ?????? 500 服務(wù)器代碼出異常。
b.sendError(int sc)方法
該方法用于發(fā)送表示錯(cuò)誤信息的狀態(tài)碼,例如,404狀態(tài)碼表示找不到客戶端請求的資源。在response對象中,提供了兩個(gè)重載的sendError(int sc)方法,具體如下:
在上面重載的兩個(gè)方法中,第一個(gè)方法只是發(fā)送錯(cuò)誤信息的狀態(tài)碼,而第二個(gè)方法除了發(fā)送狀態(tài)碼外,還可以增加一條用于提示說明的文本信息,該文本信息將出現(xiàn)在發(fā)送給客戶端的正文內(nèi)容中。
?3.發(fā)送響應(yīng)消息頭相關(guān)方法
當(dāng)Servlet向客戶端發(fā)送響應(yīng)消息時(shí),由于HTTP協(xié)議的響應(yīng)頭字段有很多種,為此,在HttpServletResponse接口中,定義了一系列設(shè)置HTTP響應(yīng)頭字段的方法,如表所示。
4.發(fā)送響應(yīng)消息體相關(guān)方法
由于在HTTP響應(yīng)消息中,大量的數(shù)據(jù)都是通過響應(yīng)消息體傳遞的,因此,ServletResponse遵循以IO流傳遞大量數(shù)據(jù)的設(shè)計(jì)理念。在發(fā)送響應(yīng)消息體時(shí),定義了兩個(gè)與輸出流相關(guān)的方法,具體如下。
a.getOutputStream()方法
該方法所獲取的字節(jié)輸出流對象為ServletOutputStream類型。由于ServletOutputStream是OutputStream的子類,它可以直接輸出字節(jié)數(shù)組中的二進(jìn)制數(shù)據(jù)。因此,要想輸出二進(jìn)制格式的響應(yīng)正文,就需要使用getOutputStream()方法。
b.getWriter()方法
該方法所獲取的字符輸出流對象為PrintWriter類型。由于PrintWriter類型的對象可以直接輸出字符文本內(nèi)容,因此,要想輸出內(nèi)容全為字符文本的網(wǎng)頁文檔,需要使用getWriter()方法。