本总结围绕以下几个方面进行总结:
1,这是什么组件 2,这个组件有什么作用 3,组件有什么属性 4,什么情况下能使用该组件,以及使用实例 5,其他说明
一,这是什么组件
简而言之,就是获取数据的组件。
二,作用如下
读取远程xml文件数据
读取远程servlet数据
它对指定的URL发送请求,并且返回http响应,它可以向http传递参数,注意,这点很重要,很好用
这个组件不但可以请求数据,还可以提交数据。
另外再说两点:
1,如果没有使用基于服务器的代理服务,则只能使用 HTTP GET 或 POST 方法。
2,如果使用基于服务器的代理服务,则还可以使用 HTTP HEAD、OPTIONS、TRACE 和 DELETE 方法。
第一点我们比较熟,第二点本人也没有用过。
三,组件属性
首先务必记住一点,那就是必须调用了send方法,才会去请求数据。
1,method : 发送请求的 HTTP 方法。指post,get,delete,trace等方法。
2,resultFormat : 专业的说是如何反序列化由 HTTP 调用返回的结果的值,说白了就是返回结构格式化,是文本形式的还是xml形式(E4X),后面我回单独些一个博文说明E4x标准,很好用。
3,url : 这个不用说,就是请求的url地址。
4,request : URL 参数。这个很好用的。他是一个Object对象。
方法:
1,send 这个请求数据必须的方法
事件:
1,result:成功返回时调用
2,fault:失败返回时调用
其他属性如:useProxy,rootURL是何用途,暂时就先不说了,参照api
四,用法举例,把碰到过用到该组件的情况归纳如下
第一种情况,读取远程的xml文件数据,实例如下:
实例一,先写个简单的
功能:请求一个xml,请求返回指定元素的个数!
说明:为了测试,用我以前网上找到的在线xml文件,链接如下:
http://www.flexgrocer.com/units.xml
creationComplete="MyHTTPService.send()">
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
[Bindable]
private var xmls:ArrayCollection=new ArrayCollection();
private function myHTTPService(event:ResultEvent):void
{
xmls=event.result.allUnits.unit;
Alert.show(xmls.length.toString());
}
]]>
result="myHTTPService(event)"/>
第二种情况,读取远程数据,通过servlet
实例二
功能:向一个jsp请求数据,请求数据的同时附带参数
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
//发送出错时的处理函数
public function faultHander(event:FaultEvent):void
{
Alert.show("发送或者接收时出现问题!");
}
//接收到结果后处理的函数
public function resultHandler(event:ResultEvent):void
{
Alert.show("您接收到JSP网页传来的结果是:" + event.result.toString());
}
public function onSend():void
{
myhttpService.url = "http://localhost:8080/httpService/index.jsp?message=";
myhttpService.url += message.text;
myhttpService.send();
}
]]>
web端,建立index.jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%="Hello," + request.getParameter("message") %>