成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java response響應(yīng)體和文件下載實(shí)現(xiàn)原理

瀏覽:91日期:2022-09-01 09:49:54

通過(guò)response 設(shè)置響應(yīng)體:

響應(yīng)體設(shè)置文本:

PrintWriter getWriter()

獲得字符流,通過(guò)字符流的write(String s)方法可以將字符串設(shè)置到response 緩沖區(qū)中,隨后Tomcat會(huì)將response緩沖區(qū)中的內(nèi)容組裝成Http響應(yīng)返回給瀏覽 器端。

關(guān)于設(shè)置中文的亂碼問(wèn)題

原因:response緩沖區(qū)的默認(rèn)編碼是iso8859-1,此碼表中沒(méi)有中文,可以通過(guò) response的setCharacterEncoding(String charset) 設(shè)置response的編碼,

但我們發(fā)現(xiàn)客戶端還是不能正常顯示文字。

原因:我們將response緩沖區(qū)的編碼設(shè)置成UTF-8,但瀏覽器的默認(rèn)編碼是本地系統(tǒng)的編碼,因?yàn)槲覀兌际侵形南到y(tǒng),所以客戶端瀏覽器的默認(rèn)編碼是GBK,我們可以手動(dòng)修改瀏覽器的編碼是UTF-8。

我們還可以在代碼中指定瀏覽器解析頁(yè)面的編碼方式,通過(guò)response的setContentType(String type)方法指定頁(yè)面解析時(shí)的編碼是UTF-8。

response.setContentType('text/html;charset=UTF-8');

上面的代碼不僅可以指定瀏覽器解析頁(yè)面時(shí)的編碼,同時(shí)也內(nèi)含 setCharacterEncoding的功能,所以在實(shí)際開(kāi)發(fā)中只要編寫(xiě) response.setContentType('text/html;charset=UTF-8'),就可以解決頁(yè)面輸出中文亂碼問(wèn)題。

package com.oracle;import java.io.FileInputStream;import java.io.IOException;import java.net.URLEncoder;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import sun.misc.BASE64Encoder;public class DownloadServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //服務(wù)器獲取文件名(文件名是中文的話,獲取的時(shí)候就成了亂碼了) String filename = request.getParameter('file');//??.png //get請(qǐng)求中---解決文件名中文亂碼問(wèn)題 filename =new String(filename.getBytes('ISO-8859-1'),'UTF-8');//亂碼.png//獲取User-Agent獲取客戶端瀏覽器到底是哪個(gè)瀏覽器 String agent=request.getHeader('User-Agent'); String filenameEncoder=''; if (agent.contains('MSIE')) {// IE瀏覽器filenameEncoder= URLEncoder.encode(filename, 'utf-8');filenameEncoder= filenameEncoder.replace('+', ' '); } else if (agent.contains('Firefox')) {// 火狐瀏覽器 BASE64Encoder base64Encoder = new BASE64Encoder();filenameEncoder= '=?utf-8?B?' + base64Encoder.encode(filename.getBytes('utf-8')) + '?='; } else {// 其它瀏覽器filenameEncoder= URLEncoder.encode(filename, 'utf-8'); } //告知瀏覽器文件的類(lèi)型(響應(yīng)體) response.setContentType(getServletContext().getMimeType(filename)); //告知瀏覽器以附件的方式提供下載功能 而不是解析 response.setHeader('Content-Disposition','attachment;filename='+filenameEncoder); //服務(wù)器獲取后開(kāi)始進(jìn)行復(fù)制的程序:獲取字節(jié)輸出流 ServletOutputStream sos = response.getOutputStream(); //獲取數(shù)據(jù)源的絕對(duì)路徑 String realpath = getServletContext().getRealPath('download/'+filename); //獲取字節(jié)輸入流 FileInputStream fis =new FileInputStream(realpath); //開(kāi)始復(fù)制 byte[] bytes=new byte[1024]; int len=0; while((len=fis.read(bytes))!=-1){ sos.write(bytes, 0, len); } //釋放資源 fis.close(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}

<%@ page language='java' contentType='text/html; charset=UTF-8' pageEncoding='UTF-8'%><!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'><html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'><title>Insert title here</title></head><body> <a href='http://www.piao2010.com/WEB02/DownLoadServlet?filename=a.txt' rel='external nofollow' >a.txt</a> <a href='http://www.piao2010.com/WEB02/DownLoadServlet?filename=a.wmv' rel='external nofollow' >a.wmv</a> <a href='http://www.piao2010.com/WEB02/DownLoadServlet?filename=科比.png' rel='external nofollow' >科比.png</a> <a href='http://www.piao2010.com/WEB02/DownLoadServlet?filename=a.zip' rel='external nofollow' >a.zip</a></body></html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
色综合久久久久网| 欧美系列在线观看| 99视频有精品| 91精品婷婷国产综合久久竹菊| 人妖欧美一区二区| 久久亚洲欧美| 亚洲欧洲精品一区二区三区 | 99久久精品99国产精品| 日韩三级视频中文字幕| 国产乱码精品一品二品| 欧美巨大另类极品videosbest | 中文字幕佐山爱一区二区免费| 91在线云播放| 国产午夜精品久久| 欧美日韩成人| 亚洲欧洲美洲综合色网| 国产一区二区中文| 中文字幕亚洲电影| 亚洲小说欧美另类社区| 1024亚洲合集| 国产一区二区黄色| 午夜私人影院久久久久| 一本一道波多野结衣一区二区| 丝袜美腿成人在线| 色999日韩国产欧美一区二区| 免费在线观看精品| 欧美日韩黄色一区二区| 高清不卡一区二区| 久久久久久久久久久久久久久99| 色综合天天综合给合国产| 久久久国际精品| 亚洲午夜黄色| 亚洲国产日产av| 久久精品国语| 狠狠色狠狠色综合系列| 欧美成人69av| 亚洲美女偷拍久久| 免费视频一区| 狠狠色丁香久久婷婷综合_中 | 一区二区三区日韩欧美精品| 国产精品永久入口久久久| 亚洲mv在线观看| 欧美视频一区在线| 丁香天五香天堂综合| 欧美一区二区播放| 99久久99久久综合| 国产精品无码永久免费888| 日韩午夜免费| 美女爽到高潮91| 日韩欧美成人午夜| 欧美色一级片| 亚洲福利一区二区三区| 欧美亚洲丝袜传媒另类| 福利电影一区二区| 国产精品不卡一区二区三区| 久久高清国产| 豆国产96在线|亚洲| 一区在线观看视频| 久久精品国产综合精品| 蜜桃av一区二区三区电影| 欧美一区三区四区| 黑丝一区二区| 日本va欧美va精品发布| 欧美不卡激情三级在线观看| 国产精品国产精品| 青青草91视频| 精品对白一区国产伦| 在线观看不卡| 日韩中文字幕一区二区三区| 91精品国产91久久综合桃花| 国产精品v欧美精品v日本精品动漫| 精品少妇一区二区三区视频免付费 | 色综合久久综合网97色综合| 日本一区二区三级电影在线观看| 国产视频一区在线观看一区免费| 蜜臀va亚洲va欧美va天堂| 欧美一区二区三区四区在线观看| 色综合久久综合网欧美综合网 | 欧美chengren| 亚洲成人中文在线| 日韩欧美高清dvd碟片| 亚洲精品1区| 国产一区二区0| 亚洲欧美视频在线观看视频| 欧美午夜寂寞影院| 欧美精品日本| 日韩在线一区二区| 久久综合九色综合97婷婷| 国产日韩亚洲| 成人听书哪个软件好| 亚洲男人的天堂在线aⅴ视频| 一本色道a无线码一区v| 风流少妇一区二区| 一个色妞综合视频在线观看| 欧美人与z0zoxxxx视频| 影院欧美亚洲| 国产成人免费视| 亚洲一区二区在线免费看| 日韩亚洲欧美一区二区三区| 国产亚洲激情| 不卡一区二区在线| 天堂一区二区在线免费观看| 26uuu国产电影一区二区| 蜜乳av另类精品一区二区| 91麻豆国产在线观看| 日韩精品一级二级| 亚洲国产精品黑人久久久| 欧美日韩aaaaaa| 国产欧美成人| 欧美凹凸一区二区三区视频| 久草热8精品视频在线观看| 一区二区三区国产精华| 久久先锋影音av鲁色资源网| 欧美日韩在线三级| 亚洲欧美春色| 欧美亚韩一区| 成人av免费网站| 久久国产精品免费| 亚洲国产精品一区二区尤物区| 久久久久久影视| 欧美午夜精品一区| 亚洲国产日韩美| 97精品国产97久久久久久久久久久久| 麻豆成人在线观看| 一区二区在线免费| 欧美激情一区二区三区不卡 | 欧美va在线播放| 欧美日本一道本在线视频| 免费亚洲一区二区| 亚洲国产精品久久久久久女王 | 亚洲欧洲精品一区二区三区不卡| 日韩美女主播在线视频一区二区三区 | 亚洲综合丁香婷婷六月香| 国产日韩欧美精品在线| 制服丝袜日韩国产| 久久久久久久久一区二区| 在线国产精品一区| 亚洲欧美亚洲| www.亚洲在线| 国产精品99久久久久久宅男| 免费看欧美美女黄的网站| 亚洲狠狠爱一区二区三区| 国产精品萝li| 久久久噜噜噜久久中文字幕色伊伊| 欧美一级欧美三级在线观看| 欧美性猛交xxxxxxxx| 午夜在线a亚洲v天堂网2018| 亚洲国产一区二区三区a毛片| 欧美精品三区| av男人天堂一区| 国产精品夜夜嗨| 精品一二三四区| 狂野欧美性猛交blacked| 日韩高清不卡在线| 亚洲国产视频在线| 亚洲国产一区视频| 亚洲综合男人的天堂| 日韩理论在线观看| 亚洲国产电影在线观看| 久久夜色精品一区| 欧美变态tickling挠脚心| 欧美一卡在线观看| 91精选在线观看| 欧美一级黄色大片| 日韩视频在线永久播放| 欧美一级夜夜爽| 日韩欧美一区在线观看| 欧美电影在线免费观看| 精品视频在线视频| 欧洲av在线精品| 色香蕉久久蜜桃| 在线观看国产日韩| 91久久精品午夜一区二区| 色婷婷av久久久久久久| 久久综合九九| 日本韩国欧美一区二区三区| 色偷偷成人一区二区三区91| 在线一区二区视频| 欧美日韩免费电影| 日韩欧美在线综合网| 日韩精品中午字幕| xf在线a精品一区二区视频网站| 亚洲精品在线免费播放| 久久久影院官网| 欧美激情一区二区| 日韩毛片一二三区| 亚洲成人一区在线| 亚洲成精国产精品女| 亚瑟在线精品视频| 蜜桃视频免费观看一区| 精品一区二区三区在线观看| 国产一区二区网址| 99久久伊人久久99| 欧美成人免费在线| 亚洲精品在线视频观看| 久久国产欧美| 欧美网站一区二区| 欧美草草影院在线视频| 国产精品免费av| 亚洲国产乱码最新视频|