Flex LCDS例子


       LCDSLiveCycle Data Service)是由FDSFlex Data Service)发展而来,通过LCDS与服务器端通信不但可以大大提高通信的效率,而且还能提供传统B/S结构没有的功能。由于目前LCDS只能通过war包的形式提供给服务端,所以LCDS只能提供给J2EE的服务端。

       LCDSAdobe公司提供的一种收费的技术产品,免费版本只能支持单CPU,如果多CPU服务器上运行LCDS,就要向Adobe支付昂贵的费用。我在《整合FlexJava--配置篇》介绍过的BlazeDSAdobe公司推出的LCDS的简化版本,并且是免费的、开源的,可以让我们有了更多的选择。

       Flex结合使用LCDS有两种编译方式,即本地编译和服务器编译。本地编译是FLEX最常用的编译方式,即在本地将编译好的文件发布。而服务器编译,就是不需要在本地预编译,在用户请求时进行编译。下面介绍的小例子就是使用服务器编译。

       因为LCDS不是Flex SDK提供的,需要去Adobe官方网站上去下载。下载地址:http://www.adobe.com/products/livecycle

       下载LCDS后,直接安装即可。

       准备就绪后,我们就要开始编写基于LCDS的例子了。

1、  新建Flex Project

2、  配置J2EE运行环境和LCDS路径

选择lcds的安装路径

LCDS有两种编译方式,如图,第一种是本地编译,第二种为服务器编译。服务器编译是LCDS给我们提供的一种非常方便而有强大的功能,所以我们选择第二种

3、  点击Finish,让我们看看它的工程目录于BlazeDS有什么不同。

我们明显的看到,LCDS的工程目录要比BlazeDS精简的多吧。因为我们采用的是服务器编译,所以LCDS并没有给flex提供源文件夹和编译输出的目录,而是直接将mxml文件放在WebRoot根目录下。但是由于LCDSBlazeDS提供更多功能,所以配置文件要比BlazeDS更加的丰富,而且都是由系统自动给我们添加好了,省去了像BlazeDS那样的手工配置。

LCDS下的工程目录

Flex编译后发布的文件。我们发布在根目录下

自动生成的flex的配置文件

Java源文件夹

Flex文件的源文件夹

BlazeDS的工程目录

 

4、  我们先写一段简单的flex代码,来看看效果

 

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

    <mx:Style>

       global{

           fontSize:12pt

       }

    </mx:Style>

    <mx:Script>

       <![CDATA[

           import mx.controls.Alert;

           private function showMessage():void{

              Alert.show('我是一个基于LCDSFlex应用','Web应用');

           }

       ]]>

    </mx:Script>

    <mx:Button label="点击" verticalCenter="0" horizontalCenter="0" click="showMessage()">

      

    </mx:Button>

</mx:Application>

这段程序非常的简单,我们主要是来看看它的服务器编译。

5、  按照《整合FlexJava--配置篇》中介绍的方式,将这个工程发布到tomcat下,然后启动tomcat

6、  在本地编译的方式下,我们需要手工编译mxml文件成htmlswf,而现在我们只需要直接用.mxml的路径来访问看看效果。http://localhost:8080/FirstLCDS/FirstLCDS.mxml

直接访问,服务器会给我们自动编译出swf文件,可以去你的tomcat下去察看。

点击按钮,出现如下效果,和我们传统的方式是一样的效果,而且这种方式更加的直接,更加的方便。

7、  LCDS的强大功能不只是表现这个方面,而是它与java的直接交互。还是以《整合FlexJava--配置篇》中的例子为例。其过程和BlazeDS是一样的。

新建一个java类:Hello.java

package com;

 

public class Hello {

    public String HelloLCDSRemoting(String name){

       return "Hello"+name+"LCDS";

    }

}

我们需要对这个java类进行配置,打开remoting-config.xml,添加如下代码:

<destination id="HelloRemoting">

       <properties>

       <source>com.Hello</source>

       </properties>

                  </destination>

 

8、  开始编写一个flex页面来调用这个java类。建立一个LCDSHello.mxml

 

<?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.FaultEvent;

       import mx.rpc.remoting.RemoteObject;

       import mx.controls.Alert;

       import mx.rpc.events.FaultEvent;

你可能感兴趣的:(tomcat,xml,应用服务器,Flex,Adobe)