struts2 文件上傳與下載 (初始文件上傳的底層技術)——struts2第七講

文件上傳 struts2css

注:本文系做者在看了浪曦的風中葉老師的struts2視頻的我的總結,但願能幫助廣大struts2的初學者。 

本講主要講解struts2的文件上傳機制的底層。 


首先咱們仍是新建一個新的web project 取名爲upload_test 

而後在WebRoot中新建兩個jsp頁面 upload.jsp 和result.jsp 

代碼分別以下: 
upload.jsp 
html

Jsp代碼  收藏代碼java

  1. <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>  web

  2. <%  app

  3. String path = request.getContextPath();  jsp

  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  post

  5. %>  ui

  6.   

  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  spa

  8. <html>  .net

  9.   <head>  

  10.     <base href="<%=basePath%>">  

  11.       

  12.     <title>My JSP 'index.jsp' starting page</title>  

  13.     <meta http-equiv="pragma" content="no-cache">  

  14.     <meta http-equiv="cache-control" content="no-cache">  

  15.     <meta http-equiv="expires" content="0">      

  16.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  

  17.     <meta http-equiv="description" content="This is my page">  

  18.     <!--  

  19.     <link rel="stylesheet" type="text/css" href="styles.css">  

  20.     -->  

  21.   </head>  

  22.     

  23.   <body>  

  24. <form action='result.jsp' name='upload'>  

  25.                             username : <input name='name' type='text'><br>  

  26.                             file : <input name='file' type='file' >  

  27.                             <br>  

  28.                             <input type='submit'  value='submit' name='submit'>  

  29.                     </form>  

  30.   

  31.   

  32.   </body>  

  33. </html>  



而後是result.jsp頁面: 

Jsp代碼  收藏代碼

  1. <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>  

  2. <%  

  3. String path = request.getContextPath();  

  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  

  5. %>  

  6. <%@ page import='java.io.*' %>  

  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  

  8. <html>  

  9.   <head>  

  10.     <base href="<%=basePath%>">  

  11.       

  12.     <title>My JSP 'result.jsp' starting page</title>  

  13.       

  14.     <meta http-equiv="pragma" content="no-cache">  

  15.     <meta http-equiv="cache-control" content="no-cache">  

  16.     <meta http-equiv="expires" content="0">      

  17.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  

  18.     <meta http-equiv="description" content="This is my page">  

  19.     <!--  

  20.     <link rel="stylesheet" type="text/css" href="styles.css">  

  21.     -->  

  22.   

  23.   </head>  

  24.     

  25.   <body>  

  26.               

  27.   

  28.                                    <%  

  29.                                                 InputStream is  = request.getInputStream();          //         新建一個inputstream對象  注意應該在這個頁面中導入java.io.*包  

  30.                                                    

  31.                                                  BufferedReader bu = new BufferedReader( new InputStreamReader(is));                  // 將輸入的內容轉換成字符流  

  32.                                                    

  33.                                                  String buffer = null;  

  34.                                                    

  35.                                                  while( (buffer = bu.readLine()) != null )                        //若是還有內容 怎繼續輸出  

  36.                                                  {  

  37.                                                      out.print(buffer+"<br>");  

  38.                                                  }  

  39.                                      

  40.                                    %>  

  41.   </body>  

  42. </html>  



這樣的基本課能夠上傳了 
點擊文件後點擊提交 那麼跳轉到了result.jsp頁面 但是沒有任何信息輸出 這是怎麼回事呢 
這裏要注意的是 在文件上上傳的表單中必需要包含兩個內容 
method='post' 還有 enctype='multipart/form-data' 
加上這兩個內容後,再試一次 就成功了

struts2 核心攔截器2 (微微進階)——stru ...

評論 共 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代碼  收藏代碼

  1. <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頁面上~~

相關文章
相關標籤/搜索