`
wowlinda80
  • 浏览: 62069 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

DWR3rc1跟Struts2.1.x配合 上传问题

    博客分类:
  • JAVA
阅读更多
参考网上设置和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>
分享到:
评论
1 楼 limingnihao 2011-06-08  
我用SpringMVC,filter-mapping设为*.do,java方法参数为BufferedImage,弄了一下午就是不好使;
IE还是报Failed to find parameter: scriptSessionId。
谷歌报engine.js内的Cannot set property 'batch' of null。
郁闷了。

相关推荐

    dwr2.0.5.jar&dwr2.0.6.jar&dwr3.rc1.jar

    在这个场景中,我们关注的是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是两个连续的小版本更新。...

    DWR+jquery2.x+easyUI1.3.x开发富客户端应用

    1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...

    Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00

    ### 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 readme.txt

    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配置 集成

    struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885

    spring2.5 ibatis2.3 struts2.1 dwr3 annotation集成配置

    本主题聚焦于一个经典的Java企业级应用架构:Spring 2.5、iBatis 2.3、Struts 2.1 和 DWR 3 的整合,以及使用注解(Annotation)进行配置。这四个组件的结合可以构建出一个功能强大、可扩展性好、易于维护的Web应用...

    struts2.1spring2.5hibernate3DWR

    1. **配置文件**:如struts2的struts.xml,Spring的applicationContext.xml,Hibernate的hibernate.cfg.xml,以及DWR的dwr.xml。 2. **模型类(Model)**:由Hibernate管理的Java实体类,代表数据库表。 3. **控制器...

    dwr源码包,dwr.jar包下载

    1、 导入dwr.jar包 2、 在web.xml中配置dwr,如下: &lt;!-- 配置DWR --&gt; &lt;servlet-name&gt;dwr-invoker org.directwebremoting.servlet.DwrServlet &lt;init-param&gt; &lt;param-name&gt;debug&lt;/param-name&gt; ...

    dwr3.x demo 实例 例子

    DWR3.x是DWR的一个版本,提供了许多增强的功能和改进,使得开发人员能够更方便地构建动态、交互式的Web应用。 在这个"Dwr3.x demo 实例 例子"中,我们可以学习到以下几个关键知识点: 1. **反转Ajax**:DWR的核心...

    dwr与struts2

    ### dwr与struts2 #### Struts2的Ajax支持介绍 **Struts2** 是一个流行的MVC(Model-View-Controller)架构框架,它主要用于构建Java Web应用程序。Struts2提供了强大的功能来帮助开发者简化开发流程并提高效率。...

    DWR,web.xml,dwr.xml,converted,created

    DWR初学者专题,有详细笔记。 DWR很轻松就学会。 取得dwr的dwr.jar包和其他dwr所需的其他jar包 web.xml dwr.xml 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,。。 有几个术语有必要理解,参数叫做...

    DWR中文文档......

    1. **远程方法调用**:DWR实现了远程方法调用的机制,使得客户端可以像调用本地方法一样调用服务器端的方法,极大地简化了Ajax编程的复杂度。 2. **序列化与反序列化**:为了在客户端和服务器端之间传输数据,DWR...

    Struts2_Dwr.rar_Struts2_Dwr_dwr_struts2 dwr

    Struts2和Direct Web Remoting (DWR)是两种在Web开发中常用的技术,它们分别在MVC(Model-View-Controller)框架和Ajax交互方面发挥重要作用。在本项目"Struts2_Dwr"中,我们将看到如何整合这两个工具来实现一个登录...

    Struts1.3+Spring3.0+Hibernate3.3+DWR2.X框架集成文档v1.4

    ### Struts1.3+Spring3.0+Hibernate3.3+DWR2.X框架集成文档v1.4 #### 整合Spring与Struts ##### 1. 在web.xml中进行Struts和Spring的配置 为了实现Struts与Spring框架的集成,在`web.xml`文件中需要进行以下配置...

    dwr配置所需jar包 dwr.jar bsf.jar jdom.jar jsf-api.jar

    1. **dwr.jar**:这是DWR的核心库,包含了所有DWR运行所需的类和接口。它提供了各种API,使得开发者可以在客户端JavaScript中调用服务器端的Java方法,以及处理服务器推送的数据。DWR.jar还包含了自动转换工具,可以...

    dwr.jar engine.js util.js,Dwr相关

    3. **安全**:DWR内置了安全性机制,如CORS(跨源资源共享)和CSRF(跨站请求伪造)防护,确保只有授权的请求才能执行服务器端的方法。 4. **客户端调用**:在HTML页面中,通过引入`engine.js`,开发者可以使用...

    小飞兔整站下载V2.1.zip

    综上所述,小飞兔整站下载V2.1是一款强大的网站资源下载工具,结合了智能分析和全面下载的特性,配合丰富的第三方库支持,确保了用户能够高效、完整地保存和本地浏览任意网站。无论是为了备份重要网站、离线学习还是...

    dwr.rar_ajax d_dwr_dwr ajax_dwr struts2 example_struts2 ajax dwr

    在这个“dwr.rar”压缩包中,包含了一些关于DWR与Struts2框架整合使用的示例,对于学习和理解DWR在实际项目中的应用非常有帮助。 DWR的核心功能在于它提供了一种安全、高效的机制,使得前端JavaScript可以直接调用...

    Struts2+DWR的简单实现

    Struts2和Direct Web Remoting (DWR) 是两种在Web开发中常用的技术。Struts2是一个基于MVC设计模式的Java EE框架,用于构建可维护性和可扩展性高的企业级应用程序,而DWR则是一种使得JavaScript可以调用服务器端Java...

    dwr-1.13.jar及dwr.xml

    dwr-1.1.3.jar及dwr.xml. dwr-1.1.3与dwr-2.0的dwr.xml略有区别: dwr-1.1.3 &lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...

Global site tag (gtag.js) - Google Analytics