BlazeDS开发配置

本文详细介绍了如何使用MyEclipse、Flex和Blazeds配置开发环境,包括所需软件安装、环境变量配置、服务器部署及Flex与Java通信配置等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MyEclipse+Flex+Blazeds配置

                                        

需要软件:

Tomcat

myeclipse

jdk

blazeds-turnkey-4.0.0.14931.zip

FlashBuilder_4_Plugin_LS10.exe  FlexBuilder3 Plugin也可以

BlazeDS介绍

    BlazeDS,基于Java的一个AMFAMF(是Action Message Format的缩写)是在flash和flex中remoting的一种方式格式 实现也是Adobe 官方给出的一个开源实现

    Flex应用程序运行在客户端环境中,若干个这样的应用程序连同服务器共同组成了一个完整的应用。这些程序需要服务器提供数据或其他服务,BlazeDS为这种通信方式提供了稳定、高效的支持。

    BlazeDS是一个基于服务器的 Java 远程控制 (remoting)  Web 消息传递 (messaging) 技术,以LGPLLesser GNU Public License)公共许可证书发布。它能够使得后端的 Java 应用程序和运行在浏览器上的 Adobe Flex 应用程序相互通信。在Java应用服务器上,它以servlet的形式存在, 因此可以在任何标准Java网络应用中运用它。

BlazeDS的结构如下图所示。

转载内容介绍-

     关于BlazeDS的官方介绍是这样的:BlazeDS是Adobe公司服务器端点远程访问和消息服务技术的开源版本,早先只有商业版本的Adobe LiveCycle Data Services ESLCDS提供这些技术。它允许开发者容易的连接到分布在后端的数据和实时地向Adobe Flex或Adobe AIR应用程序推送数据,此项数据访问能力对于提供更好的RIA体验非常关键、BlazeDS的源代码使用LGPL v3许可协议。
    BlazeDS的远程访问技术使用调用-相应模式,使Flex或Adobe Flash应用访问服务器端Java对象如同烦恼高温本地的对象一样。他可以整合存在于服务器的JAVA安全策略,并且提供在ActionScript和Java数据类型之间透明的数据转换与传输服务。
    BlazeDS的消息服务支持建立在HTTP谢意之上的消息方步和订阅。Adobe Flex或Ajax客户端通过订阅一个或多个主题以接受服务器退搜狗来的数据。使用此服务,开发者能够创建实时协作或数据推送应用程序。
    可以看出,BlazeDS是开源的、提供数据访问的我中间层技术,是Adobe LiveCycle Data Services的一个子集。完整的BlazeDS应用一般包括前端Flex应用和后端服务器应用,而BlazeDS则是连接这两者的纽带。Flex应用程序可以通过BlazeDS获取服务器数据,后端服务器应用也可以借助BlazeDS提供的功能,主动向前端Flex应用推送数据。

安装jdk(参考)

按照步骤,选择路径安装,安装成功后,在安装路径下有java文件,包含jdkjre两个子文件。

JDK环境变量配置的步骤如下(参考)

1.我的电脑-->属性-->高级-->环境变量.

2.配置用户变量:

        a.新建 JAVA_HOME

             C:\Program Files\Java\jdk1.5.0 JDK的安装路径)

        b.新建 PATH

             %JAVA_HOME%\bin; 

        c.新建 CLASSPATH

            .;%JAVA_HOME%\lib; 

3.测试环境变量配置是否成功:

   开始-->运行--CMD

   键盘敲入: JAVAC   -version

        出现jdk版本信息,而不是出错信息,即表示配置成功!

 

环境变量配置的理解:

  1. PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。

  2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jartools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。

  3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk

安装Apache Tomcat web服务器(参考)

最好与jdk安装在同一目录下,自动搜索jre所在位置。

不在同一目录时,需要手工浏览到jdk的安装路径,端口默认为8080,也可自定义。

安装完成后,在浏览器中输入:http://localhost:端口号,如果显示apace tomcat网页,则安装成功!

安装Myelipase 8.0(参考) 按照步骤安装,安装完成后,重启计算机,最后配置环境:

1) 打开myeclipse, ->->Servers->Tomcat,选择tomcat的版本,进行配置tomcat

2) 

3) 

安装Adobe Flash Builder 4 Plugin(参考)

安装时,它会让你选择一个解压的文件路径,这个路径中不可以含有中文,否则会出错,你就解压在C盘中。然后安装。

这里是安装路径,这个路径不是整合Myeclipse路径所以不要选择Myeclipse运行路径。我这里安装到adobe文件夹下面,好点下一步。

这里所选择的路径是myeclise的运行目录(也就是有myeclipase.exe文件的目录),记得关键之处,如果这个不是选择运行文件夹那你的整合将失败。好了到此整合成功了。

Flex4安装完成之后要将flex的安装目录中的eclipase目录下面的和eclipse-host-distro目录下面的featuresplugins文件夹中的内容拷贝到安装Myeclipase文件夹下的common文件夹中的featuresplugins文件夹内,到此配置成功

BlazeDS配置

1、BlazeDS配置,tomcat下部署

Blazds的配置:下载个Blazds的包,解压,将其中的blazeds.war、ds-console.war、samples.war拷贝到Tomcat下的webapps文件夹中就好,运行下,http://localhost:8080/samples 看看有没有配置成功

搭建一个web工程没有那么简单,因为flex只是做为表示层展示,flex只接收java返回数据,那怎么和java服务端通信呢?这时我们需要用到adobe公司开发的一个开源项目Blazeds

2创建工程

打开Myeclise新建一个javaweb工程---BlazeDSDemo,选择javaEE 5.0

3、工程中引入相关文件

右击WebRoot选择import—>GeneralàFile system,展开发现在WEB-INF目录下面多了flex文件夹,这个很重要主要是通信的4个配置文件。如图3

3

右击WebRoot选择import—>GeneralàFile system

单击Browse 选择tomoat服务器安装地址,然后选择webapps中的blazeds文件夹(就是你配置Blazeds的地址)
 

单击确定,然后勾选它

单击Finish 然后选择Yes to all

导入成功

4、项目部署到Tomcat

部署BlazeDSDemo项目到Tomcat里面一步重要因为下面要整合Flex必须得启动服务我部署的服务器物理路径为:C:\study\apache-tomcat-6.0.32\webapps\BlazeDSDemo。这一步的过程不再赘述。

5、添加Flex项目类型

   首先选中你的web项目右键选择添加/更改项目类型,在选择添加flex项目类型

 4
 

选服务器为J2EE,然后选择BlazeDS,如图5所示。

 

5
 

6、配置服务器路径

上面说了我的物理路径是C:\study\apache-tomcat-6.0.32\webapps\BlazeDSDemo所以我下面就填如下信息如图6     6
    根文件夹就是服务物理路径,根URL就是你的访问路径我这里tomcat的端口是8080所以就这样填,看你的端口而定然后在加上你的项目名称,上下文根目录就填项目名称就行了验证配置只有通过才可以有效如图6

7、解决创建的错误

如图7

7
 

找到Problems看到有一个错误然后我们右键选重新创建HTML模板。这里错误已经解决,但是新的问题又来了,srcjava的源文件夹存java源代码地方,但是现在被flex给占用了

8、更改flex的项目源文件为flex_src

更改flex的项目源文件为flex_src,右键项目属性找到flex构键路径的主源文件夹把src改为flex_src如图9(最好进行这一步的设置,使得flex的src目录与工程src独立区分

9
 

然后把src文件夹里面的BlazeDSDemo.mxml移动到flex_src文件夹里面,最终目录路径如图10

图10

实现FlexJava通信

现在基本的弄好了,现在就是要配置相关文件了,首先我们打开之前做好flexweb项目,然后切换到Myeclipse视图。如果项目出错红色的XX,不要紧那是因为我们没有启动Tomcat,如果启动了服务器还有重新编译flex项目才能正常。但是这里先不弄等我们弄完在搞它。

1、在src目录创建java class

1、

2、配置Webroot/WEB-INF/flex/remoting-config.xml

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

<service id="remoting-service" class="flex.messaging.services.RemotingService">

<adapters>

<adapter-definition id="java-object"

class="flex.messaging.services.remoting.adapters.JavaAdapter"

default="true" />

</adapters>

<default-channels>

<channel ref="my-amf" />

</default-channels>

<destination id="BlazeDSTest">

<properties>

<source>test.HelloWorld</source>

</properties>

</destination>

</service>
 

这里的配置文件是加上去的,指定Java对象

<destination id="BlazeDSTest">

<properties>

<source>test.HelloWorld</source>

</properties>

   </destination>

这个是配Flexflex访问java方法的一个远程对象方法,配置后就可以与java通信了。

3、配置远程对象

我的配置如下

 
<?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">

<s:layout>

<s:BasicLayout/>

</s:layout>

<fx:Script>

<![CDATA[

import mx.controls.Alert;

import mx.rpc.events.FaultEvent;

import mx.rpc.events.ResultEvent;

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);

}

]]>

</fx:Script>

<fx:Declarations>

<s:RemoteObject id="myFlex" destination="BlazeDSTest" result="myFlex_resultHandler(event)"/>

</fx:Declarations>

<s:Panel x="87" y="20" width="250" height="200" title="BlazeDS Test">

<s:TextInput x="81" y="48" id="txtName"/>

<s:Button x="88" y="108" label="Send" click="btnSend_clickHandler(event)"/>

<s:Label x="36" y="54" text="name:" width="37" height="22"/>

</s:Panel>

</s:Application>

 

下面的这个配置就是调用java端的一个远程对象, destination="BlazeDSTest"就是我们刚才配置的remoting-config.xml文件中的ID名称,result="myFlex_resultHandler(event)" 就是如果服务器成功就执行result里面的方法。

<fx:Declarations>

<s:RemoteObject id="myFlex" destination="BlazeDSTest" result="myFlex_resultHandler(event)"/>

</fx:Declarations>

然后点发送按钮时发送远程对象的sayHello方法,执行

click="btnSend_clickHandler(event)"

4、重新验证flex服务器

     右键点击工程,选择“Flex服务器”,重新确认后,点击“OK”。


 

现在即可点击运行Flex,运行后的效果如下图所示。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值