婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > jsp實現Servlet文件下載的方法

jsp實現Servlet文件下載的方法

熱門標簽:電銷機器人是有一些什么技術 商洛電銷 杭州ai語音電銷機器人功能 北票市地圖標注 地圖標注線上教程 電銷機器人好賣么 杭州語音電銷機器人軟件 高德地圖標注樣式 四川保險智能外呼系統商家

本文實例講述了jsp實現Servlet文件下載的方法。分享給大家供大家參考。具體如下:

package com;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeUtility;
/**
 * 文件下載類。為了防止客戶端瀏覽器直接打開目標文件(例如在裝了MS Office套件的Windows中的IE瀏覽器可能就會直接在IE瀏覽器中打開你想下載的doc或者xls文件),在響應頭里加入強制下載的MIME類型。
 */
public class DownloadFile extends HttpServlet {
  private static final Log log = LogFactory.getLog(DownloadFile.class);
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException {
    long timeStart = 0;
    if(log.isDebugEnabled()){
      timeStart=System.currentTimeMillis();
    }
    response.setContentType("application/x-download charset=UTF-8");
    java.io.FileInputStream fis = null;
    String filepath = request.getRealPath("");
    javax.servlet.ServletOutputStream sos = null;
    // System.out.println("DownloadFile filename:" + filename);
    try {
      if(request.getParameter("filename")==null
          ||request.getParameter("showName")==null){
        return;
      }
      String filename = request.getParameter("filename");
      String showName = request.getParameter("showName");
      request.setCharacterEncoding("UTF-8");
      response.setCharacterEncoding("UTF-8");
      java.io.File file = new java.io.File(filepath + filename);
      if (!file.exists()) {
        log.error(file.getAbsolutePath() + " 文件不存在!");
        return;
      }
      // 讀取文件流
      fis = new java.io.FileInputStream(file);
      // 設置下載保存的文件名
      sos = response.getOutputStream();
      showName += filename.substring(filename.lastIndexOf("."));
      String contentDisposition = "", browser = getBrowser(request);
      if ("IE".equals(browser)) {
        contentDisposition = "attachment; filename=" + URLEncoder.encode(showName, "UTF-8").replace("+", "%20");
      } else if ("CH".equals(browser)) {
        contentDisposition = "attachment; filename=" + MimeUtility.encodeText(showName, "UTF8", "B");
      } else if ("SF".equals(browser)) {
        contentDisposition = "attachment; filename=" + new String(showName.getBytes("UTF-8"), "ISO8859-1");
      } else {
        contentDisposition = "attachment; filename*=UTF-8''" + URLEncoder.encode(showName, "UTF-8").replace("+", "%20");
      }
      response.setHeader("Content-Disposition", contentDisposition);
      int byteCount = 0; 
      if (fis != null) {
        byte[] buff = new byte[1024];
        int bytesRead;
        while(-1 != (bytesRead = fis.read(buff, 0, buff.length))) {
          sos.write(buff, 0, bytesRead);
          sos.flush();
          byteCount += bytesRead;
        } 
      }
      sos.flush();
      if(log.isDebugEnabled()){
        log.debug("文件下載完成,文件大小:"+ byteCount +",總共用時:"+ (new Date().getTime() - timeStart) +"毫秒。");
      }
    } catch(IOException ioe) {
      ioe.printStackTrace();
    } finally {
      try {
        if(fis!=null){
          fis.close();
        }
      } catch (IOException e) {
      } finally {
        try {
          if(sos!=null){
            sos.close();
          }
        } catch (IOException e) {
        }
      }
    }
  }
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
    out.println("html>");
    out.println(" head>");
    out.println("  title>文件下載/title>");
    out.println("  meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />");
    out.println(" /head>");
    out.println(" body>");
    out.print(" This is ");
    out.print(this.getClass().getName());
    out.println(", using the POST method");
    out.println(" /body>");
    out.println("/html>");
    out.flush();
    out.close();
  }
  private String getBrowser(HttpServletRequest request) {
    String userAgent = request.getHeader("USER-AGENT").toLowerCase();
    if (userAgent != null) {
      if (userAgent.indexOf("msie") >= 0) {
        return "IE";
      } else if (userAgent.indexOf("mozilla") >= 0) {
        return "FF";
      } else if (userAgent.indexOf("applewebkit") >= 0) {
        return "CH";
      } else if (userAgent.indexOf("safari") >= 0) {
        return "SF";
      } else if (userAgent.indexOf("opera") >= 0) {
        return "OP";
      }
    }
    return null;
  }
}

希望本文所述對大家的JSP程序設計有所幫助。

您可能感興趣的文章:
  • 訪問JSP文件或者Servlet文件時提示下載的解決方法
  • java基于servlet編寫上傳下載功能 類似文件服務器
  • servlet簡單實現文件下載的方法
  • servlet實現文件下載的實用類分享
  • Java Servlet簡單實例分享(文件上傳下載demo)
  • servlet監聽實現統計在線人數功能 附源碼下載
  • servlet實現文件上傳、預覽、下載、刪除功能
  • servlet實現文件下載的步驟及說明詳解
  • 簡單實現Servlet文件下載功能
  • Servlet實現代理文件下載功能

標簽:西藏 丹東 青島 紅河 云浮 江西 貴州 宿州

巨人網絡通訊聲明:本文標題《jsp實現Servlet文件下載的方法》,本文關鍵詞  jsp,實現,Servlet,文件下載,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《jsp實現Servlet文件下載的方法》相關的同類信息!
  • 本頁收集關于jsp實現Servlet文件下載的方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品免费aⅴ片在线观看| 久久久久久免费网| 日韩精品一区国产麻豆| 亚洲欧美日韩成人高清在线一区| 日韩av网站免费在线| 91在线视频网址| 久久欧美一区二区| 日韩国产欧美在线视频| 色哟哟精品一区| 国产精品妹子av| 国内精品国产成人| 制服视频三区第一页精品| 17c精品麻豆一区二区免费| 国产精品一区专区| 欧美丰满美乳xxx高潮www| 亚洲精品免费在线播放| 成人性生交大片| 久久久精品日韩欧美| 久久se精品一区二区| 欧美日韩一二三区| 亚洲综合图片区| 色婷婷国产精品综合在线观看| 中文字幕av一区 二区| 国内外成人在线| 日韩欧美不卡一区| 国产真实乱对白精彩久久| 日韩精品中文字幕一区二区三区| 日韩高清一区二区| 欧美电影精品一区二区| 老司机精品视频一区二区三区| 56国语精品自产拍在线观看| 午夜精品久久久久久不卡8050| 欧美亚洲国产一区在线观看网站| 亚洲一区二区美女| 欧美视频一区二| 偷拍一区二区三区四区| 678五月天丁香亚洲综合网| 亚洲 欧美综合在线网络| 欧美日韩中文一区| 日本 国产 欧美色综合| 日韩一区二区三区免费看| 久久99精品久久久| 久久九九99视频| 成人精品亚洲人成在线| 亚洲婷婷综合色高清在线| 色综合天天综合网天天狠天天| 亚洲愉拍自拍另类高清精品| 91精品婷婷国产综合久久竹菊| 日本v片在线高清不卡在线观看| 欧美精品一区二区三区高清aⅴ| 国产91在线观看| 国产精品丝袜91| 欧美亚洲综合久久| 狂野欧美性猛交blacked| 亚洲国产高清在线观看视频| 91色视频在线| 日本中文一区二区三区| 精品国产乱码91久久久久久网站| 成人精品免费看| 香蕉加勒比综合久久| 欧美精品一区二区高清在线观看 | 国产欧美日韩三区| 91网站最新网址| 日本午夜精品视频在线观看 | 欧美一区二区三区白人| 国产最新精品免费| 亚洲一级电影视频| 精品国精品国产| 91久久精品国产91性色tv| 久99久精品视频免费观看| 亚洲欧洲av一区二区三区久久| 538在线一区二区精品国产| 国产福利视频一区二区三区| 亚洲一区二区欧美激情| 亚洲精品一区二区在线观看| 在线视频综合导航| 国产乱码精品1区2区3区| 亚洲超丰满肉感bbw| 国产精品色眯眯| 精品日韩成人av| 欧美优质美女网站| 成人午夜看片网址| 偷拍自拍另类欧美| 亚洲精品国产无天堂网2021 | 91免费在线看| 国产精品影音先锋| 蜜臀av一区二区在线免费观看 | 亚洲欧美日韩综合aⅴ视频| 欧美成人国产一区二区| 欧美系列日韩一区| 成人app在线观看| 国产精品一区二区免费不卡 | 中文字幕亚洲在| 337p粉嫩大胆色噜噜噜噜亚洲| 777a∨成人精品桃花网| 欧美在线免费视屏| 一本一道久久a久久精品| 成人免费视频一区二区| 国产美女精品在线| 精品一区二区三区在线视频| 日本成人在线视频网站| 性做久久久久久免费观看| 亚洲激情av在线| 亚洲免费观看高清完整版在线| 中文字幕电影一区| 国产精品色哟哟| 国产精品美女久久福利网站| 国产精品私人自拍| 中文字幕乱码久久午夜不卡| 亚洲国产精品激情在线观看| 国产欧美日产一区| 国产精品少妇自拍| 国产精品久久久久影视| 成人欧美一区二区三区小说 | 欧美日韩一级片网站| 欧美三区在线观看| 欧美人成免费网站| 日韩视频一区二区在线观看| 日韩欧美国产一区二区在线播放| 91精品国产综合久久精品| 欧美一级精品在线| 2022国产精品视频| 国产精品情趣视频| 一区二区三区精密机械公司| 亚洲国产sm捆绑调教视频| 日韩国产欧美在线视频| 精品一区二区影视| 成av人片一区二区| 在线观看一区二区视频| 51精品国自产在线| 久久久噜噜噜久久人人看 | 色综合久久九月婷婷色综合| 欧美视频在线一区| 精品99999| 亚洲欧洲无码一区二区三区| 亚洲夂夂婷婷色拍ww47| 美美哒免费高清在线观看视频一区二区| 麻豆精品国产91久久久久久| 国产精品一区二区不卡| 在线欧美日韩精品| 精品剧情在线观看| 中文字幕日本乱码精品影院| 亚洲一区成人在线| 国产在线国偷精品免费看| av不卡免费电影| 欧美人妖巨大在线| 国产精品美女一区二区| 喷水一区二区三区| 99热99精品| 日韩三级视频在线看| 国产精品超碰97尤物18| 蜜桃av一区二区三区电影| 成人h动漫精品| 欧美一区二区精品在线| 成人欧美一区二区三区视频网页 | 日韩国产一区二| av电影在线观看完整版一区二区| 3atv一区二区三区| 中文字幕制服丝袜一区二区三区| 秋霞电影网一区二区| 色综合激情五月| 久久久亚洲欧洲日产国码αv| 午夜精品久久久久久| zzijzzij亚洲日本少妇熟睡| 精品88久久久久88久久久| 亚洲动漫第一页| 成人精品高清在线| 精品99999| 蜜臀av一区二区| 欧美精品电影在线播放| 亚洲欧美日韩一区二区| 国产在线不卡一区| 日韩视频在线永久播放| 亚洲一区二区三区视频在线播放| www.欧美.com| 欧美激情一区三区| 国产中文一区二区三区| 日韩欧美在线123| 日韩国产欧美在线播放| 日本高清不卡aⅴ免费网站| 欧美激情一二三区| 国产又黄又大久久| 亚洲精品在线电影| 久久97超碰国产精品超碰| 精品日韩一区二区三区免费视频| 石原莉奈在线亚洲二区| 欧美日韩电影在线| 亚洲成av人片在www色猫咪| 一本久久精品一区二区| 亚洲免费伊人电影| 91啦中文在线观看| 亚洲视频一二区| 色老头久久综合| 伊人色综合久久天天人手人婷| 色狠狠一区二区| 亚洲一区二区欧美日韩| 欧美色偷偷大香| 日韩av电影免费观看高清完整版 | 日韩成人免费看| 在线成人小视频|