java 文件下载 jsp文件_jsp文件 Java实现文件上传与下载
通過前臺(tái)選擇文件,然后將資源上傳到(即新建一個(gè)文件)到發(fā)布的資源文件下面,
下載就是url 到發(fā)布的資源文件,觸發(fā)即可自動(dòng)下載。服務(wù)器已經(jīng)封裝了如何下載的底層實(shí)現(xiàn)。(此處用的是tomcat)
JSP上傳文件方法:關(guān)于在HTTP request 中通過Post方法提交文件的規(guī)范,該項(xiàng)目性能穩(wěn)定快速,易于部署和使用.本次教程以前端jsp + 后端 servlet的方式,利用JSP上傳文件,你也可以完全在jsp中實(shí)現(xiàn)而不用servlet.
在開始JSP上傳文件之前你要準(zhǔn)備以下幾個(gè)東西:
1. commons-FileUpload 1.3 包
下載地址:
2. commons-IO 2.5 包
下載地址:
有了上面這些東西我們就可以開始了
1. 新建一個(gè)叫Servlet_UploadDownLoad的WEB項(xiàng)目
2. 接著把這兩個(gè)jar包放到WEB-INF/lib目錄中:
3.接下來我們要準(zhǔn)備一份如下內(nèi)容的upload.
上面文件中有幾個(gè)需要注意的地方就是
1. action="UploadServlet" 必須和后面的web.xml配置文件中對(duì)servlet映射必須保持一致.
2.method="POST"這里必須為"POST"方式提交不能是"GET".
3.enctype="multipart/form-data"這里是要提交的內(nèi)容格式,表示你要提交的是數(shù)據(jù)流,而不是普通的表單文本.
4. file1,file2,file3表示你要3個(gè)文件一起上傳,你也可以一次只上傳一個(gè)文件.
接下來我們要寫一個(gè)與上面這個(gè)upload.jsp配套的servlet程序,就叫做UploadServlet.java
upload.jsp文件有了,配套的servlet也有了,現(xiàn)在最后剩下的就是怎么讓它們配合工作了,接著我們把WEB-INF/web.xml文件請(qǐng)出來,并在該文件中加入以下內(nèi)容:
寫好以后再點(diǎn)擊"保存"
把你的upload項(xiàng)目整個(gè)拷貝到tomcat的webapps目錄下,啟動(dòng)tomcat.打開IE瀏覽器在地址欄中輸入:8080/Servlet_UploadDownLoad/upload.jsp怎么樣看到JSP上傳文件的輸入框了嗎? 什么,沒有看到,出錯(cuò)了! 你仔細(xì)檢查一下步驟有沒有對(duì).
好了,現(xiàn)在我們點(diǎn)擊頁(yè)面上的"瀏覽"按鈕,找到我們要上傳的文件,最后點(diǎn)擊"Submit",太激動(dòng)了,還不看一下你的I:\\updir里面有沒有你要的東西.
在HTML網(wǎng)頁(yè)中,通過超鏈接鏈接到要下載的文件的地址:downloadOne.jsp
"/Servlet_UploadDownLoad/file/commons-beanutils-1.9.3-bin.zip"是文件路徑,程序結(jié)構(gòu)如下圖:
程序運(yùn)行后,可以通過單擊需要下載文檔實(shí)現(xiàn)下載
但是這里會(huì)出現(xiàn)一個(gè)問題,就是單擊下載壓縮包的時(shí)候會(huì)彈出下載頁(yè)面,但是下載圖片的時(shí)候?yàn)g覽器就直接打開了圖片,沒有下載。
這是因?yàn)橥ㄟ^超鏈接下載文件時(shí),如果瀏覽器可以識(shí)別該文件格式,瀏覽器就會(huì)直接打開。只有瀏覽器不能識(shí)別該文件格式的時(shí)候,才會(huì)實(shí)現(xiàn)下載。
因此利用第二種方法實(shí)現(xiàn)下載功能。
通過Servlet下載文件的原理是通過servlet讀取目標(biāo)程序,將資源返回客戶端。
downloadTwo.jsp
其中,/Servlet_UploadDownLoad 是servlet程序的映射路徑
然后新建一個(gè)servlet,名稱為ServletDownload,URL映射為/ServletDownload
本文來自電腦雜談,轉(zhuǎn)載請(qǐng)注明本文網(wǎng)址:
http://www.pc-fly.com/a/jisuanjixue/article-72413-1.html
總結(jié)
以上是生活随笔為你收集整理的java 文件下载 jsp文件_jsp文件 Java实现文件上传与下载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php属于脚本,php是脚本语言吗
- 下一篇: java 实现 堆排序算法_C程序实现堆