Struts2.3.1中整合DWR3.0 实现文件上传
步骤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请求但是创建一个新的实例
4. javascript="DWRService"表示页面通过什么名字来对应调用你的java类提供服务
5. <createcreator="new"javascript="DWRService">
6. 指定为前台提供服务的java类 这里的DWRDemo类在页面使用的时候使用DWRService调用
7. java类就是一个普通的java类
8. <paramname="class"value="org.fd.dwr.DWRDemo"></param>
9.
10. </create>
11. </allow>
12. </dwr>
步骤4:
必须引入依赖的js文件一般有2个ajax 核心引擎
1. <scripttype='text/javascript'src='/dwr/engine.js'></script>
对应 在步骤3:中定义的 javascript="DWRService" 关联的java类
1. <scripttype='text/javascript'src='/dwr/interface/DWRService.js'></script>
可选引入依赖
提供一些方便的工具方法的使用
1. <scripttype='text/javascript'src='/dwr/util.js'></script>
步骤5:
使用
DWRService.sayHello(参数 , 如果有返回,回调方法 )
代码如下:html代码
1. <scripttype='text/javascript'src='/dwr/engine.js'></script>
2. <scripttype='text/javascript'src='/dwr/util.js'></script>
3. <scripttype='text/javascript'src='/dwr/interface/DWRService.js'></script>
4.
5.
6. <scriptlanguage="JavaScript">
7.
8. //dwr文件上传
9. varup=function(){
10. varheadf=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. <imgsrc="images/angel.jpg"id="headimage">
24. <inputtype="file"name="headfile"id="headfile">
25. 用户名:<inputtype="text"name="name"id="name"onblur="up()">
26. <inputtype="button"value="上传头像"onclick="up()"/>
27. </body>
28. </html>
dwr.xml配置
1. <dwr>
2. <allow>
3. <createcreator="new"javascript="DWRService">
4. <paramname="class"value="org.fk.dwr.DWRDemo"></param>
5. </create>
6. </allow>
7. </dwr>
java代码如下:
1. importjava.io.File;
2. importorg.apache.commons.io.FileUtils;
3. importorg.directwebremoting.WebContext;
4. importorg.directwebremoting.WebContextFactory;
5. importorg.directwebremoting.io.FileTransfer;
6.
7. publicclassDWRDemo{
8. publicStringsayHello(Stringname){
9. System.out.println("欢迎您:"+name);
10. return"欢迎您:"+name;
11. }
12.
13. /**
14. *dwr文件上传
15. *@paramftFileTransfer封装类前台js提交的文件数据
16. *@return
17. */
18. publicbooleanheadUp(FileTransferft){
19.
20. WebContextwc=WebContextFactory.get();
21. //获得应用路径
22. StringheadImages=wc.getSession().getServletContext().getRealPath("/headImages");
23.
24. Filefile=newFile(headImages);
25. //如果文件夹不存在,就创建
26. if(!file.exists()){
27. file.mkdirs();
28. }
29. try{
30. //文件上传核心代码使用commons-io-2.0.1.jar完成
31. FileUtils.copyInputStreamToFile(ft.getInputStream(),newFile(headImages+File.separator+ft.getFilename()));
32. returntrue;
33. }catch(Exceptione){
34. e.printStackTrace();
35. }
36. returnfalse;
37. }
38. }
分享到:
相关推荐
此附件是:Spring3.1+Hibernate4.0+Struts2.3.1 使用annotation的零配置项目.部分功能已实现.虽然已经实现了功能.但有些原理,还待大家一起研讨.
Struts2.3.1与Spring3.1整合时需要的jar包:亲身实践过,实践例子分开上传了
Struts2.3.1与EasyUI1.2.5的整合
Struts2.3.1.chm
struts2.3.1的lib里的各个jar包
Spring4.0+Hibernate4.0+Struts2.3整合案例:实现增删改查。 ===================== application.xml: xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
struts2.3.1的一些必要jar包
最新struts2工具包,struts2.3.1基础开发包
struts2.3.1帮助文档chm格式
Struts2.3.1-标签大全英文版
呵呵, 刚刚学会的方法,在myeclipse里面自己生成的struts2.3.1帮助文档,chm格式
struts2.3.1官方jar包
struts2.3.1源代码 直接可以关联到eclipse
struts2.3.1官方文档 删除了src 以及app 下除了blank的war包,以及一些说明文件
这是最新版的struts2.3.1(2011年12月12日发布)的chm文档,这个版本也是最佳可用版本,这个chm花了本人好长时间才才弄出来,欢迎大家下载
struts2 2.3.1查阅。。。。。。。。。。。。。。。。。。
android使用nanohttpd搭建httpserver实现文件上传及HTML5播放视频,亲测可用。 内含最新nanohttpd-all-2.3.1.jar,直接下载代码引入到eclipse就能用。HTML5播放使用的时候,需要把工程的movie.mp4拷贝到SD卡根目录下...
Spring3.0.2_API + Struts2.3.1_API + Hibernate3.2_API帮助文档,祝您拿下Java三大框架。
struts-2.3.1.zip.003 struts2.3.1全包
struts-2.3.1.zip.001struts2.3.1全包