Servlet 文件上传
生活随笔
收集整理的這篇文章主要介紹了
Servlet 文件上传
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Servlet 可以與 HTML form 標(biāo)簽一起使用,來(lái)允許用戶(hù)上傳文件到服務(wù)器。上傳的文件可以是文本文件或圖像文件或任何文檔。
本文使用到的文件有:
創(chuàng)建一個(gè)文件上傳表單
下面的 HTML 代碼創(chuàng)建了一個(gè)文件上傳表單。以下幾點(diǎn)需要注意:
- 表單 method 屬性應(yīng)該設(shè)置為 POST 方法,不能使用 GET 方法。?
- 表單 enctype 屬性應(yīng)該設(shè)置為 multipart/form-data. 多部分表單 ?? 參考深入解析multipart/form-data.?
- ?使用multipart/form-data.? 后?? 使用request.getParameter()? 將返回空值? 因?yàn)槭欠植糠值?請(qǐng)求體? 有個(gè)分割線(xiàn)的 屬性? 無(wú)法直接獲得參數(shù)
- 表單 action 屬性應(yīng)該設(shè)置為在后端服務(wù)器上處理文件上傳的 Servlet 文件。下面的實(shí)例使用了 UploadServlet Servlet 來(lái)上傳文件。
- 上傳單個(gè)文件,您應(yīng)該使用單個(gè)帶有屬性 type="file" 的 <input .../> 標(biāo)簽。為了允許多個(gè)文件上傳,請(qǐng)包含多個(gè) name 屬性值不同的 input 標(biāo)簽。輸入標(biāo)簽具有不同的名稱(chēng)屬性的值。瀏覽器會(huì)為每個(gè) input 標(biāo)簽關(guān)聯(lián)一個(gè)瀏覽按鈕。
-
?原理:
?
html 代碼
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
?? ?<form action="/WEB32/fileuploadServlet2" method="post" enctype="multipart/form-data">
?? ??? ?<input type="text" name="username"><br>
?? ??? ?<input type="file" name="filename"><br>
?? ??? ?<input type="submit" value="上傳文件">
?? ?</form>
</body>
</html>
?servlet部分代碼
以下是 UploadServlet 的源代碼,同于處理文件上傳,在這之前我們先確保依賴(lài)包已經(jīng)引入到項(xiàng)目的 WEB-INF/lib 目錄下:
- 下面的實(shí)例依賴(lài)于 FileUpload,所以一定要確保在您的 classpath 中有最新版本的 commons-fileupload.x.x.jar 文件。可以從 http://commons.apache.org/proper/commons-fileupload/ 下載。
- FileUpload 依賴(lài)于 Commons IO,所以一定要確保在您的 classpath 中有最新版本的 commons-io-x.x.jar 文件。可以從 http://commons.apache.org/proper/commons-io/ 下載。
你可以直接下載本站提供的兩個(gè)依賴(lài)包:
- commons-fileupload-1.3.2.jar
- commons-io-2.5.jar
web.xml
<servlet><description></description><display-name>FileuploadServlet2</display-name><servlet-name>FileuploadServlet2</servlet-name><servlet-class>com.itheima.FileuploadServlet2</servlet-class></servlet><servlet-mapping><servlet-name>FileuploadServlet2</servlet-name><url-pattern>/fileuploadServlet2</url-pattern></servlet-mapping>?
轉(zhuǎn)載于:https://www.cnblogs.com/qinning/p/9979637.html
總結(jié)
以上是生活随笔為你收集整理的Servlet 文件上传的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SHA256 算法 加密文件、防文件篡改
- 下一篇: canvas 动画库 CreateJs