struts2 文件上传与下载 (初始文件上传的底层技术)——struts2第七讲
2019獨角獸企業重金招聘Python工程師標準>>>
文件上傳?struts2
注:本文系作者在看了浪曦的風中葉老師的struts2視頻的個人總結,希望能幫助廣大struts2的初學者。?
本講主要講解struts2的文件上傳機制的底層。?
首先我們還是新建一個新的web project 取名為upload_test?
然后在WebRoot中新建兩個jsp頁面 upload.jsp 和result.jsp?
代碼分別如下:?
upload.jsp?
Jsp代碼??
<%@?page?language="java"?import="java.util.*"?pageEncoding="ISO-8859-1"%>??
<%??
String?path?=?request.getContextPath();??
String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";??
%>??
??
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">??
<html>??
??<head>??
????<base?href="<%=basePath%>">??
??????
????<title>My?JSP?'index.jsp'?starting?page</title>??
????<meta?http-equiv="pragma"?content="no-cache">??
????<meta?http-equiv="cache-control"?content="no-cache">??
????<meta?http-equiv="expires"?content="0">??????
????<meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3">??
????<meta?http-equiv="description"?content="This?is?my?page">??
????<!--??
????<link?rel="stylesheet"?type="text/css"?href="styles.css">??
????-->??
??</head>??
????
??<body>??
<form?action='result.jsp'?name='upload'>??
????????????????????????????username?:?<input?name='name'?type='text'><br>??
????????????????????????????file?:?<input?name='file'?type='file'?>??
????????????????????????????<br>??
????????????????????????????<input?type='submit'??value='submit'?name='submit'>??
????????????????????</form>??
??
??
??</body>??
</html>??
然后是result.jsp頁面:?
Jsp代碼??
<%@?page?language="java"?import="java.util.*"?pageEncoding="gbk"%>??
<%??
String?path?=?request.getContextPath();??
String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";??
%>??
<%@?page?import='java.io.*'?%>??
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">??
<html>??
??<head>??
????<base?href="<%=basePath%>">??
??????
????<title>My?JSP?'result.jsp'?starting?page</title>??
??????
????<meta?http-equiv="pragma"?content="no-cache">??
????<meta?http-equiv="cache-control"?content="no-cache">??
????<meta?http-equiv="expires"?content="0">??????
????<meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3">??
????<meta?http-equiv="description"?content="This?is?my?page">??
????<!--??
????<link?rel="stylesheet"?type="text/css"?href="styles.css">??
????-->??
??
??</head>??
????
??<body>??
??????????????
??
???????????????????????????????????<%??
????????????????????????????????????????????????InputStream?is??=?request.getInputStream();??????????//?????????新建一個inputstream對象??注意應該在這個頁面中導入java.io.*包??
???????????????????????????????????????????????????
?????????????????????????????????????????????????BufferedReader?bu?=?new?BufferedReader(?new?InputStreamReader(is));??????????????????//?將輸入的內容轉換成字符流??
???????????????????????????????????????????????????
?????????????????????????????????????????????????String?buffer?=?null;??
???????????????????????????????????????????????????
?????????????????????????????????????????????????while(?(buffer?=?bu.readLine())?!=?null?)????????????????????????//如果還有內容?怎繼續輸出??
?????????????????????????????????????????????????{??
?????????????????????????????????????????????????????out.print(buffer+"<br>");??
?????????????????????????????????????????????????}??
?????????????????????????????????????
???????????????????????????????????%>??
??</body>??
</html>??
這樣的基本課可以上傳了?
點擊文件后點擊提交 那么跳轉到了result.jsp頁面 可是沒有任何信息輸出 這是怎么回事呢?
這里要注意的是 在文件上上傳的表單中必須要包含兩個內容?
method='post' 還有 enctype='multipart/form-data'?
加上這兩個內容后,再試一次 就成功了
struts2 核心攔截器2 (微微進階)——stru ...
upload_test.rar?(3.1 KB)
下載次數: 116
評論?共 9 條 請登錄后發表評論
9 樓?1351539356?2011-04-03 23:49
http://www.jianruishiyouyaowu.com?
http://www.hshxjx.com?
http://www.jrsy100.com?
http://www.6699ok.com?
http://www.50suncity.net?
http://www.wabjw.com?
http://wenwen.soso.com/z/q274894589.htm?
8 樓?虛弱的java?2011-02-19 14:53
這篇文章我也沒有看出來與structs2有關系?
7 樓?cokin_tkj?2010-07-30 15:30
一塌糊涂~~~~
6 樓?ynstudio?2010-02-08 19:47
看不懂這些回復的朋友怎么理解的。
我覺著這個例子滿合適的,非常簡短,說明了原理,一看即明。
引用
請教這篇文章和struts2有什么關系?
這個是講上傳的原理,不是struts2的上傳如何用。
引用
就兩個JSP文件 還號稱上傳的底層 我都不好意思說了。。
難道寫上一堆?初學者好理解嗎?
引用
別告訴我你的后臺是空的昂~~~最好能將java程序不寫在jsp頁面上~~
現在這樣不是更簡潔易懂嗎?
5 樓?xici_magic?2009-12-16 15:10
就兩個JSP文件 還號稱上傳的底層 我都不好意思說了。。
4 樓?yangqianyu222?2009-06-12 11:06
引用
本講主要講解struts2的文件上傳機制的底層。
請教這篇文章和struts2有什么關系?
3 樓?yangqianyu222?2009-06-12 10:57
強烈建議:代碼格式太亂了,另外是否可以把?
Java代碼??
<meta?http-equiv="pragma"?content="no-cache">???
諸如此類的跟該程序無關的代碼去掉,那樣會更清晰些。
2 樓?radovi?2009-03-13 12:57
sharp_lover 寫道
別告訴我你的后臺是空的昂~~~最好能將java程序不寫在jsp頁面上~~
是的 呵呵
1 樓?sharp_lover?2009-03-13 09:44
別告訴我你的后臺是空的昂~~~最好能將java程序不寫在jsp頁面上~~
轉載于:https://my.oschina.net/u/1014520/blog/279632
總結
以上是生活随笔為你收集整理的struts2 文件上传与下载 (初始文件上传的底层技术)——struts2第七讲的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发后的思考与分析
- 下一篇: Hadoop--ip和主机名配置