013_下载静态资源
生活随笔
收集整理的這篇文章主要介紹了
013_下载静态资源
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一. 使用Tomcat默認的servlet去下載靜態資源?
1. 直接以超鏈接的方式下載, 不寫任何代碼, 就能夠下載東西下來。
<a href="Download/shake.wav">shake.wav</a><br/>
<a href="Download/logo.png">logo.png</a><br/>
<a?href="Download/apache-tomcat7.zip">apache-tomcat7.zip</a>
2. Tomcat里面有一個默認的。這個DefaultServlet 專門用于處理放在Tomcat服務器上的靜態資源。
3. 新建一個Download的Web工程
4. 在WebContent下新建一個Download的目錄, 放入幾個文件
5. 新建一個index.html
6. 編寫index.html
<!DOCTYPE html> <html><head><meta charset="UTF-8" /><title>下載</title></head><body><a href="Download/shake.wav">shake.wav</a><br/><a href="Download/logo.png">logo.png</a><br/><a href="Download/apache-tomcat7.zip">apache-tomcat7.zip</a><br/></body> </html>7. 部署運行
8. 點擊shake.wav, chrome瀏覽器在網頁中打開了它
9. 點擊logo.png, chrome瀏覽器在網頁中打開了它
10. 點擊apache-tomcat7.zip, 進行下載
二. 使用自己的Servlet去下載文件, 而不是展示
1. 編寫index.html
2. 新建一個Download.java類
3. 編寫Download.java類
package com.lywgames.myservlet;import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class Download extends HttpServlet {private static final long serialVersionUID = 1L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 獲取文件名字String filename = req.getParameter("filename");// 讓瀏覽器收到這份資源的時候, 以下載的方式提醒用戶, 而不是直接展示。 resp.setHeader("Content-Disposition", "attachment; filename="+filename);// 獲取這個文件在Tomcat里面的絕對路徑地址String path = getServletContext().getRealPath("Download/" + filename);InputStream is = new FileInputStream(path);OutputStream os = resp.getOutputStream();int len = 0 ;byte[] buffer = new byte[1024];while((len = is.read(buffer)) != -1){os.write(buffer, 0, len);}os.close();is.close();}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }4. 編寫web.xml
5. 部署運行項目, png和wav文件也可以下載
總結
以上是生活随笔為你收集整理的013_下载静态资源的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 010_Post请求中文乱码
- 下一篇: 014_下载乱码处理