騷包路技術菜
嗯哼
posts - 89, comments - 241, trackbacks - 0, articles - 1
::
首頁
:: ::
聯系
::
聚合
::
管理
公告
留言簿
給我留言
查看公開留言
查看私人留言
我參與的團隊
南工技術圈(0/0)
隨筆分類
DataBase(5)
javaweb(7)
java基礎與算法(38)
Linux操作系統(10)
前端(12)
微信公共平臺開發(1)
隨筆檔案
2013年8月 (1)
2010年7月 (1)
2010年6月 (6)
2010年3月 (1)
2010年1月 (5)
2009年12月 (3)
2009年11月 (5)
2009年10月 (4)
2009年9月 (12)
2009年8月 (1)
2009年7月 (4)
2009年6月 (4)
2009年5月 (7)
2009年4月 (7)
2009年3月 (16)
2009年2月 (2)
2008年10月 (5)
2008年9月 (2)
2008年8月 (3)
java
Java入門
java初學者視頻
專輯:J2EE入門教程-新浪播客
SQL語句教程
W3Cschool
墨白
My other site!
穿越大學的苦行僧
搜索
積分與排名
積分 - 91666
排名 - 631
最新評論
1.?re: 南陽理工學院軟件學院Java開發團隊
@賀 怎么啦,保存不到數據庫數據?自己Debug 跟一下,問題應該不大。
--張志杰
2.?re: 南陽理工學院軟件學院Java開發團隊
@賀
幫忙看下程序哪出錯了
--賀
3.?re: 開發一個學生管理系統,將信息導入數據庫
評論內容較長,點擊標題查看
--賀
4.?re: MySQL5.0驅動下載
的
--收到
5.?re: MySQL亂碼實戰解決ERROR 1366 (HY000): Incorrect string value: '
浮云,,都是浮云,,,,到my.ini改下mysqld編碼就好了
--張三
Struts2文件上傳以及空指針異常解決
Posted on 2009-09-27 08:54
saobaolu
閱讀(4345)
評論(2)
編輯
收藏
所屬分類:
java基礎與算法
uploadFile.java
1
package
action;
2
3
import
java.io.File;
4
import
java.text.DateFormat;
5
import
java.text.SimpleDateFormat;
6
import
java.util.Date;
7
import
java.util.Random;
8
9
import
javax.servlet.ServletContext;
10
11
import
org.apache.commons.io.FileUtils;
12
import
org.apache.struts2.util.ServletContextAware;
13
14
import
com.opensymphony.xwork2.ActionSupport;
15
16
public
class
uploadFile
extends
ActionSupport
implements
ServletContextAware
{
17
18
private
static
final
long
serialVersionUID
=
-
5016873153441103539L
;
19
20
private
File doc;
21
private
String fileName;
22
private
String contentType;
23
24
private
ServletContext context;
25
26
public
void
setDoc(File file)
{
27
this
.doc
=
file;
28
}
29
30
public
void
setDocFileName(String fileName)
{
31
this
.fileName
=
fileName;
32
}
33
34
public
void
setDocContentType(String contentType)
{
35
this
.contentType
=
contentType;
36
}
37
38
public
void
setServletContext(ServletContext context)
{
39
this
.context
=
context;
40
}
41
42
public
String execute()
throws
Exception
{
43
String targetDirectory
=
context.getRealPath(
"
/upload
"
);
44
String targetFileName
=
generateFileName(fileName);
45
File target
=
new
File(targetDirectory, targetFileName);
46
47
FileUtils.copyFile(doc, target);
48
49
return
SUCCESS;
50
}
51
52
private
String generateFileName(String fileName)
{
53
DateFormat format
=
new
SimpleDateFormat(
"
yyMMddHHmmss
"
);
54
String formatDate
=
format.format(
new
Date());
55
56
int
random
=
new
Random().nextInt(
10000
);
57
58
int
position
=
fileName.lastIndexOf(
"
.
"
);
59
String extension
=
fileName.substring(position);
60
61
return
formatDate
+
random
+
extension;
62
}
63
}
64
struts.xml
1
<?
xml version="1.0" encoding="UTF-8"
?>
2
<!
DOCTYPE struts PUBLIC
3
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4
"http://struts.apache.org/dtds/struts-2.0.dtd"
>
5
<
struts
>
6
<
package
name
="uploadFile"
extends
="struts-default"
>
7
<
action
name
="uploadFile"
class
="action.uploadFile"
>
8
<
result
>
/jsp/up.jsp
</
result
>
9
</
action
>
10
</
package
>
11
</
struts
>
web.xml(Struts2的xml,非上傳的xml)
1
<?
xml version="1.0" encoding="UTF-8"
?>
2
<
web-app
version
="2.4"
3
xmlns
="http://java.sun.com/xml/ns/j2ee"
4
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
5
xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee
6
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>
7
<
filter
>
8
<
filter-name
>
struts2
</
filter-name
>
9
<
filter-class
>
org.apache.struts2.dispatcher.FilterDispatcher
</
filter-class
>
10
</
filter
>
11
<
filter-mapping
>
12
<
filter-name
>
struts2
</
filter-name
>
13
<
url-pattern
>
/*
</
url-pattern
>
14
</
filter-mapping
>
15
</
web-app
>
up.jsp(上傳成功頁面)
1
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
pageEncoding
=
"
UTF-8
"
%>
2
<%
@ taglib prefix
=
"
s
"
uri
=
"
/struts-tags
"
%>
3
<%
4
String
path
=
request.getContextPath();
5
String
basePath
=
request.getScheme()
+
"
://
"
+
request.getServerName()
+
"
:
"
+
request.getServerPort()
+
path
+
"
/
"
;
6
%>
7
8
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
9
<
html
>
10
<
head
>
11
<
base
href
="<%=basePath%>"
>
12
13
<
title
>
My JSP 'up.jsp' starting page
</
title
>
14
15
<
meta
http-equiv
="pragma"
content
="no-cache"
>
16
<
meta
http-equiv
="cache-control"
content
="no-cache"
>
17
<
meta
http-equiv
="expires"
content
="0"
>
18
<
meta
http-equiv
="keywords"
content
="keyword1,keyword2,keyword3"
>
19
<
meta
http-equiv
="description"
content
="This is my page"
>
20
<!--
21
<link rel="stylesheet" type="text/css" href="styles.css">
22
-->
23
24
</
head
>
25
26
<
body
>
27
<
s:property
value
="contentType"
/><
br
/>
28
<
s:property
value
="dir"
/><
br
/>
29
</
body
>
30
</
html
>
31
上傳頁面:
1
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
pageEncoding
=
"
UTF-8
"
%>
2
<%
@ taglib prefix
=
"
s
"
uri
=
"
/struts-tags
"
%>
3
<%
4
String
path
=
request.getContextPath();
5
String
basePath
=
request.getScheme()
+
"
://
"
+
request.getServerName()
+
"
:
"
+
request.getServerPort()
+
path
+
"
/
"
;
6
%>
7
8
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
9
<
html
>
10
<
head
>
11
<
base
href
="<%=basePath%>"
>
12
13
<
title
>
最新產品發布頁
</
title
>
14
15
<
meta
http-equiv
="pragma"
content
="no-cache"
>
16
<
meta
http-equiv
="cache-control"
content
="no-cache"
>
17
<
meta
http-equiv
="expires"
content
="0"
>
18
<
meta
http-equiv
="keywords"
content
="keyword1,keyword2,keyword3"
>
19
<
meta
http-equiv
="description"
content
="This is my page"
>
20
<!--
21
<link rel="stylesheet" type="text/css" href="styles.css">
22
-->
23
24
</
head
>
25
26
<
body
>
27
<
s:form
action
="uploadFile"
method
="post"
enctype
="multipart/form-data"
>
28
<
s:file
name
= "doc"
label
="上傳視頻"
/>
29
<
s:submit
value
="上傳"
/>
30
</
s:form
>
31
</
body
>
32
</
html
>
33
很容易就會報錯,空指針異常。
原因在于上傳頁面<s:file name="
這里面的值與action的值不匹配
" />
可是我上傳成功之后,up.jsp頁面沒有傳入任何值,郁悶了~
新手,多指點指點,謝謝~
沒有所謂的命運,只有不同的選擇!
Powered by:
BlogJava
Copyright © saobaolu
主站蜘蛛池模板:
福鼎市
|
甘谷县
|
溆浦县
|
北辰区
|
乌海市
|
柳江县
|
福建省
|
财经
|
宁化县
|
五原县
|
靖安县
|
云浮市
|
张家界市
|
子长县
|
阿勒泰市
|
辽中县
|
澄迈县
|
汨罗市
|
太康县
|
嘉祥县
|
松阳县
|
德清县
|
香河县
|
甘泉县
|
张家界市
|
临猗县
|
和政县
|
永吉县
|
姚安县
|
霍州市
|
日照市
|
南川市
|
鄂温
|
鄂伦春自治旗
|
西畴县
|
新竹市
|
盖州市
|
淮安市
|
鲁山县
|
怀远县
|
阜南县
|