`

使用BlazeDS实现Java和Flex通信

    博客分类:
  • Flex
阅读更多

BlazeDS是一个基于服务器的Java 远程控制(remoting)Web消息传递(messaging)技术,它能够使得后端的Java应用程序和运行在浏览器上的Adobe Flex应用程序相互通信。这篇文章中,我讲述一种方法(也许不是最好的)使得我能够成功地利用BlazeDSFlex建立一个简单的程序。使用的IDEeclipse,而并非Flex Builder.下面我将逐步介绍怎么实现这个简单的程序。

1.      安装JDK Tomcat,并且实现成功配置。详细请见: http://blog.chinaunix.net/u/21684/showart_195064.html

2.      安装Flex SDK. 详细请见官方文档:http://www.adobe.com/devnet/flex/?navID=gettingstarted

3.      下载BlazeDS ,下载地址和安装方法请参考:http://opensource.adobe.com/wiki/display/blazeds/Release+Builds 。如果你使用的是turnkey 版本(建议下载此版本)里面实际上包含了Tomcat服务器了。但是本人因为之前已经装好了Tomcat6.0.16了,所以我的安装的是自己手动的了。如果你使用的是整合Tomcat版本的BlazeDS,那么请参 http://opensource.adobe.com/wiki/display/blazeds/Installation+Guide  。下面我介绍只安装BlazeDSweb application版本(但是仍然下载的是Turnkey版本)。下载的zip包里面包含了: blazeds.war: 主要的BlazeDS war 文件,用来建立你的BlazeDS应用程序。Sample.war就是BlazeDS例子了。Ds-console.war,简单的BlazeDS部署管理程序。每一个war程序都是独立的,假如你使用J2EEweb应用程序选项,那么你必须有一个J2EE应用服务器或者servlet容器。比如使用Tomcat.而且必须把刚才的三个war文件部署在Tomcat_Hometomcat安装目录)下的webapps目录下。然后重启Tomcat服务器,在浏览器输入:http://localhost:8080/samples 如果看到显示页面代表就成功了。如果你的应用程序需要使用HSWLDB数据库,那么也拷贝.zip文件中的sampledb目录到webapps目录下,然后启动数据库。启动方法很简单:到sampledb目录下,执行startdb.bat就可了(windows OS)提示:可以的话,在你的Eclipse目录下,找到eclipse.ini把最大内存数改成512.

4. (可选)配置Tomcat的用户角色。即在Tomcat_Home/conf/tomat-users.xml添加以下语句:

<role rolename="manager"/><user username="abhi" password="abhi" roles="manager"/>

5.       利用Eclipse建立Flex Project。工程名字叫做BlazeApp.   Application Type 选择web application, 服务器选择J2EE.关联WTP,至于代码文件保存目录自定义。Next

6.设置J2EE服务器。我们选择Tomcat,可能需要手动配置(new)。然后选择flex war文件,即我们放在webapps目录下的blazeds.war.然后next.

7.       接着,默认设置,也可自定义。接着next.其实到这里已经完成了project建立.

8.            接下来你可以在eclipse中可以看到整个工程的所有文件以及配置。在开发之前,可能需要修改context root配置。点击BlazeApp右键,选择属性,然后见到如图,修改context root值为BlazeApp.(默认的是WebContent,好像不更改也可以。自行测试)。

    

9.      创建Java文件。点击src文件夹,然后创建java class. 类的包为hello,名字为HelloWorld.

 

 

 

 

 

package hello;
public class HelloWorld {
public String sayHelloTo(String str) {
System.out.println("Hello " + str);    
     return "Hello " + str; }    
}

10.      BlazeApp.mxml文件中新建一个text和一个按钮,来显示从HelloWorld传回来的信息。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" viewSourceURL="srcview/index.html">
<mx:Script>
 <![CDATA[ import mx.rpc.events.FaultEvent;
   import mx.rpc.events.ResultEvent;
      [Bindable]
      private var helloResult:String;
      private function sayHelloTo():void {
        ro.sayHelloTo(inputText.text);
        }
       private function resultHandler(event:ResultEvent):void {
          helloResult = event.result as String;
             } ]]> </mx:Script>
        <mx:RemoteObject id="ro" destination="helloworld" result="resultHandler(event)" />
         <mx:HBox width="100%">
           <mx:TextInput id="inputText"/>
           <mx:Button label="Submit" click="sayHelloTo()"/>
        </mx:HBox>
       <mx:Label text="{helloResult}"/>
    </mx:Application>

11.       现在,我们要定义remote object来是的你的flex程序能够调用java 类。首先来配置/WEB-INF/flex/remoting-config.xml文件,添加以下粗体部分来新增一个destionation—HelloWorld类。

<?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="helloworld">
     <properties>
         <source>hello.HelloWorld</source>
       </properties>
 </destination>
</service>

12. 到此,配置结束。然后选择BlazeApp项目,选择在服务器上执行。即浏览地址为:http://localhost:8080/BlazedApp/BlazedApp.html 如果你能在输入框输入字段之后,点击按钮能返回Hello,XXX的信息,就代表成功了。如图:

13.       (我使用的例子的工程名字叫做DSTest除此之外操作相同,另外附录中的程序也是使用DSTest。请自行参考。)

14.       参考文献:http://blog.baao.com/blojsom/blog/yac/BlazeDS/BlazeDS-avec-Flex-builder-3-Tomcat-6-et-les-webtools?smm=y 以及http://java-x.blogspot.com/2008/03/blazeds-for-java-flex-communication.html#sampleCode

  

  <!--[endif]-->附件:http://download.csdn.net/source/482338

分享到:
评论

相关推荐

    使用BlazeDS实现Java和Flex通信之hello world

    这个“使用BlazeDS实现Java和Flex通信之hello world”示例旨在介绍如何通过BlazeDS来实现简单但关键的客户端-服务器交互。下面我们将详细探讨BlazeDS、Flex以及它们之间的通信机制,并通过“hello world”实例来具体...

    51CTO下载-使用BlazeDS实现Java和Flex通信(PDF+源码

    `DSTest`可能是包含一个或多个例子,展示如何在实际项目中应用BlazeDS进行Java和Flex通信。通常,这些例子会包括创建Flex客户端、定义Java服务、配置BlazeDS服务以及处理通信交互的代码。 10. **总结** 通过...

    最简单的BlazeDS实现flex与java通信.rtf

    最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的...

    用BlazeDS实现Java和Flex通信

    ### 使用BlazeDS实现Java与Flex通信的关键知识点 #### 一、引言 随着Web技术的发展,前后端的通信方式也变得越来越多样化。其中,Flex作为一种流行的应用开发框架,经常被用于构建丰富的互联网应用程序(RIA)。...

    使用BlazeDS实现flex与java 整合

    总结,使用BlazeDS整合Flex和Java能实现高效的前后端交互,但同时也需要注意性能优化、安全配置以及错误处理等多个方面。通过熟练掌握BlazeDS的使用,开发者可以构建出响应快速、功能强大的富互联网应用。

    BlazeDS实现flex与java通信

    在本文中,我们将深入探讨如何使用BlazeDS实现Flex与Java之间的通信,以及其核心功能和工作原理。 1. **Remoting服务** BlazeDS的Remoting服务允许Flex客户端直接调用Java后端的远程方法,仿佛这些方法是本地的。...

    使用BlazeDS实现Flex与Java通信

    在Windows环境下,配置BlazeDS以实现Flex与Java的通信主要涉及以下步骤: 1. **环境准备**: 确保已按照《Flex3超入门讲座:事前准备(Windows编)》进行环境设置,包括安装Flex Builder 3和BlazeDS,确保操作系统...

    blazeds下载,java和flex的通信工具

    Blazeds是Adobe官方推出的一款开源工具,全称为BlazeDS Project,它是Java和Flex之间进行数据通信的重要桥梁。Blazeds使得开发人员能够利用Java后端服务与Flex前端应用程序进行实时的双向通信,实现富互联网应用...

    JAVA通过BlazeDS与FLEX通信

    JAVA通过BlazeDS与FLEX通信 BlazeDS.zip java项目,使用MYECLIPSE导入 FlexJavaServer.fxp FLEX项目,使用FLASHBUILDER4.5导入

    Flex + BlazeDS + Java + JMS 通信实例(附源码)

    本实例重点探讨了如何使用Flex作为前端,通过BlazeDS与Java后台结合JMS服务进行通信,实现数据的实时推送,从而达到页面实时刷新的效果。下面将详细介绍这一技术栈中的关键知识点: 1. **Flex**:Flex是基于...

    Flex与Java实现通信

    本文将详细介绍如何使用BlazeDS这一基于服务器的技术来实现Java和Flex之间的通信。 #### 二、BlazeDS简介 BlazeDS是一个开放源代码的服务器端Java远程处理和Web消息传递技术,它允许开发者轻松地将Flex和AIR应用...

    基于Blazeds的flex和java双向通信

    Blazeds是Adobe提供的一种解决方案,它使得Flex和Java之间能够实现高效、实时的双向通信。本篇文章将深入探讨Blazeds在Flex和Java之间的通信机制及其应用。 1. **Blazeds简介** Blazeds是Adobe官方的Flex和Java...

    Flex与java通过BlazeDS实现通信

    【Flex与Java通过BlazeDS实现通信】 Flex是一种用于创建富互联网应用程序(RIA)的开源框架,它基于ActionScript和Flex SDK。Java则是一种广泛使用的后端开发语言,两者之间的通信通常需要中间件来实现。BlazeDS是...

    基于BlazeDS实现股票系统中Flex与Java的通信.pdf

    本文介绍了基于BlazeDS技术在股票系统中解决Flex前台与Java后台之间的通信问题,并以股票系统中的算法调用为例,展示了BlazeDS的具体配置方法和实现细节。 一、 Flex技术概述 Flex是一种高效、免费的开源框架,也...

Global site tag (gtag.js) - Google Analytics