- 浏览: 3009250 次
- 性别:
- 来自: 河南
文章分类
- 全部博客 (340)
- Java综合 (26)
- 程序人生 (53)
- RIA-ExtJS专栏 (18)
- RIA-mxGraph专栏 (4)
- RIA-Flex4专栏 (43)
- 框架-Spring专栏 (16)
- 框架-持久化专栏 (22)
- 框架-Struts2专栏 (11)
- 框架-Struts专栏 (12)
- SQL/NOSQL (12)
- 报表/图表 (2)
- 工作流 (5)
- XML专栏 (4)
- 日常报错解决方案 (5)
- Web前端-综合 (12)
- Web/JSP (14)
- Web前端-ajax专栏 (14)
- Web前端-JQuery专栏 (9)
- IDE技巧 (6)
- FILE/IO (14)
- 远程服务调用 (2)
- SSO单点登录 (2)
- 资源分享 (22)
- 云计算 (1)
- 项目管理 (3)
- php专栏 (1)
- Python专栏 (2)
- Linux (1)
- 缓存系统 (1)
- 队列服务器 (1)
- 网络编程 (0)
- Node.js (1)
最新评论
-
hui1989106a:
我的也不能解压,360和好压都试了,都不行
《Spring in Action》完整中文版分享下载 -
temotemo:
这些example有些过时了,官方建议使用HBase-1.0 ...
Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询 -
zy8102:
非常感谢~
HeadFirst系列之七:《深入浅出SQL》原版高清PDF电子书分享下载 -
zy8102:
重命名了一下搞定了
HeadFirst系列之七:《深入浅出SQL》原版高清PDF电子书分享下载 -
zy8102:
为什么下载以后老解压不了呢?
HeadFirst系列之七:《深入浅出SQL》原版高清PDF电子书分享下载
这次说的URLRequest是ActionScript和服务端通信的最基本方式
要实现ActionScript与服务端交互, 首先必须知道以下几个类:
URLRequest类
记录请求服务端的URL信息, 给URLLoader进行发送操作.
URLVariables类
保存向服务端请求所需的参数, 一般用于POST方式传输,GET方式传输不需要使用.
URLRequestMethod类
该类只有两个静态常量值, 一个是POST, 一个是GET, 可以把它当作是一个枚举类型, 用于指定URL请求时使用POST方式或是GET方式.
URLLoader类
真正与服务端打交道的类, 通过load方法把一个Reuqest发送给服务端, 在load之前必须给该对象添加一个Complete事件的监听器,接收服务器返回的信息. 传输过程中有可能产生IO错误, 有必要时可以为该对象添加IOError监听器.
例子:
var request: URLRequest = new URLRequest("http://localhost");
//默认为URLRequestMethod.GET, 若使用GET方式可以不指定
request.method = URLRequestMethod.POST;
//创建一个参数变量对象,用于保存所有向服务发送的参数数据, GET方式可以不使用
var vars: URLVariables = new URLVariables ();
vars["varName"] = varValue; //把参数键,值对放到vars对象中.
vars["var2Name"] = var2Value;
request.data = vars; //把参数对象放进Request对象中作为参数
// 通过request对象创建一个loader,
var loader: URLLoader = new URLLoader(request);
事件及返回值的处理
loader.addEventListener( //给loader对象添加完成时的监听器.
Event.COMPLETE,
function(e: Event):void //临时定义一个监听器
{
//服务端返回的数据是保存在loader的data里,通过以下语句可以得到
trace(URLLoader(e.target).data );//在监听器里处理服务端返回的数据
//complete
// process the data;
}
);
loader.addEventListener( //IOError监听器
IOErrorEvent.IO_ERROR,
//临时监听器,IO错误的处理在该函数中处理
function(e: IOErrorEvent): void {/* process the err;*/}
);
loader.load(request);//把request对象发送到服务端.当请求完成,则会自动触发COMPLETE事件
下面写一个具体的代码示例
mxml的具体代码
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.utils.URLUtil;
protected function myFlex_resultHandler(event:ResultEvent):void
{
var name:String=event.result as String;
Alert.show(name);
}
// protected function btnSend_clickHandler(event:MouseEvent):void
// {
//
// myFlex.sayHello(txtName.text);
// }
protected function button1_clickHandler(event:MouseEvent):void
{
var v:URLVariables = new URLVariables("name=jacky&age=35&address=HongKong China");
/*
也可以是这种方式
var vars: URLVariables = new URLVariables ();
vars["varName"] = varValue; //把参数键,值对放到vars对象中.
vars["var2Name"] = var2Value;
*/
var r:URLRequest = new URLRequest();
r.url = "http://localhost:8080/Flex4BlazeDSWeb/test.do";
r.method = URLRequestMethod.POST;
r.data = v;
var l:URLLoader = new URLLoader();
l.load(r);
l.addEventListener(Event.COMPLETE,txtCompleteHandler); //注册请求完成后 响应获取数据事件方法
//labMsg.alpha = 1;
}
private function txtCompleteHandler(e:Event):void
{
var l:URLLoader = URLLoader(e.target);
/* URLUtil的stringToObject方法解释
从字符串返回对象。字符串包含 name=value 对,它们成为返回对象的动态属性。这些属性对由指定的 separator 分隔。该方法可转换数字、布尔值、数组(由“[]”定义)以及子类(由“{}”定义)。默认情况下,%XX 格式的 URL 模式将转换为相应的字符串字符。
例如:
var s:String = "name=Alex;age=21";
var o:Object = URLUtil.stringToObject(s, ";", true);
返回对象:{ name: "Alex", age: 21 }。
*/
//直接获取返回值内容: URLLoader(e.target).data
Alert.show(l.data);
var o:Object = URLUtil.stringToObject(l.data,";",true); //使用URLUtil对将数据进行反序列化以方便使用
txtName.text = o.name;
txtAge.text = o.age;
txtAddress.text = o.address;
//labMsg.alpha = 0;
}
]]>
</fx:Script>
<fx:Declarations>
<!--请把不可视的组件元素例如服务的,值对象的放在声明里面 Place non-visual elements (e.g., services, value objects) here
<s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)" />-->
</fx:Declarations>
<s:Panel x="77" y="35" width="198" height="231" title="www.accptecg.com flex4">
<s:TextInput x="47" y="102" id="txtAddress"/>
<s:TextInput x="47" y="72" id="txtAge"/>
<s:TextInput x="47" y="37" id="txtName"/>
<!--<s:Button x="168" y="38" label="发送" id="btnSend" click="btnSend_clickHandler(event)"/>-->
<s:Button x="47" y="154" label="按钮" click="button1_clickHandler(event)"/>
<s:Label x="0" y="47" text="Name"/>
<s:Label x="4" y="81" text="Age" height="13"/>
<s:Label x="4" y="115" text="Address" height="13"/>
</s:Panel>
</s:Application>
处理程序为
public class TestServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取URLResuest请求回的参数 返回数据用;分隔以方便Flex对数据进行序列化
String rs =new String("name="+request.getParameter("name")+";age="+request.getParameter("age")+";address="+request.getParameter("address"));
System.out.println(request.getParameter("name"));
response.setContentType("text/plain");
System.out.println(rs);
response.getWriter().write(rs);
//request.getRequestDispatcher("/index.jsp").forward(request, response);
}
}
好了,这次的URLRequest方式就到此为止了
发表评论
-
10条寒冷的冷笑话【心情不好的人,进来看看吧】
2010-08-27 12:24 25881、小明:我说话从来不说第2遍小华:什么?小明:我说话从来不说 ... -
Flex4之事件详解
2010-08-26 15:39 9813第一、Flex事件简介事 ... -
Flex4之DataGrid增删改同步数据库及页面数据示例总结
2010-08-20 10:35 10488有关Flex的DataGrid文章的确不少,都是零零碎碎的,目 ... -
全面认识Flex六大要素
2010-08-19 15:25 2147在学习Flex应用程序的 ... -
Flex4之将Sprite控件添加到FLEX UI中
2010-08-13 09:24 6008在Flex的帮助文档 ... -
Flex4之元数据标签使用
2010-08-09 16:04 4694Flex 元数据标签 1、[ArrayElementTy ... -
Flex4之关于Embed外部资源的使用方法总结
2010-08-09 14:20 8355Flex软件中经常需要使用一些外部的资源,如图片、声音、S ... -
Flex4之使用ActionScript构建组件
2010-08-09 13:37 4272因为是专门针对ActionScript来写的 ... -
Flex4之获取各种颜色RGB值的例子
2010-08-09 10:03 4441接下来的例子演示了Flex中如何将颜色的值转化为字符串,根据R ... -
Flex4之简单菜单制作
2010-08-04 11:45 3657首先呢说明一下,我写的这个菜单呢,为了符合我的项目需要没有用到 ... -
Flex4之关于循环注册事件问题
2010-08-03 15:02 2076首先呢,标题说的有些 ... -
关于FLEX特效的几个网址
2010-07-27 13:01 8188在Tourde FLEX的Data Visualization ... -
FLEX4之内存释放优化原则
2010-07-27 10:17 23141. 被删除对象在外部的所有引用一定要被删除干净才能被系统当成 ... -
Flex4之Filters的用法【模糊,炽热,阴影、齿条】
2010-07-23 14:51 5572先上效果图 具体代码 <?xml versio ... -
Flex4之四种事件处理方式
2010-07-23 14:36 2575首先我这个示例是针对按钮来说的,其实其他的组件大致也都一样 ... -
Flex4之皮肤定制【Skin类和Skin类】
2010-07-23 10:01 22335第一、关于spark.skin.SparkSkin类的 ... -
Flex4之为ToolTip设置旋转特效及字体
2010-07-22 16:21 5192没想到ToolTip一个提示标签也可以加上动画,看来Flex真 ... -
Flex4之在Aert提示框中加入超链接
2010-07-22 16:02 2297闲话不说,贴上代码 <?xml version=&qu ... -
Flex4之在button上显示HTML内容
2010-07-22 15:28 2766HTMLButton.as package myas { ... -
Flex4之添加插件实现代码格式化
2010-07-22 15:13 4384首先到http://sourceforge.net/proje ...
相关推荐
在Adobe Flash Professional CS5或更新版本的环境中,ActionScript 3(AS3)提供了一套强大的网络通信工具,包括`URLRequest`、`URLLoader`等类,这些类替代了早期版本中的`LoadVars`方法,使得与服务器的交互更加...
在ActionScript 3 (AS3)中,与服务器进行数据交互是Web开发中的核心部分,主要依赖于两个关键类:`URLRequest`和`URLLoader`。这两个类是Flash Player和Adobe AIR应用程序用来发送HTTP请求并接收响应的重要工具。...
总的来说,理解并掌握Flex与后台的交互方式对于开发高效、稳定的富互联网应用至关重要。无论选择HTTPService、WebService还是URLLoader,都需要结合实际需求,合理设计代码结构,确保良好的用户体验。
标题中的“Flex与Java低数据量通信”是指在ActionScript(Flex的主要编程语言)和Java之间进行少量数据交互的技术。这种通信通常用于实现客户端(Flex应用程序)和服务器端(Java应用)之间的轻量级通信,比如请求...
在Flex开发中,`URLLoader` 是一个非常重要的类,用于加载远程数据,如XML、JSON等。在本示例中,它被用来从服务器获取XML文件并将其内容解析为XML对象,以便在应用程序中使用。`Flex` 是Adobe开发的一个开放源代码...
标题中的“Flex使用JSON格式与Java通信”是指在开发富互联网应用程序(Rich Internet Application, RIA)时,采用Adobe Flex作为前端技术,通过JSON(JavaScript Object Notation)数据交换格式与后端Java服务器进行...
在Flex与服务器之间交换数据时,通常使用 BlazeDS 或 LCDS 作为中间层,它们支持AMF(Action Message Format)协议,提供高效的数据交换。XML文件大小可以通过解析XMLDocument对象的length属性得到,AMF文件则需要...
总结起来,本示例介绍了如何使用Flex客户端与Java服务器配合实现文件上传功能。在Flex中,通过FileReference类选择和上传文件;在Java端,使用Spring MVC的MultipartFile接口接收并处理上传的文件。这个过程涉及到...
HTTPService是Flex提供的一种用于与Web服务器进行异步通信的组件,它基于HTTP协议。以下是如何使用HTTPService来获取并解析XML数据的步骤: (1)导入必要的库: ```actionscript import mx.rpc.http.HTTPService; ...
在ActionScript 3 (AS3)中,`URLLoader` 类是用于加载各种类型数据的强大工具,包括XML。XML(eXtensible Markup Language)...总的来说,`URLLoader`与XML的结合使得在Flash或Flex项目中处理远程数据变得简单而灵活。
Flex与Java之间的通信是开发跨平台应用程序时的关键技术,它允许客户端(通常为Flex应用程序)与服务器端(通常是Java应用程序)进行数据交换。本篇将深入探讨几种主要的通信方式:URLLoader,HTTPService和Socket。...
标题中的“Flex拍照并上传到java后台——未调试成功”表明这是一个关于使用Adobe Flex技术进行拍照功能实现,并将拍摄的照片上传到Java后端服务器的项目,但目前该项目可能在调试阶段遇到了问题。Flex是一种用于创建...
2. **后台交互**:URLLoader通过HTTP或FTP协议与服务器进行后台交互,不阻塞用户界面,使得程序在加载数据的同时可以继续执行其他操作。 3. **加载过程**: - 创建一个URLLoader实例,如`var loader:URLLoader = ...
综上所述,Flex 4 提供了多种方式来接收外部参数,使得开发者可以根据不同的场景选择最合适的方法。了解并熟练运用这些技术,将有助于提升 Flex 应用程序的灵活性和可维护性。同时,结合源码和工具,可以更高效地...
在本文中,我们将深入探讨如何使用Flex与后端服务,如Java JSP,进行数据交互,特别是关注在处理中文字符时可能出现的乱码问题。Flex是一个强大的开发框架,用于构建富互联网应用程序(RIA),而与后端服务器的交互...
根据提供的标题、描述、标签及部分内容,本文将详细介绍Flex与后台进行交互的三种主要方法:通过FlashVars传递参数、利用HttpService服务以及采用URLLoader组件。这些方法在Flex开发中非常常见,对于实现数据的前后...
9. **错误处理**:Flex和Java之间可能会出现网络问题、文件过大等问题,因此需要在两端都进行错误处理。Flex端可以通过FileReference的securityError、ioError等事件,Java端通过try-catch语句捕获异常。 在提供的...
本文将详细介绍使用Flex进行后台交互的两种主要方式:通过`HTTPService`和`URLLoader`来实现与服务器的通信。 #### HTTPService:面向服务的交互方式 `HTTPService`是Flex框架提供的一个用于执行HTTP请求的类,它...