亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HttpServletResponse這個類有什么用

HttpServletResponse這個類有什么用

慕標5832272 2019-05-31 07:02:58
HttpServletResponse這個類有什么用
查看完整描述

3 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

1.HttpServletResponse對象

(1).Web服務器收到一個http請求,會針對每個請求創建一個HttpServletRequest和HttpServletResponse對象,向客戶端發送數據找HttpServletResponse,從客戶端取數據找HttpServletRequest;

(2).HttpServletResponse對象可以向客戶端發送三種類型的數據:a.響應頭b.狀態碼c.數據

(3).自己去看HttpServletResponse的API

(4).rsponse常見應用:

a.使用OutputStream向客戶端寫入中文:

String data = "中國";

OutputStream stream = response.getOutputStream();//獲取一個向Response對象寫入數據的流,當tomcat服務器進行響應的時候,會將Response中的數據寫給瀏覽器

stream.write(data.getBytes("UTF-8"));

//此時在html頁面會出現亂碼,這是因為:服務器將"中國"按照UTF-8碼表進行編碼,得到對應的碼值假設是98,99,服務器將碼值發送給瀏覽器。瀏覽器默認按照GB2312進行解碼,在GB2312碼表中對應的字符已不是"中國"

正確代碼如下:

response.setHeader("Content-type","text/html;charset=UTF-8");//向瀏覽器發送一個響應頭,設置瀏覽器的解碼方式為UTF-8

String data = "中國";

OutputStream stream = response.getOutputStream();

stream.write(data.getBytes("UTF-8"));

b.使用Writer向客戶端寫入中文:

PrintWriter writer = response.getWriter();

writer.write("中國");//同樣會出現亂碼,這是因為我們將"中國"寫入response對象時,tomcat服務器為了將數據通過網絡傳輸給瀏覽器,必須進行編碼,由于沒有指定編碼方式,默認采用ISO8859-1,

當瀏覽器接收到數據后,根據GBK解碼必然出現亂碼

正確代碼如下:

response.setCharacterEncoding("UTF_8");//設置Response的編碼方式為UTF-8

response.setHeader("Content-type","text/html;charset=UTF-8");//向瀏覽器發送一個響應頭,設置瀏覽器的解碼方式為UTF-8,其實設置了本句,也默認設置了Response的編碼方式為UTF-8,但是開發中最好兩句結合起來使用

//response.setContentType("text/html;charset=UTF-8");同上句代碼作用一樣

PrintWriter writer = response.getWriter();

writer.write("中國");

c.使用Response實現文件下載:

String path = this.getServletContext.getRealPath(“/中國.jpg”);

String fileName = path.subString(path.lastIndexOf(“\\”));

Response.setHeader(“content-disposition”,”attachment;filename”+URLENcode r.encode(fileName,”UTF-8”));//設置響應頭,告訴瀏覽器,該響應是下載響應,如果文件名包含中文,必須使用URL編碼





查看完整回答
反對 回復 2019-06-01
?
慕田峪9158850

TA貢獻1794條經驗 獲得超7個贊

http協議本身是基于請求響應的 也就是request和response
java中用于客戶端和服務器端交互是用servlet
所以HttpServletResponse是java中一個實現http協議的處理響應(服務器端到客戶端)的一個類

查看完整回答
反對 回復 2019-06-01
  • 3 回答
  • 0 關注
  • 614 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號