DWR+Ajax+Struts实现文件上传进度条教程

需积分: 6 5 下载量 191 浏览量 更新于2024-09-13 收藏 51KB DOC 举报
"这篇资源是关于如何使用DWR(Direct Web Remoting)+Ajax和Struts框架来开发文件上传进度条功能的教程,适合初学者。文档提供了完整的源码示例,可以从指定链接下载。主要涉及的技术包括DWR用于后台与前端的通信,Ajax处理异步请求,以及Struts负责业务逻辑和表单处理。用户需要解压下载的war文件,修改相应的配置文件以适应自己的Struts应用。" 在这个项目中,开发者利用DWR、Ajax和Struts创建了一个文件上传进度条,提供了一种直观的方式来显示文件上传的状态。DWR是一种让Java和JavaScript进行实时交互的技术,它使得Web应用程序能够像桌面应用一样更新页面,而无需刷新整个页面。 首先,你需要从提供的链接下载一个名为`ajax-upload-1.0.war`的文件,这是一个预打包的应用程序。通过在命令行中使用`jar xvf ajax-upload-1.0.war`命令来解压这个WAR包,源代码会位于解压后的`\WEB-INF\src`目录下。 在解压后的文件中,`index.jsp`是上传文件的前端页面,而`upload.jsp`负责处理文件上传的后端逻辑。`resources`文件夹下的脚本用于DWR和服务器之间的通信。你需要将`index.jsp`中的表单提交动作(action)更改为你的Struts action,同时将表单中的文件输入字段(file)名称与你在Struts ActionForm中的文件属性对应起来。 以下是一个简单的`index.jsp`页面代码示例: ```html <%@page contentType="text/html;charset=gb2312" language="java" import="java.util.*" errorPage=""%> <% String path = request.getContextPath(); %> <html locale="true"> <head> <SCRIPT language=javascript> // JavaScript 代码用于检查文件是否选择,启动进度条等 </SCRIPT> </head> <body> <form action="你的StrutsAction" method="post" enctype="multipart/form-data"> <input type="file" name="你的file属性名" onchange="check_file();"> <!-- 其他表单元素 --> <input type="submit" value="上传"> </form> </body> </html> ``` 此外,`index.jsp`中的JavaScript函数`check_file()`用于验证用户是否选择了文件,如果未选择则弹出警告。`loadmessage()`函数则用来显示服务器返回的消息,例如文件上传成功或失败的信息。 为了使这个示例在你的项目中工作,你需要确保正确配置了DWR的`dwr.xml`文件,以便它知道如何处理与文件上传相关的Java方法调用。同时,不要忘记将所有必需的JAR库添加到你的项目类路径中,这些库通常位于解压后的`lib`目录下。 这个资源提供了一个实践性的教程,帮助开发者了解如何集成DWR、Ajax和Struts来创建一个功能完善的文件上传进度条,这对于构建交互性更强的Web应用非常有用。