转载地址:http://www.yeeach.com/2009/07/21/%e4%bd%bf%e7%94%a8blazeds%e5%ae%9e%e7%8e%b0java%e5%92%8cflex%e9%80%9a%e4%bf%a1%e4%b9%8bhello-world/

新的项目对用户体验及用户互动要求较高,决定选用Flex作为前端的展现技术,整体框架仍然是Flex+Spring+Hibernate(考虑采用seam中)。作为入门,先从经典的Hello world开始,暂时不考虑Flex与Spring、Hibernate的集成。

Flex要实现与Java集成,开源项目BlazeDS、GraniteDS、Flamingo都提供了相应的解决方案,考虑到BlazeDS是Adobe官方的开源项目,因此采用BlazeDs作为Flex与Java通信的基础框架。什么是BlazeDS呢,看看官方的介绍:

BlazeDS is the server-based Java remoting and web messaging technology that enables developers to easily connect to back-end distributed data and push data in real-time to Adobe® Flex® and Adobe AIR™ applications for more responsive rich Internet application (RIA) experiences.

开发工具采用Eclipse+Flex Builder 3 Plug-in方式,不采用Flex Builder 3。先安装Eclipse,再安装Flex Builder 3 Plug-in,相关的安装配置不再赘述。

1、下载BlazeDS

由于BlazeDS Turnkey中包含BlazeDS的使用例子,对于入门熟悉Flex及BlazeDS都有较好的参考价值,因此建议下载BlazeDS Turnkey。

关于blazeds-turnkey 的目录说明:

docs:BlazeDS Javadoc

resources:BlazeDS的相关支持包,包括clustering(采用jgroups)、BlazeDS与ColdFusion 集成的配置文件、BlazeDS的配置文件、BlazeDS与AJAX集成的桥、Flex的SDK、Flex的java library、BlazeDS与Tomcat、Jboss、Websphere等security集成的支持包。

sampledb:hsqldb的启动脚本及样例数据库

tomcat:Tomcat 包

blazeds.war:最小化的BlazeDS 文件,可以作为空白项目来建立BlazeDS 应用程序。

sample.war:BlazeDS的demo例子(所谓的testdrive)。

ds-console.war :BlazeDS的部署管理程序。

2、建立Java Web Project

File->New->Web Project 建立Java helloworld项目

在helloworld/src下,新建com.yeeach.HelloWorldService类,内容如下:

package com.yeeach;

public class HelloWorldService {

public String hello(String var1) {

return “hello ” + var1;

}

public String world(String var1) {

return “world ” + var1;

}

}

3、建立helloworld的BlazeDS开发环境

3.1、拷贝blazeds.war下的WEB-INF到helloworld的目录下,覆盖原有的WEB-INF

3.2、在helloworld下建立flex-src目录(与src同级),用于存放flex的相关代码

helloworld/src:用于存放项目的java代码

helloworld/flex-src:用于存放项目flex的相关代码

helloworld/WebRoot/WEB-INF/flex:存放flex的相关配置文件

3.3、设置Flex Project Nature

3.4、在helloworld/flex-src下,新建MXML Application :helloworld.mxml  ,内容如下:

layout=”vertical”>

id=”helloWorldService”>

result=”sayHelloResult(event)”/>

result=”sayWorldResult(event)”/>

click=”sayHello(event);”/>

click=”sayWorld(event);”/>

import mx.rpc.events.FaultEvent;

import mx.controls.Alert;

import mx.rpc.events.ResultEvent;

function sayHello(event:Event):void

{

var inputVar:String=inputStr.text;

helloWorldService.hello(inputVar);

}

function sayWorld(event:Event):void

{

var inputVar:String=inputStr.text;

helloWorldService.world(inputVar);

}

private function sayHelloResult(event:ResultEvent):void

{

result.text=event.result.toString();

Alert.show(event.result.toString(), "返回结果");

}

private function sayWorldResult(event:ResultEvent):void

{

result.text=event.result.toString();

Alert.show(event.result.toString(), "返回结果");

}

]]>

3.5、修改remoting-config.xml,增加对destination的说明

com.yeeach.HelloWorldService

3.6、设置Flex Build Path等相关属性

1)右键->Properties,设置Flex Build Path属性,将Main source folder修改为flex-src,然后点击“OK”

2)右键->Properties,设置Flex Applications属性,添加flex-src下的其他Application,然后点击“OK”

如果需要添加flex-src子目录下的其他Application(例如helloworld/flex-src/com/yeeach/helloworld1.mxml),目前从UI界面似乎无法正确添加,可以直接修改.actionScriptProperties,在中间增加相应的Application

3)右键->Properties,设置Flex Compiler属性,将Flex SDK version 修改为“Use default”或“Use a specific SDK”,指向正确的Flex SDK;确认“Additional compiler arguments”配置参数正确,然后点击“OK”

4)右键->Properties,设置Flex Server属性,配置为正确的参数,然后点击“OK”

3.7、部署helloworld 应用到Tomcat

3.8、分析helloworld.mxml

layout=”vertical”>

id=”helloWorldService”>

//此处的destination=”com.yeeach.HelloWorldService”与remoting-config.xml中的id=”com.yeeach.HelloWorldService”完全匹配

//id=”helloWorldService”用来在actionscript中标识destination=”com.yeeach.HelloWorldService”,后面的helloWorldService.hello(inputVar)等都使用此id;

result=”sayHelloResult(event)”/>

//mx:method 声明java类com.yeeah.com.HelloWorldService中的hello方法及响应结果回调函数sayHelloResult

result=”sayWorldResult(event)”/>

click=”sayHello(event);”/>

click=”sayWorld(event);”/>

import mx.rpc.events.FaultEvent;

import mx.controls.Alert;

import mx.rpc.events.ResultEvent;

function sayHello(event:Event):void

{

var inputVar:String=inputStr.text;

helloWorldService.hello(inputVar);

}

function sayWorld(event:Event):void

{

var inputVar:String=inputStr.text;

helloWorldService.world(inputVar);

}

private function sayHelloResult(event:ResultEvent):void

{

result.text=event.result.toString();

Alert.show(event.result.toString(), "返回结果");

}

private function sayWorldResult(event:ResultEvent):void

{

result.text=event.result.toString();

Alert.show(event.result.toString(), "返回结果");

}

]]>

flex java blazeds_使用BlazeDS实现Java和Flex通信(转载)相关推荐

  1. flex java oracle_Flex使用Blazeds与Java交互及自定义对象转换详解-DATAGRID读取ORACLE数据...

    一.建立Flex与Java交互的工程. 本文中讲到的交互是利用Blazeds的,因为这个是免费的,呵呵,我是穷人. 首先就是去下载Blazeds的压缩包,这个可以从官网或者CSDN.JavaEye上下 ...

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

    http://zhan.zhmy.com/archives/2010/158552.html [转]使用BlazeDS实现Java和Flex通信之hello world 1 推荐 新的项目对用户体验及 ...

  3. java后台 flex前台例子_flex+blazeds+java后台消息推送(简单示例)

    现在有个问题需要大家思考一下,有个已经上线了的项目,有好好几千甚至上万的客户在使用了.现在项目开发商想发布一个通知.在今天下午6点需要重新启动服务器,想让在线的人在在预定的时间内都收到消息,让大家做好 ...

  4. flex通过blazeds与java实现增删改查-整个实现流程

    1,建一个userdb库,再建userinfo表,字段:id(int),username(varchar),password(varchar). 2,DBConnection.java package ...

  5. FLEX 与JAVA的LCDS BLAZEDS配置

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! FLEX ...

  6. flex java blazeds_FLEX 与JAVA的LCDS BLAZEDS配置. | 学步园

    FLEX 与JAVA的LCDS BLAZEDS配置. 1.构架原理 Flash Remoting的原理类似于Resin的Hessian,都是使用基于HTTP协议的轻量级二进制协议,即AMF. Flas ...

  7. 使用BlazeDS实现Java和Flex通信

    使用BlazeDS实现Java和Flex通信 Posted on 2010-01-13 17:22  疯狂 阅读(4528)  评论(0)   编辑   收藏 所属分类:  flex  world 转 ...

  8. blazeds调用java_Flex使用Blazeds与Java交互及自定义对象转换详解(转)

    一.建立Flex与Java交互的工程. 本文中讲到的交互是利用Blazeds的,因为这个是免费的,呵呵,我是穷人. 首先就是去下载Blazeds的压缩包,这个可以从官网或者CSDN.JavaEye上下 ...

  9. flex socket java_使用Java编写Socket服务器,并且与Flex通信(二)

    通过对第一个例子的学习,已经对Socket有了一个比较清晰的认识. 不过第一个例子有一个问题,就是只能有一个客户端调用,下面我们把第一个例子的代码做一个改进,改成多客户端调用的. Java服务端代码T ...

  10. flex array java_Flex中ArrayCollection 与java中的ArrayList互转

    Flex中ArrayCollection与java中的ArrayList互转 这里说这是Flex用remoting传一个ArrayCollection到后台(后台也用ArrayCollection接参 ...

最新文章

  1. oracle的addm,addm报告分析 - Oracle数据库管理 - ITPUB论坛-中国专业的IT技术社区
  2. Ubuntu 14.04 改变文件或者文件夹的拥有者
  3. python123期末测试第十周答案_Python语言设计_章节测验,期末考试,慕课答案查询公众号...
  4. CentOS谢幕,Anolis OS的无限可能
  5. 别“躺”着了,赶紧把「复盘」做起来
  6. .lastevent、!analyze(dump分析、异常错误码查询)
  7. Codewars-The wheat/rice and chessboard problem(棋盘放谷粒)
  8. Mondrian and OLAP
  9. android中json解析及使用(中)
  10. 定时任务_SpringTask 定时任务
  11. Java基础知识总结(2021版)
  12. 高性能高并发服务的瓶颈及突破思路
  13. 英伟达各版本CUDA地址以及与驱动对应关系
  14. mysql mpm_zabbix+mysql mpm监控
  15. word在任意页面添加页码
  16. git-remote-https.exe-无法找到入口
  17. EXCEL表格-excel如何换行、批量换行
  18. 抖音整人/撩小姐姐代码(vbs脚本)
  19. 20个创意的产品包装设计
  20. r语言mfrow全程_R语言(绘图入门)

热门文章

  1. 微信公众号服务号如何在线给粉丝发送模板消息
  2. html设置图片高度宽度自适应屏幕,css让图片自适应屏幕大小的方法
  3. 【Aspose-CAD for Java】DWG如何优雅的转换成PDF文档!
  4. Windows-caffe安装
  5. 【孟姜女日记1】网安入门——渗透基础知识了解
  6. 物流系统管理课程(九)
  7. 斐讯N1救砖指南!值得收藏
  8. 单闭环直流调速系统仿真实验
  9. SPSS-论文常用格式-三线表
  10. 网易云音乐api、QQ音乐api、黑马电商api、小说api、漫画api接口