`

Flash Builder4 和java整合 、Blazed交互

阅读更多

         BlazeDS 是一个基于服务器的 Java 远程控制 (remoting) 和 Web 消息传递 (messaging) 技术,它能够使得后端的 Java 应用程序和运行在浏览器上的 Adobe Flex 应用程序相互通信。这篇文章中,我讲述一种方法(也许不是最好的)使得我能够成功地利用 BlazeDS 和 Flex 建立一个简单的程序。使用的 IDE 是 eclipse, 而并非 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 。下面我介绍只安装 BlazeDS 的 web application 版本(但是仍然下载的是 Turnkey 版本)。下载的 zip 包里面包含了: blazeds.war: 主要的 BlazeDS war 文件,用来建立你的 BlazeDS 应用程序。 Sample.war 就是 BlazeDS 例子了。 Ds-console.war ,简单的 BlazeDS 部署管理程序。每一个 war 程序都是独立的,假如你使用 J2EE 的 web 应用程序选项,那么你必须有一个 J2EE 应用服务器或者 servlet 容器。比如使用 Tomcat. 而且必须把刚才的三个 war 文件部署在 Tomcat_Home ( tomcat 安装目录)下的 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

java代码:

package com.yss.hello;

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

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

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

 <fx:Declarations>
  <s:RemoteObject id="ro" destination="helloworld"
                                              result="resultHandler(event)"
                                              endpoint="messagebroker/amf"/>
 </fx:Declarations>
 
 <fx:Script >     
   <![CDATA[
    import mx.rpc.events.ResultEvent;
    import mx.rpc.events.FaultEvent;
   
        [Bindable]   
         private var helloResult:String; 
      private function sayHelloTo():void{
            ro.sayHelloTo(inputText.text);
      }
       private function resultHandler(event:ResultEvent):void{
             helloResult=event.result as String;
      }
     ]]>  
     </fx:Script >
 <s:HGroup width="100%">
        <s:TextInput id="inputText"/>
        <s:Button id="submit" label="提交" click="sayHelloTo()"/>
        <s:Label text="{helloResult}"/>
 </s:HGroup>
</s: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>com.yss.hello.HelloWorld</source>
  </properties>
 </destination>
</service>

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

java to flex类型对比:

参照:

三种整合方式:http://www.iteye.com/topic/216580

对象传递:http://wangleifire.iteye.com/blog/482999

 Blazeds:console.war Sample.war blazeds.war下载

 

 

分享到:
评论
1 楼 woxiangbo 2010-07-14  
顶礼膜拜~
我的QQ:273040644
期待交流

相关推荐

    整合blazed和spring需要的jar包

    整合blazed和spring需要的jar包

    Flex4 blazed MyEclipse8.5配置开发环境

    Flex4,也被称为Flash Builder 4,是Adobe Flex框架的一个主要版本,它引入了全新的Spark组件架构,提供更强大的视觉设计和自定义组件能力。Flex4允许开发者使用MXML和ActionScript来创建富客户端应用,与服务器进行...

    Blazed

    Blazed可能提供了一套完整的字形,包括大写字母、小写字母、数字和常见标点符号,甚至可能有特殊字符和国际化的字符支持,以满足多种语言的排版需求。设计师在选择字体时,会考虑其与项目调性、品牌形象和目标受众的...

    spring与flex blazed整合(一般方式或注解)

    这篇博客探讨的是如何将 Spring 和 Flex 的 BlazedDS 整合,实现后端服务与前端界面的无缝交互。 整合 Spring 与 Flex BlazeDS 通常涉及到以下几个关键步骤: 1. **安装和配置 BlazeDS**: 首先,你需要下载并安装 ...

    Flex与java后台交互环境搭建

    描述:"详细阐述flex和java交互环境搭建的过程" 本文旨在深入探讨如何构建一个能够使Adobe Flex与Java后端进行高效通信的开发环境,主要聚焦于利用BlazeDS作为中间件来实现这一目标。BlazeDS是一个强大的实时数据和...

    blazed.war

    这个名字中的“Blazed”可能是项目或框架的名称,暗示了这个应用可能使用了Flex和Java技术进行融合开发,以实现更高效、便捷的通信。在Web开发中,.war文件是Web应用服务器如Tomcat、Jetty等能够识别并部署的文件...

    ssh+flex+blazed

    - Flex是基于Flash Player或Adobe AIR运行时的开发框架,允许开发者创建具有丰富用户体验的Web应用,使用MXML和ActionScript编写用户界面和业务逻辑。 3. **BlazeDS**: - BlazeDS是Flex和Java服务器之间的桥梁,...

    java+flex+blazeds+sqlserverk开发文档.docx

    - 解压缩`Blazed.war`包,获取其中的`META-INF`和`WEB-INF`文件夹。 - 使用`WEB-INF`文件夹中的配置文件,如`remoting-config.xml`。 - 将`WEB-INF`文件夹复制到Java项目的`WebRoot`目录下,替换原有的`WEB-INF`...

    flex与java通信,通过插件blazed

    --flex与webservice交互这里调用一个天气预报的webservice--&gt; wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl" fault="ws_faultHandler(event)" result="ws_resultHandler(event)" ...

    构建全栈式Flex、BlazeDS和Spring集成解决方案

    Flex、BlazeDS和Spring是三个在Web开发领域中关键的...对于需要构建复杂交互和实时数据更新的项目,这种全栈式解决方案尤其适用。开发者应当熟悉这三个技术的特性和交互方式,以便更好地实现整合并解决可能出现的问题。

    flex+cairngorm+java 实例

    Flex Cairngorm Java实例是一个基于Adobe Flex的项目,它整合了Cairngorm框架和Java后端服务,用于构建高效且可扩展的 Rich Internet Applications (RIA)。Flex是一种开源的、基于ActionScript的开发工具,用于创建...

    Blazed火焰

    "Blazed火焰"是一种独特的字体设计,它在视觉传达中具有强烈的艺术感和辨识度。在IT行业中,字体设计不仅是文字的呈现方式,更是品牌形象、网页设计、软件界面、广告创意等方面的重要元素。Blazed火焰字体以其独特的...

    flex and blazed blazeds简单例子

    2,flex项目和web项目为两个项目,进行交互。 个人认为,第二种比较好,这样可以完全将flex卡发和web业务开发分开。我这里也介绍第二种方法。 下面介绍我的hello小程序。 首先,开发环境 1,eclipse3.2+myeclipse...

    Flex+Blazed+J2EE,特效、树、表格、图片滚动等控件封装,基础教程注释。

    Flex+Blazed+J2EE 框架塔建,基本链接方式模板,封装flex代码,显示mxml与as剥离。flex代码分为3层,组件、控制、显示。包含大量注释,案例,帮助你10分钟理解felx开发,熟悉Flex+Blazed+J2EE框架。并且提供J2ee封装...

    blazed javadoc

    flex4.*的api英文的 flex4.*的api英文的flex4.*的api英文的

    Flex4+Spring+ibatis实战系列教程

    在本系列教程中,我们将探讨如何使用 Flex4 结合 BlazeDS 和 Spring 框架进行数据交互。BlazeDS 提供了 ChannelSet、MessageBroker 等组件,使得 Flex 可以通过 Topic(发布/订阅)或 Remoting(远程方法调用)的...

    table2P9.zip_Matlab 闪耀_blazed grating_matlab 闪耀光栅_光栅_闪耀光栅matlab

    本资源"table2P9.zip"包含了一系列与Matlab相关的代码,专注于模拟和分析闪耀光栅(Blazed Grating)这一特定的光学组件。闪耀光栅是一种具有周期性结构的光学元件,它能够在特定的角度下反射或衍射特定波长的光,...

Global site tag (gtag.js) - Google Analytics