
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、response的應(yīng)用1httpservletresponse概述service辦法中的response的類型是servletresponse,而doget/dopost辦法的response的類型是httpservletresponse,httpservletresponse是servletresponse的子接口,功能和辦法越發(fā)強(qiáng)大。 2response的運(yùn)行流程3通過response設(shè)置響應(yīng)行1)設(shè)置響應(yīng)行的狀態(tài)碼setstatus(int sc);2)封裝成一個(gè)重定向的辦法sendredirect(url);response.sendredirect("/web3/s
2、ervlet2");4通過response設(shè)置響應(yīng)頭addheader(string name, string value);addintheader(string name, int value);adddateheader(string name, long date);setheader(string name, string value);setdateheader(string name, long date);setintheader(string name, int value);add表示添加,而set表示設(shè)置;5通過response設(shè)置響應(yīng)體(1)響應(yīng)體設(shè)置
3、文本printwriter getwriter()獲得字符流,通過字符流的write(string s)辦法可以將字符串設(shè)置到response 緩沖區(qū)中,隨后tomcat會將response緩沖區(qū)中的內(nèi)容組裝成http響應(yīng)返回給掃瞄器端。 關(guān)于設(shè)置中文的亂碼問題緣由:response緩沖區(qū)的默認(rèn)編碼是iso8859-1,此碼表中沒有中文,可以通過 response的setcharacterencoding(string charset) 設(shè)置response的編碼但我們發(fā)覺客戶端還是不能正常顯示文字緣由:我們將response緩沖區(qū)的編碼設(shè)置成utf-8,但掃瞄器的默認(rèn)編碼是本地系統(tǒng)的編碼,由
4、于我們都是中文系統(tǒng),所以客戶端掃瞄器的默認(rèn)編碼是gbk,我們可以手動修改掃瞄器的編碼是utf-8。我們還可以在代碼中指定掃瞄器解析頁面的編碼方式,通過response的setcontenttype(string type)辦法指定頁面解析時(shí)的編碼是utf-8response.setcontenttype("text/html;charset=utf-8"); 上面的代碼不僅可以指定掃瞄器解析頁面時(shí)的編碼,同時(shí)也內(nèi)含setcharacterencoding的功能,所以在實(shí)際開發(fā)中只要編寫 response.setcontenttype("te
5、xt/html;charset=utf-8");就可以解決頁面輸出中文亂碼問題。 (2)響應(yīng)頭設(shè)置字節(jié)servletoutputstream servlet=response.getoutputstream()獲得字節(jié)流,通過該字節(jié)流的write(byte bytes)可以向response緩沖區(qū)中寫入字節(jié),在由tomcat服務(wù)器將字節(jié)內(nèi)容組成http響應(yīng)返回給掃瞄器。設(shè)置定時(shí)刷新的頭response.setheader("refresh", "5;url=");7案例-完成文件下載 1 /獲得要下載的文
6、件的名稱 2 string filename =request.getparameter("filename"); 3 /解決中文參數(shù)亂碼 4 filename=new string(filename.getbytes("iso8859-1"),"utf-8");/編碼 5 6 /獵取哀求頭中的user-agent 7 string agent=request.getheader("user-agent"); 8 /按照不同掃瞄器,舉行不同編碼 9 s
7、tring filenameencoder="" 10 if(agent.contains("msie") /ie掃瞄器11 filenameencoder=urlencoder.encode(filename,"utf-8");12 filenameencoder=filenameencoder.replace("+"," ");13 else if(agent.contains("firefox
8、") /火狐掃瞄器14 base64encoder base64encoder =new base64encoder();15 filenameencoder="=?utf-8?b?"16 +base64encoder.encode(filename.getbytes("utf-8") + "?="17 else 18 /其他掃瞄器19 filenameencoder=urlencoder.encode(filename,"utf-8"
9、;);20 2122 /要下載的這個(gè)文件的類型-客戶端通過文件的mime類型去區(qū)別類型23 response.setcontenttype(this.getservletcontext().getmimetype(filename);24 /告知客戶端該文件不是挺直解析 而是以附件形式打開(下載)25 response.setheader("content-disposition", "attachment;filename="+filenameencoder);26 /獵取文件的肯定路徑27 string path =this.getservletcontext().getrealpath("download/"+filename);28 /獲得該文件的輸入流29 inputstream in =new fileinputstream(path);30 /獲得輸出流-通過response獲得的輸出流 用于向客戶端寫內(nèi)容31 servletoutputstream out =response.getoutputstream
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年騰訊服務(wù)合同模板
- 2025企業(yè)實(shí)習(xí)生勞動合同樣本
- 2025自然人借款合同
- 2025市中心商業(yè)區(qū)房屋租賃合同模板
- 特種車輛雇傭合同協(xié)議
- 電動液壓租賃合同協(xié)議
- 玻璃運(yùn)輸裝卸服務(wù)合同協(xié)議
- 電池電解液采購合同協(xié)議
- 玉米秸稈定購合同協(xié)議
- 電動送料機(jī)采購合同協(xié)議
- 物業(yè)小區(qū)保潔清潔方案
- 雙盤摩擦壓力機(jī)的設(shè)計(jì)(全套圖紙)
- 國家開放大學(xué)《西方經(jīng)濟(jì)學(xué)(本)》章節(jié)測試參考答案
- 原地面高程復(fù)測記錄表正式版
- 高等學(xué)校建筑學(xué)專業(yè)本科(五年制)教育評估標(biāo)準(zhǔn)
- 品質(zhì)周報(bào)表(含附屬全套EXCEL表)
- 商鋪裝修工程施工方案.
- MQ2535門座起重機(jī)安裝方案
- 一針療法高樹中著精校版本
- 第六課-吸煙者的煩惱-《橋梁》實(shí)用漢語中級教程(上)課件
- 吊籃作業(yè)安全監(jiān)理專項(xiàng)實(shí)施細(xì)則
評論
0/150
提交評論