`
Kevin_Shen
  • 浏览: 16388 次
社区版块
存档分类
最新评论

Flex与java基于HttpService通信的中文参数传递乱码问题

    博客分类:
  • Flex
阅读更多

 

    刚学习Flex,在开始学习Flex的Remote通信时,似乎没有遇到后台java与前台flex通信

 

的编码问题,前俩天在维护一个系统时终于碰到了: 开始客户端使用的是get方式传递中文

 

数,在配置了Tomcat服务器的conf文件下server.xml中服务器的编码为utf-8后,仍不行,

 

后来在把get方式换成post方式时,程序调试成功,代码如下:

 

 

 //u为url字符串,/doLoad为一个servlet的url pattern	
  var u:String ="http://localhost:8080/TestProject/doLoad”; 
  var request:URLRequest = new URLRequest(u); 
  request.method = URLRequestMethod.POST;
   var vars: URLVariables = new URLVariables (); 
   vars["file"] = filePath; //把参数键,值对放到vars对象中. filePath含有中文 
   request.data = vars; 
   //myFile是自己定义的一个FileReference,Flex的一个负责上传或者下载的类 
   myFile.upload(request,param,false);
    myFile.addEventListener(ProgressEvent.PROGRESS,onProcess);
    myFile.addEventListener(Event.COMPLETE,onComplete);

 


而后发现用Get方式传递,其实只需要对参数进行Url的格式转换便正确,代码如下 

 

 

 

 var u:String="http://localhost:8080/TestProject/doLoad?file= "+encodeURIComponent(filePath); 
   
 var request:URLRequest = new URLRequest(u); 
   
 request.method = URLRequestMethod.GET; 

  myFile.upload(request,param,false);	
     
  myFile.addEventListener(ProgressEvent.PROGRESS,onProcess); 
   
  myFile.addEventListener(Event.COMPLETE,onComplete);

 

 

  因为Tomcat已经配置编码为utf-8,所以在servlet端对get的参数的获取就不需要进行解码

 

了, 如果没有配置服务器编码则需要解码:

 

 

 

 	filename = request.getParameter("file");
	
     	//如果没有对tomcat的默认字符编码配置则需要如下url解码信息 
     	filename= java.net.URLDecoder.decode(filename,"UTF-8");  

 

 

这也是flex的HttpServices通信(Get和Post方式)的差异吧。

 

 

分享到:
评论

相关推荐

    flex与java通信

    Flex和Java之间的通信是Web应用程序开发中的一个重要环节,它允许前端用户界面(UI)与后端服务器进行数据交互。Flex是一种基于Adobe Flash Player或Adobe AIR运行时的富互联网应用程序(RIA)开发框架,而Java则是...

    flex与httpService通信(java)

    在Flex中,`HTTPService`组件是用于与服务器进行数据交换的重要工具,特别是对于与Java后台进行通信时。本篇文章将深入探讨Flex与Java后台通过`HTTPService`通信的原理、配置和实践。 1. **HTTPService组件介绍** ...

    Flex HTTPService如何给后台传递参数 .doc

    在Flex开发中,HTTPService是用于与服务器进行异步HTTP通信的重要组件,它可以用来发送GET或POST请求到指定的Web服务接口。当我们需要向后台传递参数时,有多种方法可以实现,这里主要介绍两种常见的方法。 ### ...

    Flex4.0 如何通过 HttpService和WebService与服务器进行通信

    本篇文章将深入探讨如何利用Flex 4.0中的HttpService和WebService组件与Java Struts2框架构建的服务器进行通信。 首先,我们来看HttpService。HttpService是ActionScript 3.0中的一个类,用于发起HTTP请求,通常...

    flex httpservice 和 java通信 获取 java端的返回值

    Flex与Java之间的通信是Web应用程序开发中的常见需求,特别是在构建富客户端应用时。本文将详细介绍如何使用Flex的HTTPService组件与Java服务进行交互,并获取Java端的返回值。首先,让我们了解一下Flex和Java通信的...

    Flex与java通讯

    Flex与Java之间的通信是开发富互联网应用程序(RIA)时经常遇到的一个重要技术问题。Flex作为Adobe推出的基于ActionScript的开放源代码框架,主要用于构建交互性强的用户界面,而Java则是一种广泛使用的后端开发语言...

    FLEX与JSP结合并测试HTTPService与java用XML通信.doc

    本文档主要介绍了如何将Adobe Flex与Java JSP结合,并利用HTTPService与Java后端通过XML进行通信。Flex是一种用于构建富互联网应用程序(RIA)的开发框架,而JSP则是Java服务器页面,常用于创建动态网页。在本过程中...

    flex与java通信的完整demo

    3. **调用服务**:在Flex中,通过ActionScript方法调用服务器端的服务,传递参数并接收响应。AMF自动处理序列化和反序列化过程。 4. **处理结果**:接收到Java服务返回的数据后,Flex可以更新UI或其他业务逻辑。 5...

    java 中使用Flex的HttpService的详细配置

    在Java开发中,Flex HttpService是一个强大的工具,用于在Adobe Flex客户端与服务器之间进行数据通信。这个服务允许Flex应用程序通过HTTP协议发送请求到后端服务器,并接收响应数据。本篇文章将深入探讨如何在Java...

    flex与java通讯,URL,HTTPService,Socket

    Flex与Java之间的通信是开发跨平台应用程序时的关键技术,它允许客户端(通常为Flex应用程序)与服务器端(通常是Java应用程序)进行数据交换。本篇将深入探讨几种主要的通信方式:URLLoader,HTTPService和Socket。...

    flex与java通信的小例子,适合初学者

    这个"flex与java集成"的压缩包文件提供了一个适合初学者学习的例子,让我们深入探讨一下Flex与Java如何进行通信。 1. **Flex与Java通信的基础概念** - **Flex**:基于Adobe Flash Player或Adobe AIR运行的富客户端...

    FLEX与JSP结合并测试HTTPService与java用XML通信

    在本文中,我们将探讨如何将FLEX(Flash Flex)与JSP(JavaServer Pages)结合,以及如何利用HTTPService和XML进行通信。这个过程涉及到多个步骤,包括项目设置、库的集成以及配置文件的调整。 首先,我们需要创建...

    flex4与Java通信实例

    Flex4与Java通信是开发富互联网应用程序(RIA)时的一项重要技术,允许前端用户界面与后端业务逻辑之间进行高效的数据交换。在本实例中,我们探讨了三种Flex4与Java交互的方式:通过RemoteObject、HTTPService以及...

    java+flex通信源码

    这个"java+flex通信源码"项目提供了一个实际的、完整的示例,演示了如何利用BlazeDS技术实现Java后端与Flex前端的无缝交互。下面我们将深入探讨相关的知识点。 首先,Flex是一种基于ActionScript的开放源代码框架,...

    Flex与Java的交互

    在本文中,我们将深入探讨如何使用Flex 4与Java进行通信,并通过三种不同的方法实现这一目标:RemoteObject、HTTPService和WebService。 1. Flex与普通Java类通信:RemoteObject RemoteObject是Flex中用于与远程...

    Flex与Java通过实体传递数据

    总结来说,Flex与Java通过实体传递数据是一个关键的跨平台开发技术,它涉及到ActionScript与Java之间的接口设计、数据序列化与反序列化、以及网络通信协议的选择。掌握这一技术对于开发分布式应用程序,尤其是需要高...

Global site tag (gtag.js) - Google Analytics