JavaEE響應對象

1.響應對象類型與生命週期

和請求對象類似,JavaEE響應要實現javax.servlet.http.HttpServletResponse接口。

而且在web組件開發中,不需要servlet和jsp自己創建對象,他們由web容器自動創建,並傳遞給
servlet和jsp的服務方法doGet和doPost,在服務處理方法中直接使用請求對象即可。

protected void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException{}

2.響應對象的功能

(1).設置響應狀態碼
(2).設置響應頭信息
(3).設置響應體信息
(4).設置響應體發送方法

3.設置響應狀態碼

(1).public void setStatus(int code)
設置響應的狀態碼

response.setStatus(404);

(2).public void setStatus(int code,String message)
設置響應的狀態碼,同時設置自定義的狀態消息

response.setStatus(404"URL not found!");

(3).public void sendError(int statuscode) throws IOException
向客戶端發送指定的錯誤信息碼,可以是任何數字

response.setCharacterEncoding("utf-8");
response.sendError(580);

(4).public void sendError(int statuscode,String message) throws IOException
向客戶端發送指定的錯誤信息碼和自定義狀態消息

response.setCharacterEncoding("utf-8");
response.sendError(580,"自定義錯誤信息");

4.設置響應頭信息

(1).public void setHeader(String name,String value)
設置字符串類型的響應頭的名稱和值

response.setHeader("Content-Type","text/html");

(2).public void setIntHeader(String name,String value)
設置整數類型的響應頭的名稱和值

response.setIntHeader("Content-Length",20);

(3).public void setDateHeader(String name,long date)
設置日期類型的響應頭

response.setDateHeader("Modify-Date",909920);

5.設置響應體信息

(1).public void setContentType(String type)
設置響應內容類型MIME響應頭

response.setContentType("utf-8");

(2).public void setContentLength(int length)
設置響應體長度,以字節爲單位

response.setContentLength(10240);

(3).public setCharacterEncoding
設置響應字符集,包括響應狀態碼、響應頭和響應體

response.setCharacterEncoding("utf-8");

(4).public void setBufferSize(int size)
設置響應體緩存字節數

response.setBufferSize(1024);

6.設置響應體發送方法

(1).文本類型響應體發送方法

①.設置響應類型

response.setContentType("text/html");

②.設置響應字符編碼

response.setCharacterEncoding("utf-8");

③.取得字符流輸出流對象

PrintfWriter out=response.getWriter();

④.向流對象發送文本數據

out.printfln(<title>java</title>);

⑤.清空流中緩存的字符

out.flush();

⑥關閉流

out.close();

(2).二進制類型響應體發送方法

①.設置響應類型

response.setContentType("image/jpeg");

②.取得字節流輸出流對象

OutputStream out=response.getOutputStream();

③.向流對象發送字節數據

out.println(200);

④.清空流中緩存的字節

out.flush();

⑤.關閉流

cn.close();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章