JavaWeb response對象常用操作


JavaWeb response對象常用操作

CreationTime--2018年7月18日10點42分

Author:Marydon

1.設置響應內容類型

  方式一

response.setContentType(contentType);

  方式二

response.setHeader("Content-Type", contentType);

  response.setContentType(MIME)的作用:

  讓服務器告訴瀏覽器它發送的數據屬於什么文件類型,使客戶端瀏覽器,區分不同種類的數據,並根據不同的MIME調用瀏覽器內不同的程序嵌入模塊來處理相應的數據。

  例如:

  當Content-Type 的值設置為text/html和text/plain時,前者會讓瀏覽器把接收到的實體內容以HTML格式解析,后者會讓瀏覽器以普通文本解析。

2.設置響應數據字符集

response.setCharacterEncoding("UTF-8");

  解決中文亂碼問題

3.設置響應內容類型並設置編碼集

  上面的2個可以合並到一起

  方式一

response.setContentType(contentType + ";charset=UTF-8");

  方式二

response.setHeader("Content-Type", contentType + ";charset=UTF-8");

4.返回客戶端數據

  方式一

response.getWriter().print("String字符串");

  方式二

response.getWriter().println("響應數據");

注意:使用print(strParam)方法返回的數據只能是字符串格式。 

5.設置Content-Disposition(指定下載該文件時的文件名) 

response.setHeader("Content-Disposition", "attachment;filename=" + formatFileName);

作用:告訴瀏覽器這個文件的名字和類型(指定返回的文件的名稱及擴展名);

說明:在彈出的下載對話框中的文件類型是按照文件的擴展名顯示的,點保存后,文件以filename的值命名,保存類型以ContentType中設置的為准。

注意:

  1.在設置Content-Disposition頭字段之前,一定要設置Content-Type頭字段;

  2.返回的文件名為中文時,需要對中文進行編碼,否則會造成亂碼。

解決方案:

方法一:(推薦使用)

// 對中文以UTF-8格式進行編碼
String formatFileName = URLEncoder.encode(fileName, "UTF-8");

方法二:(ie不兼容)

// 為什么不適用這種方式?因為不兼容ie瀏覽器
// String formatFileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");

 

 


免責聲明!

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



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