参考网上设置和dwr3的例子,做一个文件上传的小东西,但是发现有问题
dwr.xml 和web.xml的配置不再多说。
js:
<head>
<script type='text/javascript' src='/sxnicoa/dwr/engine.js'> </script>
<script type='text/javascript' src='/sxnicoa/dwr/util.js'> </script>
<script type='text/javascript' src='/sxnicoa/dwr/interface/DwrUpload.js'></script>
<script type="text/javascript">
function uploadFiles() {
var file = dwr.util.getValue('uploadImage');
DwrUpload.uploadImage(file,function(data) {
dwr.util.setValue('image', data);
});
}
</script>
html:
<table class="plain grey form">
<tr>
<th>Image:</th>
<td><input type="file" id="uploadImage" size="30"/></td>
</tr>
<tr>
<th>File:</th>
<td><input type="file" id="uploadFile" size="30"/></td>
</tr>
<tr>
<th>Color:</th>
<td>#<input type="text" id="color" value="FFFFFF" size="7"/></td>
</tr>
<tr>
<th></th>
<td>
<button onclick="uploadFiles()">Upload</button>
</td>
</tr>
</table>
<img id="image" src="javascript:void(0);"/>
java:
public class DwrUpload {
private static Logger logger = LoggerFactory.getLogger(DwrUpload.class);
public void uploadFile(String uploadFile) {
logger.debug("uploadFile==="+uploadFile);
}
public BufferedImage uploadImage(BufferedImage uploadImage)
{
logger.debug("uploadImage==="+uploadImage);
AffineTransform atx = new AffineTransform();
atx.scale(200d / uploadImage.getWidth(), 200d / uploadImage.getHeight());
// AffineTransformOp.TYPE_BILINEAR is very slow
AffineTransformOp afop = new AffineTransformOp(atx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
uploadImage = afop.filter(uploadImage, null);
return uploadImage;
}
}
如果上传页面是html则上传没问题,即不使用struts2的过滤器,不经过struts2的拦截器,如果上传页面改为jsp,即在struts2的框架内,则提示错误"Failed to find parameter: scriptSessionId"。
问题已解决:需注意的地方是java方法中的参数必须是BufferedImage,InputStream,FileTransfer三种中其中一个,一般推荐使用FileTransfer,可以获取文件名、文件类型、和内置的inputStream。
再有web.xml配置的struts2 filter-mapping不能为/*
可以设置成:
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.jspa</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
分享到:
相关推荐
在这个场景中,我们关注的是DWR的三个不同版本的JAR文件:dwr2.0.5.jar、dwr2.0.6.jar以及dwr3.rc1.jar。 1. **DWR 2.0.x 版本**: DWR 2.0.x 是DWR的一个较早版本系列,其中2.0.5和2.0.6是两个连续的小版本更新。...
1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...
### Struts1.x、Spring2.x、Hibernate3.x 和 DWR2.x 整合知识点解析 #### 一、Struts1.x与Spring2.x的整合 **1.1 在web.xml中进行Struts和Spring的配置** 为了实现Struts1.x与Spring2.x的无缝集成,首先需要在...
dwr包.rar dwr.jar engine.js util.js dwr-noncla.jar ...Sources: dwr-3.0.0.116.rc1-src.zip (71Mb) See also the sources from SVN Non-CLA JAR: dwr-noncla.jar (15.8kb) Code that we don't have a CLA for
struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885
本主题聚焦于一个经典的Java企业级应用架构:Spring 2.5、iBatis 2.3、Struts 2.1 和 DWR 3 的整合,以及使用注解(Annotation)进行配置。这四个组件的结合可以构建出一个功能强大、可扩展性好、易于维护的Web应用...
1. **配置文件**:如struts2的struts.xml,Spring的applicationContext.xml,Hibernate的hibernate.cfg.xml,以及DWR的dwr.xml。 2. **模型类(Model)**:由Hibernate管理的Java实体类,代表数据库表。 3. **控制器...
1、 导入dwr.jar包 2、 在web.xml中配置dwr,如下: <!-- 配置DWR --> <servlet-name>dwr-invoker org.directwebremoting.servlet.DwrServlet <init-param> <param-name>debug</param-name> ...
DWR3.x是DWR的一个版本,提供了许多增强的功能和改进,使得开发人员能够更方便地构建动态、交互式的Web应用。 在这个"Dwr3.x demo 实例 例子"中,我们可以学习到以下几个关键知识点: 1. **反转Ajax**:DWR的核心...
### dwr与struts2 #### Struts2的Ajax支持介绍 **Struts2** 是一个流行的MVC(Model-View-Controller)架构框架,它主要用于构建Java Web应用程序。Struts2提供了强大的功能来帮助开发者简化开发流程并提高效率。...
DWR初学者专题,有详细笔记。 DWR很轻松就学会。 取得dwr的dwr.jar包和其他dwr所需的其他jar包 web.xml dwr.xml 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,。。 有几个术语有必要理解,参数叫做...
1. **远程方法调用**:DWR实现了远程方法调用的机制,使得客户端可以像调用本地方法一样调用服务器端的方法,极大地简化了Ajax编程的复杂度。 2. **序列化与反序列化**:为了在客户端和服务器端之间传输数据,DWR...
Struts2和Direct Web Remoting (DWR)是两种在Web开发中常用的技术,它们分别在MVC(Model-View-Controller)框架和Ajax交互方面发挥重要作用。在本项目"Struts2_Dwr"中,我们将看到如何整合这两个工具来实现一个登录...
### Struts1.3+Spring3.0+Hibernate3.3+DWR2.X框架集成文档v1.4 #### 整合Spring与Struts ##### 1. 在web.xml中进行Struts和Spring的配置 为了实现Struts与Spring框架的集成,在`web.xml`文件中需要进行以下配置...
1. **dwr.jar**:这是DWR的核心库,包含了所有DWR运行所需的类和接口。它提供了各种API,使得开发者可以在客户端JavaScript中调用服务器端的Java方法,以及处理服务器推送的数据。DWR.jar还包含了自动转换工具,可以...
3. **安全**:DWR内置了安全性机制,如CORS(跨源资源共享)和CSRF(跨站请求伪造)防护,确保只有授权的请求才能执行服务器端的方法。 4. **客户端调用**:在HTML页面中,通过引入`engine.js`,开发者可以使用...
综上所述,小飞兔整站下载V2.1是一款强大的网站资源下载工具,结合了智能分析和全面下载的特性,配合丰富的第三方库支持,确保了用户能够高效、完整地保存和本地浏览任意网站。无论是为了备份重要网站、离线学习还是...
在这个“dwr.rar”压缩包中,包含了一些关于DWR与Struts2框架整合使用的示例,对于学习和理解DWR在实际项目中的应用非常有帮助。 DWR的核心功能在于它提供了一种安全、高效的机制,使得前端JavaScript可以直接调用...
Struts2和Direct Web Remoting (DWR) 是两种在Web开发中常用的技术。Struts2是一个基于MVC设计模式的Java EE框架,用于构建可维护性和可扩展性高的企业级应用程序,而DWR则是一种使得JavaScript可以调用服务器端Java...
dwr-1.1.3.jar及dwr.xml. dwr-1.1.3与dwr-2.0的dwr.xml略有区别: dwr-1.1.3 <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...