国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

java web response提供文件下載功能的實例講解

2024-07-13 10:16:54
字體:
來源:轉載
供稿:網友

webapp項目的結構如下圖:

java,web,response,文件下載

download.html文件的內容如下:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body> <h1>資源下載:</h1> <p> 單純地使用a標簽時,只有瀏覽器不能解析的文件才會是下載,否則將被瀏覽器直接解析。</p> <a href="/WEB/resource/a.mp3" rel="external nofollow" >a.mp3</a><br> <a href="/WEB/resource/a.exe" rel="external nofollow" >a.exe</a><br> <a href="/WEB/resource/a.txt" rel="external nofollow" >a.txt</a><br> <a href="/WEB/resource/a.xlsx" rel="external nofollow" >a.xlsx</a><br> <a href="/WEB/resource/a.png" rel="external nofollow" >a.png</a><br> <p>因此,使用a標簽結合servlet的response指示瀏覽器不解析這些待下載文件</p> <a href="/WEB/download?filename=a.mp3" rel="external nofollow" >a.mp3</a><br> <a href="/WEB/download?filename=a.exe" rel="external nofollow" >a.exe</a><br> <a href="/WEB/download?filename=a.txt" rel="external nofollow" >a.txt</a><br> <a href="/WEB/download?filename=a.xlsx" rel="external nofollow" >a.xlsx</a><br> <a href="/WEB/download?filename=a.png" rel="external nofollow" >a.png</a><br></body></html>

負責處理下載的Servlet——download.java文件的內容如下:

package com.download.servlet;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class Download */public class Download extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.獲取請求下載的文件名 String filename = request.getParameter("filename"); //2.獲取文件的文件系統路徑 String filePath = request.getServletContext().getRealPath("resource/"+filename); //3.設置響應頭,提示瀏覽器不要解析響應的文件數據,而是以附件(attachment)的形式解析,即下載功能 response.setContentType(this.getServletContext().getMimeType(filename)); response.setHeader("Content-Disposition", "attachment;filename="+filename); //4.讀取文件的 輸入流,以及響應的輸出流,并將數據輸出給客戶端 InputStream in = new FileInputStream(filePath); ServletOutputStream out = response.getOutputStream(); int len = 0; byte[] buf = new byte[1024]; while((len=in.read(buf))!=-1) {  out.write(buf, 0, len); } in.close(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}

在瀏覽器地址欄中輸入http://localhost:8080/DownloadServlet/download.html。

以上這篇java web response提供文件下載功能的實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彭山县| 旅游| 苍溪县| 二手房| 汉川市| 永寿县| 嘉荫县| 高邑县| 襄垣县| 扶绥县| 道真| 邓州市| 合水县| 鄯善县| 万全县| 河北区| 泾川县| 南投市| 察哈| 资中县| 和顺县| 德昌县| 九江县| 平顺县| 扶沟县| 朝阳市| 潞城市| 龙海市| 西林县| 封开县| 陕西省| 南溪县| 百色市| 景谷| 阳高县| 黔西县| 宣武区| 辽中县| 湖南省| 乐清市| 越西县|