日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java response響應體和文件下載實現原理

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

通過response 設置響應體:

響應體設置文本:

PrintWriter getWriter()

獲得字符流,通過字符流的write(String s)方法可以將字符串設置到response 緩沖區中,隨后Tomcat會將response緩沖區中的內容組裝成Http響應返回給瀏覽 器端。

關于設置中文的亂碼問題

原因:response緩沖區的默認編碼是iso8859-1,此碼表中沒有中文,可以通過 response的setCharacterEncoding(String charset) 設置response的編碼,

但我們發現客戶端還是不能正常顯示文字。

原因:我們將response緩沖區的編碼設置成UTF-8,但瀏覽器的默認編碼是本地系統的編碼,因為我們都是中文系統,所以客戶端瀏覽器的默認編碼是GBK,我們可以手動修改瀏覽器的編碼是UTF-8。

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

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

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

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 { //服務器獲取文件名(文件名是中文的話,獲取的時候就成了亂碼了) String filename = request.getParameter('file');//??.png //get請求中---解決文件名中文亂碼問題 filename =new String(filename.getBytes('ISO-8859-1'),'UTF-8');//亂碼.png//獲取User-Agent獲取客戶端瀏覽器到底是哪個瀏覽器 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'); } //告知瀏覽器文件的類型(響應體) response.setContentType(getServletContext().getMimeType(filename)); //告知瀏覽器以附件的方式提供下載功能 而不是解析 response.setHeader('Content-Disposition','attachment;filename='+filenameEncoder); //服務器獲取后開始進行復制的程序:獲取字節輸出流 ServletOutputStream sos = response.getOutputStream(); //獲取數據源的絕對路徑 String realpath = getServletContext().getRealPath('download/'+filename); //獲取字節輸入流 FileInputStream fis =new FileInputStream(realpath); //開始復制 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.b3g6.com/WEB02/DownLoadServlet?filename=a.txt' rel='external nofollow' >a.txt</a> <a href='http://www.b3g6.com/WEB02/DownLoadServlet?filename=a.wmv' rel='external nofollow' >a.wmv</a> <a href='http://www.b3g6.com/WEB02/DownLoadServlet?filename=科比.png' rel='external nofollow' >科比.png</a> <a href='http://www.b3g6.com/WEB02/DownLoadServlet?filename=a.zip' rel='external nofollow' >a.zip</a></body></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩极品在线观看| 亚洲精品一级二级| 久久久精品日韩| 久久久国产精品网站| 最新亚洲国产| 日韩天堂av| 99在线|亚洲一区二区| 亚洲播播91| 蜜桃av一区二区三区电影| 国产黄大片在线观看| 精品三级国产| 久久精品国产99国产精品| 久久av超碰| 国产日韩一区二区三区在线| 亚洲精品自拍| 亚洲欧美日韩国产一区二区| 久久精品成人| 国产一区二区三区精品在线观看 | 亚洲三级精品| 蜜桃av一区二区在线观看| 9色国产精品| 日韩av一级| 老司机免费视频一区二区三区| 国产日产一区| 欧美激情亚洲| 日本激情一区| 日韩欧美午夜| 91九色精品国产一区二区| 激情婷婷亚洲| 欧美日韩日本国产亚洲在线| aa国产精品| 蜜臀国产一区二区三区在线播放 | 激情久久99| 国产精品66| 久久99久久久精品欧美| 国产精品久久久久久av公交车 | 蜜臀精品久久久久久蜜臀| 亚洲啊v在线免费视频| 日本麻豆一区二区三区视频| 日韩精品91亚洲二区在线观看| 欧美日韩a区| 国产精品99精品一区二区三区∴| 国产精品一级在线观看| 久久久国产精品入口麻豆| 国产一区二区三区黄网站| 久久国产欧美| 影音先锋国产精品| 亚洲精选久久| 欧美日韩亚洲一区| 精品国产a一区二区三区v免费| 水蜜桃久久夜色精品一区| 国产一区亚洲| 亚洲精品国产偷自在线观看| 国产农村妇女精品一二区| 国产亚洲在线| 国产日韩亚洲| av在线资源| 视频在线观看91| 国产精品尤物| 亚洲国产成人二区| 不卡一区综合视频| 日韩一区欧美二区| 久久国产精品免费精品3p| 国语精品一区| 久久香蕉国产| 日韩综合一区二区三区| 免费亚洲一区| 国模 一区 二区 三区| 亚洲精品进入| 国产一区二区三区四区| av成人国产| 欧美激情视频一区二区三区免费 | 国产精品一区二区三区av麻| 国产精品第一| 精精国产xxxx视频在线野外| 一区二区精彩视频| av免费不卡国产观看| 免费人成黄页网站在线一区二区| 你懂的国产精品永久在线| 91tv亚洲精品香蕉国产一区| 亚洲综合婷婷| 久久91导航| 欧美在线日韩| 性欧美69xoxoxoxo| 国产探花在线精品| 99成人在线视频| 蜜臀久久久久久久| 国产精品蜜芽在线观看| 蜜桃久久精品一区二区| 国产精品激情电影| 99视频精品免费观看| 国产精品一页| 欧美在线亚洲综合一区| 免费在线观看一区| 国产专区一区| 久久麻豆视频| 蜜桃视频在线观看一区二区| 福利一区和二区| 日韩在线麻豆| 欧美日韩在线观看视频小说| 国产精品日本一区二区三区在线| 欧美精品九九| 亚洲黄色免费看| 日本精品另类| 香蕉精品久久| 精品国产亚洲一区二区三区在线 | 久久精品天堂| 亚洲影院天堂中文av色| 肉色欧美久久久久久久免费看| 日韩精品a在线观看91| 不卡中文一二三区| 国产成人精品一区二区三区免费 | 国产aⅴ精品一区二区三区久久| 久久亚洲风情| 999国产精品999久久久久久| 国产欧美欧美| 日韩在线观看一区二区三区| 99香蕉国产精品偷在线观看| 欧美日韩视频| 好看的亚洲午夜视频在线| 国精品一区二区三区| 亚洲成av人片一区二区密柚| 成人自拍av| 国产伊人精品| 黄色av一区| 视频一区欧美精品| 婷婷精品久久久久久久久久不卡| 日韩三级精品| 国产亚洲精品美女久久久久久久久久| 91精品美女| 免费一区二区三区在线视频| 精品久久久久中文字幕小说| 精品视频在线一区二区在线| 国产一区二区精品福利地址| 国产精品久久久久久久久久10秀| 麻豆成全视频免费观看在线看| 桃色一区二区| 在线一区欧美| 亚洲精品少妇| 国产麻豆精品| 色婷婷色综合| 欧美日韩亚洲在线观看| 国产精品日本欧美一区二区三区| 另类av一区二区| 91精品日本| 国产精品99一区二区三区| 久久国产日韩| 日本欧美在线看| 国产乱人伦丫前精品视频| 久久精品一本| 欧美亚洲国产一区| 美国欧美日韩国产在线播放| 日韩动漫一区| 日韩成人免费| 国产亚洲精品v| 久久国产视频网| sm捆绑调教国产免费网站在线观看| 亚洲福利精品| 日韩av三区| 日韩成人综合| 久久国产88| 免费精品一区| 亚洲夜间福利| 911精品国产| 日韩高清欧美| 午夜在线视频一区二区区别| 国产欧美日韩视频在线| 日本免费久久| 亚洲欧美专区| 黑森林国产精品av| 美女国产一区| 精品亚洲成人| 老牛国产精品一区的观看方式| 国产精品最新| 免费欧美一区| 国产日韩欧美一区在线| 日韩欧美不卡| 四虎精品一区二区免费| 精品国产鲁一鲁****| 一区在线免费| 精品国产一区二区三区噜噜噜| 亚洲小说欧美另类婷婷| 欧美一区影院| 欧美不卡高清| 欧美黑人巨大videos精品| 亚洲精品99| 国产极品一区| 久久国产精品久久w女人spa| 老司机精品视频网| 日韩在线播放一区二区| 麻豆网站免费在线观看| 日韩在线网址| 天堂资源在线亚洲| 国产精品极品在线观看| 欧美日韩国产高清| 久久字幕精品一区| 男女男精品网站| 日韩精品一卡| 国产精品久久国产愉拍| 噜噜噜躁狠狠躁狠狠精品视频|