刚学习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之间的通信是Web应用程序开发中的一个重要环节,它允许前端用户界面(UI)与后端服务器进行数据交互。Flex是一种基于Adobe Flash Player或Adobe AIR运行时的富互联网应用程序(RIA)开发框架,而Java则是...
在Flex中,`HTTPService`组件是用于与服务器进行数据交换的重要工具,特别是对于与Java后台进行通信时。本篇文章将深入探讨Flex与Java后台通过`HTTPService`通信的原理、配置和实践。 1. **HTTPService组件介绍** ...
在Flex开发中,HTTPService是用于与服务器进行异步HTTP通信的重要组件,它可以用来发送GET或POST请求到指定的Web服务接口。当我们需要向后台传递参数时,有多种方法可以实现,这里主要介绍两种常见的方法。 ### ...
本篇文章将深入探讨如何利用Flex 4.0中的HttpService和WebService组件与Java Struts2框架构建的服务器进行通信。 首先,我们来看HttpService。HttpService是ActionScript 3.0中的一个类,用于发起HTTP请求,通常...
Flex与Java之间的通信是Web应用程序开发中的常见需求,特别是在构建富客户端应用时。本文将详细介绍如何使用Flex的HTTPService组件与Java服务进行交互,并获取Java端的返回值。首先,让我们了解一下Flex和Java通信的...
Flex与Java之间的通信是开发富互联网应用程序(RIA)时经常遇到的一个重要技术问题。Flex作为Adobe推出的基于ActionScript的开放源代码框架,主要用于构建交互性强的用户界面,而Java则是一种广泛使用的后端开发语言...
本文档主要介绍了如何将Adobe Flex与Java JSP结合,并利用HTTPService与Java后端通过XML进行通信。Flex是一种用于构建富互联网应用程序(RIA)的开发框架,而JSP则是Java服务器页面,常用于创建动态网页。在本过程中...
3. **调用服务**:在Flex中,通过ActionScript方法调用服务器端的服务,传递参数并接收响应。AMF自动处理序列化和反序列化过程。 4. **处理结果**:接收到Java服务返回的数据后,Flex可以更新UI或其他业务逻辑。 5...
在Java开发中,Flex HttpService是一个强大的工具,用于在Adobe Flex客户端与服务器之间进行数据通信。这个服务允许Flex应用程序通过HTTP协议发送请求到后端服务器,并接收响应数据。本篇文章将深入探讨如何在Java...
Flex与Java之间的通信是开发跨平台应用程序时的关键技术,它允许客户端(通常为Flex应用程序)与服务器端(通常是Java应用程序)进行数据交换。本篇将深入探讨几种主要的通信方式:URLLoader,HTTPService和Socket。...
这个"flex与java集成"的压缩包文件提供了一个适合初学者学习的例子,让我们深入探讨一下Flex与Java如何进行通信。 1. **Flex与Java通信的基础概念** - **Flex**:基于Adobe Flash Player或Adobe AIR运行的富客户端...
在本文中,我们将探讨如何将FLEX(Flash Flex)与JSP(JavaServer Pages)结合,以及如何利用HTTPService和XML进行通信。这个过程涉及到多个步骤,包括项目设置、库的集成以及配置文件的调整。 首先,我们需要创建...
Flex4与Java通信是开发富互联网应用程序(RIA)时的一项重要技术,允许前端用户界面与后端业务逻辑之间进行高效的数据交换。在本实例中,我们探讨了三种Flex4与Java交互的方式:通过RemoteObject、HTTPService以及...
这个"java+flex通信源码"项目提供了一个实际的、完整的示例,演示了如何利用BlazeDS技术实现Java后端与Flex前端的无缝交互。下面我们将深入探讨相关的知识点。 首先,Flex是一种基于ActionScript的开放源代码框架,...
在本文中,我们将深入探讨如何使用Flex 4与Java进行通信,并通过三种不同的方法实现这一目标:RemoteObject、HTTPService和WebService。 1. Flex与普通Java类通信:RemoteObject RemoteObject是Flex中用于与远程...
总结来说,Flex与Java通过实体传递数据是一个关键的跨平台开发技术,它涉及到ActionScript与Java之间的接口设计、数据序列化与反序列化、以及网络通信协议的选择。掌握这一技术对于开发分布式应用程序,尤其是需要高...