- 浏览: 109267 次
最新评论
-
u012273744:
很不错
MySQL存储过程学习 -
neusoft_jerry:
neusoft_jerry 写道上传代码要负责,起码自己运行一 ...
Flex消息例子(Producer和Consumer) -
neusoft_jerry:
上传代码要负责,起码自己运行一下,明显错误就上传,是对他人的不 ...
Flex消息例子(Producer和Consumer) -
jd2bs:
介绍挺详细的 改天试试看
MySQL存储过程学习
BlazeDS中包含了AMF 的 Java 实现,可以用来与服务器端的Java对象远程交互,也可以用来在客户端之间传递消息。开发人员可以借助 BlazeDS 的远程技术简单地调用 POJO、Spring 服务或EJB方法。开发人员可以通过其消息系统从客户端向服务器端发送消息,当然也可从服务器端向客户端发送消息。
BlazeDS 也可以与其他一些消息系统结合使用,比如JMS、ActiveMQ。由于其远程技术与消息系统采用的方式是在 HTTP 协议上传输 AMF 数据,BlazeDS 因此在性能上拥有很大优势,同时也避免了额外的数据抽象层的处理工作。BlazeDS 在很多基于 Java 的应用服务器环境下都能正常工作,这些服务器包括 Tomcat、WebSphere、WebLogic、JBoss 以及 ColdFusion。此外,无论是 web(在 Flash Player 中运行)还是桌面(在Adobe AIR下运行)的 Flex 应用程序中,BlazeDS 的使用都很简单。
一个BlazeDS 应用包括两个部分:一个客户端应用程序和一个服务端的J2EE 程序。
【客户端程序】
BlazeDS 客户端程序通常是一个Flex 或AIR 应用程序。Flex 和AIR 程序使用Flex 组件和BlazeDS 服务器通讯,包括RemoteObject,HTTPService,WebService,Producer 和Consumer组件,HTTPService, WebService,,Producer 和Consumer 组件都是Flex SDK 的一部分。
尽管通常使用Flex 或AIR 开发客户端程序,但也可联合使用Flex,HTML,JavaScript技术。或者用HTML 和JavaScript 通过Ajax client library 与BlazeDS 通讯。
【BlazeDS 服务端】
BlazeDS 服务端运行在J2EE 应用服务器上的WEB 应用中。BlazeDS 包含三个预定义的web 应用,可以作为开发自定义应用的基础。
为现存的J2EE web 应用配置BlazeDS 支持,执行以下步骤:
-
把BlazeDS 及其依赖的jar 包拷贝到WEB-INF/lib 下。
-
修改WEB-INF/flex 目录下有关BlazeDS的配置文件。
-
在WEB-INF/web.xml 文件中定义MessageBrokerServlet 和一个session listener。
BlazeDS 核心功能包括RPC Services 和Messaging Service。
下面开始一个简单的例子:
1.在Eclipse中新建一个Web工程"FlexAndJava_Server"。新建包并命名为"com.hebut.java",然后新建一个HelloWorld类。
HelloWorld.Java的内容如下所示:
package com.hebut.java;
public class HelloWorld
{
public String getInfo(String info)
{
return "服务器:"+info;
}
}
HelloWorld类的内容很简单,通过定义一个getInfo方法接收外部参数,返回字符串"服务器:"与外部参数连接的字符串。Flex客户端调用这个方法获得返回结果。
2.解压缩"blazeds.war"文件,将解压后的WEN-INF目录复制到Web工程的WebRoot目录下(覆盖原来的WEB-INF目录)。以记事本格式打开"WebRoot\WEB-INF\flex\"目录下的"remoting-config.xml"文件,在文件中定义一个远程服务,这样Flex应用程序才能调用这个远程服务。
在<services>节点下加入<destination>元素,定义一个服务目标,程序如下所示:
id属性用于定义Flex应用程序可以访问的服务目标,source属性定义该目标所指向的类。这里HelloWorld即代表"com.hebut.java.HelloWorld"类。 至此,服务器端的程序已经开发完成,部署到Tomcat服务器目录中,并启动Tomcat。 <?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.hebut.java.HelloWorld</source>
</properties>
</destination>
</service>
在Flex中,实现AMF-RPC应用要通过<mx:RemoteObject>组件完成,使用该组件可以访问应用服务器上的类。定义格式如下:
destination属性指定服务的目标,该属性的值一定要和Java工程的"remoting-config.xml"中的destination的id一样(安装BlazeDS后添加的那一段)。 (1)endpoint:可使开发人员在编译或以编程方式创建ChannelSet时快速指定RemoteObject目标的端点,而无须引用服务配置文件。在实现Java平台下的AMF-RPC应用时,该属性的值指定的格式为"/Java工程名/messagebroker/amf"。 (2)concurrency:指示如何处理对同一服务的多个调用的值,默认值为multiple,表示不取消现有请求,由开发人员负责通过管理事件流确保返回数据的一致性。其他有效值有single(每次只允许在此方法中发出一个请求);last(发出请求可导致客户端忽略任何当前未处理请求的结果或错误)。 (3)requestTimeout:提供对已发送消息的请求超时(以秒为单位)的访问。 (4) showBusyCursor:如果值为true,则在执行服务时显示忙状态光标,默认值为false。 <fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:RemoteObject id="组件ID" destination="服务目标" 属性="属性值" >
</s:RemoteObject>
</fx:Declarations>
3.新建一个Flex项目,名称为"FlexAndJava_Client"。单击"下一步"按钮设置应用程序类型为Java,程序的输出目录为Web应用程序目录,"根文件夹"设为Tomcat服务器下的文件夹。
Flex程序代码如下:
<?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:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
protected function btnSend_clickHandler(event:MouseEvent):void
{
agent.getInfo(txtSend.text);
}
protected function agent_resultHandler(event:ResultEvent):void
{
txtReceive.text=event.result as String;
}
protected function agent_faultHandler(event:FaultEvent):void
{
Alert.show("失败信息"+event.message.toString());
}
protected function btnClear_clickHandler(event:MouseEvent):void
{
txtSend.text="";
txtReceive.text="";
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<mx:RemoteObject id="agent" destination="HelloWorld"
result="agent_resultHandler(event)"
fault="agent_faultHandler(event)">
</mx:RemoteObject>
</fx:Declarations>
<s:Panel x="56" y="129" width="250" height="200" title="客户发送端">
<s:Button id="btnSend" x="146" y="129" label="发送"
click="btnSend_clickHandler(event)"/>
<s:TextArea id="txtSend" x="8" y="11" width="232" height="106"/>
<s:Button id="btnClear" x="37" y="130" label="清空"
click="btnClear_clickHandler(event)"/>
</s:Panel>
<s:Panel x="390" y="129" width="250" height="200" title="客户接收端">
<s:TextArea id="txtReceive" x="10" y="10" width="228"/>
</s:Panel>
</s:Application>
发表评论
-
Flex4 ButtonBar设置图标及获取选中对象
2012-07-06 16:56 2824不多说,直接上代码 <?xml version ... -
ActionScript的arguments 对象和...(rest) 参数
2012-06-21 17:34 1095arguments 对象 在将参数传递 ... -
ActionScript循环
2012-06-20 11:11 823循环语句允 ... -
ActionScript常量
2012-06-20 10:53 943ActionScript 3.0 支持 ... -
ActionScript3 数据类型
2012-06-20 10:23 854ActionScript 基元数据类型包括 B ... -
ActionScript动态类
2012-06-20 10:01 989“动态”类定 ... -
ActionScript中的is类型和as类型
2012-06-20 09:49 1162is 运算符 is 运算符是 ActionScr ... -
Flex tree 定位
2012-06-08 15:44 14101. 数据源为Object // tree上选择到网元 ... -
ArrayList转XML
2012-06-08 14:21 2100//ArrayList转换为xml var treedata ... -
Flex自定义Tree图标
2012-06-08 11:29 17871.数据源为xml <?xml version=&qu ... -
Flex特效
2012-06-06 10:51 1157这里面有许多特效很酷,希望对大家有帮助。 1.旋转 效果:ht ... -
Flex消息例子(Producer和Consumer)
2012-05-30 17:02 7455不多说,直接上代码,关于Flex消息的信息详见Fl ... -
flex消息服务
2012-05-25 13:54 28791, 初识消息服务: 相关概念: 消息(messa ... -
Cairngorm框架
2012-05-25 09:31 2591Cairngorm是由adobe公司推出的一个轻量级的 ... -
Flex效果
2012-04-18 16:50 9461.旋转 效果:http://www.alex-uhlmann ... -
Flex4 <s:DataGrid> 的用法
2012-04-11 15:01 16671Flex4中的s:DataGrid与Flex3的mx:Data ... -
Flex多选框的实现
2012-04-06 15:41 36311. 现在界面上放一个容器,如BorderContainer ... -
关于Flash/Flex如何引用父容器,根容器
2012-04-06 14:26 2636flash 中主要是 parent,r ... -
Flex tree 节点递归查找,并且选择该节点
2012-04-06 13:50 3079private function treeLoca ... -
Flex Tree节点的展开与收缩
2012-04-06 13:40 4539<?xml version="1.0&q ...
相关推荐
使用BlazeDS实现flex与java 整合 使用BlazeDS实现flex与java 整合 flex+java
flex_spring_blazeDS 项目是flex spring blazeDS 通过配置文件完成flex与java通信的可以正常运行的实例。该源码在flex4与MyEclipse环境下整合成功,实现了Flex、spring、blazeDS的整合。
flex通过blazeds与java集成增删改查, 各位朋友,压缩包绝对没问题,我自己下载就可以解压
│ BlazeDS集成Flex+Tomcat开发J2EE模块整合实例.doc │ Flex+Java+Json+BlazeDS+MySQL资料.doc │ Flex.pdf │ J2EE项目整合FLEX项目.doc │ 在eclipse 的一个项目中同时开发j2ee模块和flex 客户端模块.doc │
Java and Flex Integration,Java与Flex集成宝典,blazeds
1:BlazeDS集成 Flex+Tomcat开发J2EE模块整合实例 2:Flex + LCDS + Java 入门教程 3:Flex+Java+Json+BlazeDS+MySQL资料 4:J2EE项目整合FLEX项目 5:在eclipse 的一个项目中同时开发j2ee模块和flex 客户端模块
下载些文档免费,想学flex富因特网应用的web开发爱好者,学好这些有助提高用户体验,使用户更好地交互
MyEclipse8.5 集成开发 MyEclipse_8.5+flex_4+Blazeds配置 实现前后台的数据交互。
不过,针对 Java EE 开发的服务器端应用,可以通过集成 BlazeDS,充分利用 AMF 协议并能轻易与 Flex 前端交换数据,这种方式是 Java EE 应用程序集成 Flex 的首选。 BlazeDS 是 Adobe LifeCycle Data Services 的...
Spring BlazeDS Integration,Flex通过remoteObject与java通讯,附带例子 文档
不过,针对 Java EE 开发的服务器端应用,可以通过集成 BlazeDS,充分利用 AMF 协议并能轻易与 Flex 前端交换数据,这种方式是 Java EE 应用程序集成 Flex 的首选。 BlazeDS 是 Adobe LifeCycle Data Services 的...
Flex cookbook、flex与java交互、As3 中文API、AS3 编程清晰版、使用AS组件、BlazeDS集成Flex开发J2EE实例、Flex+Java配置、Flex+Java+Json+BlazeDS+MySQL资料、整合Flex和Java--配置篇…… (全部是中文材料)
本文详细介绍了,将Flahbuilder集成到Myeclipse中,Myeclipse中Jdk和Tomcat环境配置,通过jdbc连接数据库,Flex与java通讯通过blazeds方式等内容
在intellij中,搭建Flex和Java结合的环境,实现前后台使用blazeds传递数据的例子
Flex入门教程及帮助文档 整合Flex和Java--配置篇.pdf 构建全栈式Flex、BlazeDS和Spring集成解决方案
flex4+Myeclipse9.0集成环境下从MySql数据库取出数据通过DataGrid组建显示在flex页面。
10.6 使用BlazeDS和Spring消费面向消息的服务 421 10.6.1 问题 421 10.6.2 解决方案 422 10.6.3 工作原理 422 10.7 将依赖注入带给你的ActionScript客户 434 10.7.1 问题 434 10.7.2 解决方案 434 ...
10.6 使用BlazeDS和Spring消费面向消息的服务 421 10.6.1 问题 421 10.6.2 解决方案 422 10.6.3 工作原理 422 10.7 将依赖注入带给你的ActionScript客户 434 10.7.1 问题 434 10.7.2 解决方案 434 ...