1. 程式人生 > >JavaEE響應物件

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();