自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Struts2.3.1中整合DWR3.0實現(xiàn)文件上傳

開發(fā) 后端
本文主要介紹了在Struts2.3.1中整合DWR3.0實現(xiàn)文件上傳,作者一共分了5個步驟完成。詳細內(nèi)容請看下文

Struts2.3.1 中整合DWR3.0 實現(xiàn)文件上傳

步驟1:導入 dwr*.jar ,

  1. struts2-dwr-plugin-2.3.1.jar 


步驟2:在web.xml中引入dwr的配置

  1. <servlet> 
  2.      <servlet-name>dwr-invoker</servlet-name> 
  3.      <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> 
  4.      <init-param> 
  5.       <param-name>debug</param-name> 
  6.       <param-value>true</param-value> 
  7.      </init-param> 
  8.   </servlet> 
  9.    
  10.   <servlet-mapping> 
  11.     <servlet-name>dwr-invoker</servlet-name> 
  12.     <url-pattern>/dwr/*</url-pattern> 
  13.   </servlet-mapping> 

注意需要修改原來配置好的 struts2 原<url-pattern>/*</url-pattern> 為<url-pattern>*.do</url-pattern> 表示struts2只負責處理 .do 結尾的請求

步驟3:在web.xml同級目錄中定義一個dwr.xml 配置文件, (dwr.xml可以去dwr.jar包中獲得)

dwr.xml配置如下:

  1. <dwr>
  2. <allow>
  3. creator="new" :表示每一次dwr請求但是創(chuàng)建一個新的實例
  4. javascript="DWRService" 表示頁面通過什么名字來對應調(diào)用你的java類提供服務
  5. <create creator="new" javascript="DWRService">
  6. 指定為前臺提供服務的java類 這里的DWRDemo類在頁面使用的時候使用DWRService調(diào)用
  7. java類就是一個普通的java類
  8. <param name="class" value="org.fd.dwr.DWRDemo"></param>
  9. </create>
  10. </allow>
  11. </dwr>

 

步驟4:

必須引入依賴的js文件一般有2個ajax 核心引擎

  1. <script type='text/javascript' src='/dwr/engine.js'></script> 

對應 在步驟3:中定義的 javascript="DWRService" 關聯(lián)的java類

  1. <script type='text/javascript' src='/dwr/interface/DWRService.js'></script> 

可選引入依賴

提供一些方便的工具方法的使用

  1. <script type='text/javascript' src='/dwr/util.js'></script> 

步驟5:

使用

DWRService.sayHello(參數(shù) , 如果有返回,回調(diào)方法 )

代碼如下:html代碼

  1. <script type='text/javascript' src='/dwr/engine.js'></script> 
  2.   <script type='text/javascript' src='/dwr/util.js'></script> 
  3.   <script type='text/javascript' src='/dwr/interface/DWRService.js'></script> 
  4.  
  5.  
  6. <script language="JavaScript"> 
  7.    
  8.  //dwr文件上傳  
  9.  var up = function(){  
  10.    var headf = dwr.util.getValue("headfile");  
  11.    DWRService.headUp(headf,  function(flag){  
  12.     if(flag){  
  13.      alert("成功");  
  14.     }else{  
  15.      alert("不成功");  
  16.     }  
  17.    });  
  18.  }  
  19.    
  20. </script> 
  21. </head> 
  22. <body> 
  23.    <img  src="images/angel.jpg" id="headimage"> 
  24.    <input type="file" name="headfile" id="headfile"> 
  25.    用戶名:<input type="text" name="name" id="name" onblur="up()"> 
  26.    <input type="button" value="上傳頭像" onclick="up()"/> 
  27. </body> 
  28. </html> 

dwr.xml 配置

  1. <dwr> 
  2.  <allow> 
  3.   <create creator="new"  javascript="DWRService"> 
  4.    <param name="class" value="org.fk.dwr.DWRDemo"></param> 
  5.   </create> 
  6.  </allow> 
  7. </dwr> 

java代碼如下:

  1. import java.io.File;  
  2. import org.apache.commons.io.FileUtils;  
  3. import org.directwebremoting.WebContext;  
  4. import org.directwebremoting.WebContextFactory;  
  5. import org.directwebremoting.io.FileTransfer;  
  6.  
  7. public class DWRDemo {  
  8.    public String sayHello(String name){  
  9.     System.out.println("歡迎您:"+name);  
  10.     return "歡迎您:"+name;  
  11.    }  
  12.      
  13.    /**  
  14.     * dwr 文件上傳  
  15.     * @param ft  FileTransfer 封裝類前臺js提交的文件數(shù)據(jù)  
  16.     * @return  
  17.     */ 
  18.    public boolean headUp(FileTransfer ft){  
  19.  
  20.     WebContext  wc = WebContextFactory.get();  
  21.     //獲得應用路徑  
  22.     String headImages = wc.getSession().getServletContext().getRealPath("/headImages");  
  23.  
  24.     File file = new File(headImages);  
  25.     //如果文件夾不存在,就創(chuàng)建  
  26.     if( !file.exists()){  
  27.      file.mkdirs();  
  28.     }  
  29.     try{  
  30.      //文件上傳核心代碼使用 commons-io-2.0.1.jar完成  
  31.      FileUtils.copyInputStreamToFile(ft.getInputStream(), new File(headImages+File.separator+ft.getFilename()));  
  32.      return true;  
  33.      }catch(Exception e){  
  34.      e.printStackTrace();  
  35.     }  
  36.     return false;  
  37.    }  

 原文鏈接:http://www.cnblogs.com/fd168/archive/2012/05/23/2515938.html

責任編輯:林師授 來源: 奮斗09的博客
相關推薦

2009-06-26 13:46:13

Struts

2009-06-03 15:57:29

Struts1.2動態(tài)多文件

2009-06-08 16:44:00

Struts2文件上傳

2011-06-09 15:44:29

Spring

2009-07-20 16:51:59

Struts2.0+i

2009-06-19 10:00:37

Struts和Spri

2011-03-02 10:04:40

SSHDMR

2009-06-25 15:50:03

Struts2教程上傳任意多個文件

2009-06-04 09:41:50

struts2上傳文件

2009-02-04 14:00:59

2009-07-20 17:01:11

Struts2.0+i

2021-06-01 05:15:36

JavaScript 前端大文件并發(fā)上傳

2009-07-14 17:20:31

Webwork文件上傳

2010-07-30 16:04:17

Flex2struts

2009-06-03 14:19:34

Struts2Guice

2011-09-14 09:20:03

PhonegapAndroid平臺

2009-11-16 10:40:02

PHP上傳文件代碼

2021-04-15 12:30:18

ServletSpringMVC 版本

2009-09-21 17:10:14

struts Hibe

2009-03-06 14:34:31

StrutsHibernateSpring
點贊
收藏

51CTO技術棧公眾號