HttpServletResponse類


  當客戶端瀏覽器請求服務器后,該服務器就會將返回信息封裝到HttpServletResponse里進行響應,返回信息中的第一行為狀態行,共分為5類,

  100-199:表示服務端成功接受請求,但要求客戶端繼續提交下一次請求才能完成全部處理過程。

  200-299:表示服務端已成功接受請求,並完成了全部處理過程。

    300-399:表示客戶端請求資源已經到了別的位置,並向客戶端提供了一個新地址,一般這個新地址由HTTP響應頭的Location字段指定。

  400-499:表示客戶端請求有誤。

  500-599:表示服務端出現錯誤。

  response.setStatus(*);//設置狀態

  response.sendReadirect("URL") //可以是絕對路徑www.baidu.com  也可以是相對的(webdemo/test.html);

  響應瀏覽器請求,返回數據例子 

  //設置響應頭數據

  //在瀏覽器頁面上輸出YES

  //輸出字符流 PrintWriter out = response.getWriter();

  //輸出字節流 OutputStream out = response.getOutputStream();

 

 1 package com.demo.servlet;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 import java.util.Calendar;
 6 
 7 import javax.servlet.ServletException;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 
12 /**
13  * 
14  * ClassName: ExploreResponseHeader
15  * @Description: 驗證響應消息頭設置情況
16  * @author zgb
17  * @date 2016-7-2
18  */
19 public class ExploreResponseHeader extends HttpServlet {
20 
21     
22     private static final long serialVersionUID = 1L;
23 
24     //處理客戶端的get請求
25     protected void doGet(HttpServletRequest request, HttpServletResponse response)
26             throws ServletException, IOException {
27         
28         response.setContentType("text/html;charset=UTF8");
29         response.setHeader("Content-Length", "1234");
30         //加一個NewFileld1字段
31         response.addHeader("NewFileld1", "value1");
32         //獲得Calender對象
33         Calendar calendar = Calendar.getInstance();
34         calendar.set(2016, 07,02);
35         //增加一個Mydate字段
36         response.addDateHeader("MyDate", calendar.getTimeInMillis());
37         //加一個NewFileld2字段
38         response.addIntHeader("NewFileld2", 3000);
39         //設置狀態為500
40         response.setStatus(500);
41         //獲取用於輸入輸出消息的PrintWriter對象
42         PrintWriter out = response.getWriter();
43         out.println("YES");
44         
45     }
46 
47 }

文件下載

 1 package com.demo.servlet;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.IOException;
 5 import java.io.InputStream;
 6 import java.io.OutputStream;
 7 
 8 import javax.servlet.ServletException;
 9 import javax.servlet.http.HttpServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12 
13 /**
14  * 
15  * ClassName: DownFlieServlet
16  * @Description: 下載文件
17  * @author zgb
18  * @date 2016-7-2
19  */
20 public class DownFlieServlet extends HttpServlet{
21 
22     /**
23      * @Fields serialVersionUID : TODO
24      */
25     private static final long serialVersionUID = 1L;
26 
27     @Override
28     protected void doGet(HttpServletRequest requset, HttpServletResponse response)
29             throws ServletException, IOException {
30         //1.獲取要下載文件的絕對路徑
31         String realPath = this.getServletContext().getRealPath("/download/2.png");
32         //2.獲取下載文件的名稱
33         String fileName = realPath.substring(realPath.lastIndexOf("\\")+1);
34         //3.設置content—dispositon響應控制瀏覽器以下載的形式打開文件
35         response.setHeader("content-disposition", "attachment;fileName="+fileName);
36         //4.獲取要下載的文件輸入流
37         InputStream stream = new FileInputStream(realPath);
38         
39         int len = 0;
40         
41         byte[] buffer = new byte[1024];
42         
43         OutputStream out = response.getOutputStream();
44         
45         while((len = stream.read(buffer))>0){
46             
47             out.write(buffer,0,len);
48             
49         }
50         stream.close();
51         
52     }
55 
56 }

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM