013_下载静态资源
一. 使用Tomcat默認(rèn)的servlet去下載靜態(tài)資源?
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里面有一個(gè)默認(rèn)的。這個(gè)DefaultServlet 專門用于處理放在Tomcat服務(wù)器上的靜態(tài)資源。
3. 新建一個(gè)Download的Web工程
4. 在WebContent下新建一個(gè)Download的目錄, 放入幾個(gè)文件
5. 新建一個(gè)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. 部署運(yùn)行
8. 點(diǎn)擊shake.wav, chrome瀏覽器在網(wǎng)頁(yè)中打開了它
9. 點(diǎn)擊logo.png, chrome瀏覽器在網(wǎng)頁(yè)中打開了它
10. 點(diǎn)擊apache-tomcat7.zip, 進(jìn)行下載
二. 使用自己的Servlet去下載文件, 而不是展示
1. 編寫index.html
2. 新建一個(gè)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");// 讓瀏覽器收到這份資源的時(shí)候, 以下載的方式提醒用戶, 而不是直接展示。 resp.setHeader("Content-Disposition", "attachment; filename="+filename);// 獲取這個(gè)文件在Tomcat里面的絕對(duì)路徑地址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. 部署運(yùn)行項(xiàng)目, png和wav文件也可以下載
總結(jié)
以上是生活随笔為你收集整理的013_下载静态资源的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 010_Post请求中文乱码
- 下一篇: 014_下载乱码处理