`
Virgo_S
  • 浏览: 1153686 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex中数据交换(httpservice)

    博客分类:
  • Flex
阅读更多
在这部分,你将学习到怎么去创建一个程序,他们将取回基于给用户提供的信息的XML和纯文本运输数据。你将用FlexBuilder,预编译Flex组件,和FlexHTTP服务去创建这个程序。

学习要点:
学习怎么发送参数到服务器端程序,作为纯文本或者XML取回结果

相关该例子的Flex信息
下面的列表概述了相关这个例子的Flex技术要点
1. Flex程序是SWF文件
2. Flex是以编程为主要方式去创建基于Flash的RIA
3. Flex程序用Flash Player9展现
4. 像所有的RIA一样,FlexSWF文件是在客户端处理的,而不是在服务器端处理的。
5. Flex连接像ColdFusion,PHP,ASP。NET和Java这样的服务器端程序。
6. 你可以通过HTTP取回纯文本或者XML数据
7. 你可以通过web服务取回SOAP信息
8. 你可以用LiveCycle数据服务和Java远程对象(POJOs, JavaBeans, EJBs and ColdFusion Components) 交互

代码文件:
这部分为运输费用Flex程序提供了完整的代码。
Application overview


种类 1: HTTPService 返回纯文本
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute"
    backgroundColor="#FFFFFF"
    backgroundAlpha="0"
    backgroundImage="" >
	<mx:Script>
		<![CDATA[
		import mx.rpc.events.ResultEvent;
		import mx.rpc.events.FaultEvent;
		import mx.controls.Alert;

	        public function handlePlain(event:ResultEvent):void
	        {
	            shippingOptions.htmlText = event.result.toString();
	        }

	        public function handleFault(event:FaultEvent):void
	        {
	           Alert.show(event.fault.faultString, "Error");
	        }
		]]>
	</mx:Script>

	<mx:HTTPService result="handlePlain(event);" fault="handleFault(event);" id="plainRPC" resultFormat="text"
	    url="http://examples.adobe.com/flex3/exchangingdata/text/plainHttpService.php"
	    useProxy="false">
	    <mx:request xmlns="">
	        <zipcode>{zipcode.text}</zipcode>
	        <pounds>{weight_lb.text}</pounds>
	    </mx:request>
	</mx:HTTPService>

	<mx:Label x="56" y="32" text="Zip Code" width="55" height="18" textAlign="right" fontWeight="bold"/>
	<mx:Label x="56" y="58" text="Weight" width="55" height="18" textAlign="right" fontWeight="bold"/>
	<mx:TextInput x="130" y="32" id="zipcode" width="160" height="22"/>
	<mx:TextInput x="130" y="58" id="weight_lb" width="160" height="22"/>
	<mx:Button x="130" y="95" label="Get Shipping Options" click="plainRPC.send();" width="160" height="22"/>

	<mx:Text x="56" y="150" id="shippingOptions" width="310" height="133" fontWeight="bold"/>

</mx:Application>


种类 2: HTTPService 返回XML

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

	<mx:Script>
		<![CDATA[
			import mx.rpc.events.ResultEvent;
			import mx.rpc.events.FaultEvent;
			import mx.controls.Alert;

                           [Bindable]
                           private var shippingInfo:XMLList;

	        public function handleXML(event:ResultEvent):void
            {
                shippingInfo = event.result.option as XMLList;
            }

	        public function handleFault(event:FaultEvent):void
	        {
	           Alert.show(event.fault.faultString, "Error");
	        }
		]]>
	</mx:Script>

    <mx:HTTPService result="handleXML(event);" fault="handleFault(event);" id="xmlRPC" resultFormat="e4x"
    	url="http://examples.adobe.com/flex3app/flex3samples/exchangingdata/xml/xmlHttpService.jsp" useProxy="false">
	    <mx:request xmlns="">
	        <zipcode>{zipcode.text}</zipcode>
	        <pounds>{weight_lb.text}</pounds>
	    </mx:request>
	</mx:HTTPService>

	<mx:Label x="56" y="32" text="Zip Code" width="55" height="18" textAlign="right" fontWeight="bold"/>
	<mx:Label x="56" y="58" text="Weight" width="55" height="18" textAlign="right" fontWeight="bold"/>
	<mx:TextInput x="130" y="32" id="zipcode" width="160" height="22"/>
	<mx:TextInput x="130" y="58" id="weight_lb" width="160" height="22"/>
	<mx:Button x="130" y="95" label="Get Shipping Options" click="xmlRPC.send();" width="160" height="22"/>
	<mx:DataGrid
		dataProvider="{shippingInfo}"
		x="80" y="141" width="262" height="92" id="shippingOptionsList" editable="false" enabled="true">
	    <mx:columns>
	        <mx:DataGridColumn headerText="Service" dataField="service" />
	        <mx:DataGridColumn headerText="Price" dataField="price" />
	    </mx:columns>
	</mx:DataGrid>

</mx:Application>


JSP and JAVA files
Plain text example
PlainHttpService.jsp
<%@page import="quickstart.ShippingCalculator,
                quickstart.ShippingOption,
                java.util.List" %>
<%
    ShippingCalculator calc = new ShippingCalculator();
    List    options;
    int     zipcode;
    double  pounds;

    zipcode = Integer.parseInt(request.getParameter("zipcode"));
    pounds = Double.parseDouble(request.getParameter("pounds"));

    options = calc.getShippingOptions(zipcode, pounds);

    for (int i = 0; i < options.size(); i++) {
        ShippingOption option = (ShippingOption) options.get(i);
%><%= option.getService() %>: <%= option.getPrice() %> USD
<%
    }
%>


XML example
xmlHttpService.jsp
<%@page import="quickstart.ShippingCalculator,
                quickstart.ShippingOption,
                java.util.List" %>

<?xml version="1.0" encoding="utf-8"?>
<options>
<%
    ShippingCalculator calc = new ShippingCalculator();
    List    options;
    int     zipcode;
    double  pounds;

    zipcode = Integer.parseInt(request.getParameter("zipcode"));
    pounds = Double.parseDouble(request.getParameter("pounds"));

    options = calc.getShippingOptions(zipcode, pounds);

    for (int i = 0; i < options.size(); i++) {
        ShippingOption option = (ShippingOption) options.get(i);
%>
    <option>
        <service><%= option.getService() %></service>
        <price><%= option.getPrice() %></price>
    </option>
<%
    }
%>
</options>


ShippingCalculator.java

package quickstart;

import java.util.ArrayList;
import java.util.List;
import java.lang.Math;

public class ShippingCalculator {

    /*  Returns a list of made-up ShippingOptions.
    */
    public List getShippingOptions(int zipcode, double pounds) {

        List        options = new ArrayList();
        double      baseCost;

        baseCost = Math.round(zipcode / 10000) + (pounds * 5);

        options.add(new ShippingOption("Next Day", baseCost * 4));
        options.add(new ShippingOption("Two Day Air", baseCost * 2));
        options.add(new ShippingOption("Saver Ground", baseCost));

        return options;
    }
}


ShippingOption.java
package quickstart;

public class ShippingOption {

    private String  service;
    private double  price;

    public ShippingOption() {
    }

    public ShippingOption(String aService, double aPrice) {
        this.service = aService;
        this.price = aPrice;
    }

    public void setService(String value) {
        this.service = value;
    }

    public void setPrice(double value) {
        this.price = value;
    }

    public String getService() { return this.service; }

    public double getPrice() { return this.price; }
}




分享到:
评论

相关推荐

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

    总结来说,Flex 4.0中的HttpService适用于轻量级数据交换,而WebService更适合复杂的、基于SOAP协议的远程调用。两者结合使用,可以满足与各种后端系统,如Java Struts2,进行通信的需求。在实际开发中,理解并灵活...

    flex4 httpservice 例子

    Flex4是一种基于ActionScript 3.0的开源框架...通过查看和运行这个示例,你将更深入地理解如何在Flex4中使用`HTTPService`与服务器交换数据。记住,理解XML数据的结构和如何适当地解析它,是使用`HTTPService`的关键。

    纯flex网站前台(httpservice、webservice进行数据交互)

    2. **HTTPService**:HTTPService是Flex中的一个组件,它允许应用程序通过HTTP协议与服务器进行数据交换。它可以用来发送SOAP或RESTful请求,获取XML、JSON或其他格式的响应数据。使用HTTPService,开发者可以直接在...

    Flex+HTTPService 例子

    在Flex中,HTTPService是用于与服务器进行数据交换的重要组件,它基于HTTP协议,能够实现客户端与服务器间的异步通信。在这个“Flex+HTTPService 例子”中,我们将探讨如何使用Flex与Java后台通过HTTPService进行...

    Flex+SpringMVC HttpService 发送XML数据

    Flex是Adobe开发的一种富互联网应用程序(RIA...这种方式允许开发者充分利用XML的结构化特性,构建复杂的数据交换场景。在实际开发中,还需考虑错误处理、安全性以及性能优化等多方面问题,以提供稳定、高效的Web服务。

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

    通过上述步骤,你可以在Java中成功配置并使用Flex的HttpService,实现客户端与服务器间的高效数据交换。了解AMF的工作原理和BlazeDS的配置是关键,这将帮助你构建出健壮且高性能的Flex应用。同时,确保对错误处理和...

    Flex4_httpService

    这个项目展示了如何通过HTTPService组件在Flex应用中实现远程调用Java服务,以完成数据的交换和处理。Flex 4是Adobe AIR和Flash Player支持的ActionScript 3.0开发框架,它提供了一个强大的UI组件库和数据绑定机制,...

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

    在Flex开发中,HTTPService是用于与服务器进行异步HTTP通信的重要...理解这两种方法对于开发Flex应用程序并与服务器进行数据交换至关重要。在实际应用中,根据项目需求和服务器端的处理方式,选择适合的方法传递参数。

    Flex3 HTTPService 获得json数据

    首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。在Flex3中,我们经常用它来传输数据,因为它的效率高且兼容性好。 使用HTTPService获取JSON...

    flex与httpService通信(java)

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

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

    HTTPService组件是Flex提供的一个用于与远程服务器进行HTTP通信的工具,它支持SOAP、RESTful等数据交换格式。而Java是一种广泛使用的后端编程语言,能够处理业务逻辑并提供Web服务。 1. **配置HTTPService** 在...

    Flex与Java低数据量通信息一:HTTPService

    标题中的“Flex与Java低数据量通信”是指在ActionScript 3.0(Flex的主要编程语言)和Java之间进行轻量级数据交换的技术。Flex是一个用于构建富互联网应用程序(RIA)的开源框架,而Java是一种广泛使用的服务器端...

    flex4.5httpservice实现搜狐焦点图新闻和特效按钮皮肤制作

    通过这个项目,开发者可以深入理解 Flex 与服务器之间的数据交换,以及如何利用 Flex 的强大皮肤系统提升用户界面的视觉吸引力和交互性。同时,这也是对 Flex 动态数据绑定和组件定制能力的一个良好实践。

    FLEX 培训教材 主要讲到 HTTPSERVICE 和 WebService

    - `HTTPService`是Flex中用于发送HTTP请求的组件,常用于与服务器进行数据交换。 - 在Flex应用中,可以通过HTTPService读取XML文件,并在结果返回后处理数据。 - 用户修改数据后,可以通过点击按钮,使用...

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

    XML作为一种轻量级的数据交换格式,非常适合在Flex和Java之间传递复杂的数据结构。 6. **配置services-config.xml** `services-config.xml`文件定义了Flex与服务器的交互方式,包括服务的配置、消息代理、目的地等...

    flex httpservice实例

    通过上述分析,我们可以看到Flex的HTTPService组件如何简化了客户端与服务器之间的数据交换过程。这种机制不仅提高了应用程序的响应速度,还增强了用户体验。对于开发者而言,掌握HTTPService的使用是构建高效、交互...

    flex实例HTTPService

    HTTPService的主要优点在于它可以轻松地与各种后端服务交互,如RESTful API、SOAP服务等,且支持XML、JSON等多种数据交换格式。 二、创建和配置HTTPService 创建HTTPService实例时,首先需要在MXML代码中声明它,...

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

    接下来,我们需要引入Flex Data Services(FDS),这是Adobe提供的用于FLEX与服务器间数据交换的服务。我们从FLEX安装的FDS2目录下的`flex.war`中提取`META-INF`和`WEB-INF`目录,并覆盖现有项目的对应目录,但暂时...

Global site tag (gtag.js) - Google Analytics