(二)手动采用fileupload组建进行文件上传
upload2.jsp
1
<%
@ page language="java" contentType="text/html; charset=GB18030"
2
pageEncoding="GB18030"
%>
3
<!
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
>
4
<
html
>
5
<
head
>
6
<
meta
http-equiv
="Content-Type"
content
="text/html; charset=GB18030"
>
7
<
title
>
Insert title here
</
title
>
8
</
head
>
9
<
body
>
10
<
form
action
="/MyStruts2/UploadServlet"
method
="post"
enctype
="multipart/form-data"
>
11
username:
12
<
input
type
="text"
name
="username"
>
13
<
br
>
14
password:
15
<
input
type
="password"
name
="password"
>
16
<
br
>
17
file1:
18
<
input
type
="file"
name
="file1"
>
19
<
br
>
20
file2:
21
<
input
type
="file"
name
="file2"
>
22
<
br
>
23
<
input
type
="submit"
value
=" submit "
>
24
</
form
>
25
</
body
>
26
</
html
>
web.xml中的配置
![](https://i-blog.csdnimg.cn/blog_migrate/353c1fa9cd42287d30310af820b5430d.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/6bfb8366602b2effefcf17e2749f1731.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
17
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
18
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
19
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
20
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
21
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
22
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
23
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
24
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
25
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
26
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
1
package
com.test.servlet;
2![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
3
import
java.io.File;
4
import
java.io.FileOutputStream;
5
import
java.io.IOException;
6
import
java.io.InputStream;
7
import
java.io.OutputStream;
8
import
java.util.List;
9![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
10
import
javax.servlet.ServletException;
11
import
javax.servlet.http.HttpServlet;
12
import
javax.servlet.http.HttpServletRequest;
13
import
javax.servlet.http.HttpServletResponse;
14![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
15
import
org.apache.commons.fileupload.FileItem;
16
import
org.apache.commons.fileupload.FileUploadException;
17
import
org.apache.commons.fileupload.disk.DiskFileItemFactory;
18
import
org.apache.commons.fileupload.servlet.ServletFileUpload;
19![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
20
@SuppressWarnings(
"
serial
"
)
21
public
class
UploadServlet
extends
HttpServlet
{
22
@SuppressWarnings( { "unchecked", "deprecation" })
23
public void doPost(HttpServletRequest request, HttpServletResponse response)
24
throws ServletException, IOException {
25![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
26
DiskFileItemFactory factory = new DiskFileItemFactory();
27![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
28
String path = request.getRealPath("/upload");
29![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
30
factory.setRepository(new File(path));
31![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
32
factory.setSizeThreshold(1024 * 1024);
33![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
34
ServletFileUpload upload = new ServletFileUpload(factory);
35![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
36
try {
37
List<FileItem> list = upload.parseRequest(request);
38![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
39
for (FileItem item : list) {
40
if (item.isFormField()) {
41
String name = item.getFieldName();
42![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
43
String value = item.getString("gbk");
44![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
45
System.out.println(name);
46![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
47
request.setAttribute(name, value);
48
} else {
49
String name = item.getFieldName();
50![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
51
String value = item.getName();
52![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
53
int start = value.lastIndexOf("\\");
54![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
55
String fileName = value.substring(start + 1);
56![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
57
request.setAttribute(name, fileName);
58![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
59
item.write(new File(path, fileName));
60![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
61
OutputStream os = new FileOutputStream(new File(path,
62
fileName));
63![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
64
InputStream is = item.getInputStream();
65![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
66
byte[] buffer = new byte[400];
67![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
68
int length = 0;
69![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
70
while ((length = is.read(buffer)) > 0) {
71
os.write(buffer, 0, length);
72
}
73![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
74
os.close();
75![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
76
is.close();
77![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
78
}
79
}
80
}
81![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
82
catch (Exception ex) {
83
ex.printStackTrace();
84
}
85
request.getRequestDispatcher("upload/result2.jsp").forward(request,
86
response);
87
}
88![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
89
}
结果:
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
17
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
18
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
19
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
20
![](https://i-blog.csdnimg.cn/blog_migrate/17c135a2763225eb253f4ff92e88a664.gif)
21
![](https://i-blog.csdnimg.cn/blog_migrate/353c1fa9cd42287d30310af820b5430d.gif)
22
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
23
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
24
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
25
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
26
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
27
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
28
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
29
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
30
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
31
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
32
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
33
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
34
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
35
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
36
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
37
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
38
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
39
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
40
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
41
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
42
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
43
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
44
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
45
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
46
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
47
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
48
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
49
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
50
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
51
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
52
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
53
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
54
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
55
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
56
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
57
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
58
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
59
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
60
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
61
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
62
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
63
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
64
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
65
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
66
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
67
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
68
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
69
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
70
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
71
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
72
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
73
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
74
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
75
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
76
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
77
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
78
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
79
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
80
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
81
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
82
![](https://i-blog.csdnimg.cn/blog_migrate/0263e0c3f9f3faecf5b4177968c5d64c.gif)
83
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
84
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
85
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
86
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
87
![](https://i-blog.csdnimg.cn/blog_migrate/6b1eff4d9cb8055b7f54d7b6d5b73a91.gif)
88
![](https://i-blog.csdnimg.cn/blog_migrate/258e3e26538340eb1c68b7657f2a2de8.gif)
89
![](https://i-blog.csdnimg.cn/blog_migrate/6bfb8366602b2effefcf17e2749f1731.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/00baca93fa7e8dde9327b7072f35a17f.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/441695db0cd70b4a043611ab42119be7.jpeg)