`

BlazeDS的初步使用

    博客分类:
  • Flex
阅读更多

刚接触这东西的时候去网上了解了哈,BlazeDS用于flex和J2EE交互,首先下载blazeds-bin-3.2.0.3978.zip (4.3 MB) ,对源码感兴趣的可以附加源码后看,当然这个不是最新的,解压后里面有两个文件,使用的是blazeds.war,在对blazeds.war直接解压,解压后有META-INF和WEB-INF两个目录,新建一个HelloWorld的web项目,如图:

 


 
 我在lib目录下面新建了一个flex文件夹,便于管理哈,不是必须的,直接将blazeds.war解压后的WEB-INF里面的lib里面所有jar放入flex文件夹中,在将WEB-INF里面的flex文件夹放入Helloworld项目的WEB-INF下面,该文件夹里面有4个配置文件:messaging-config.xml,proxy-config.xml,remoting-cofig.xml,services-config.xml

接着讲blazeds.war解压后的WEB-INF里面web.xml替换掉Helloworld里面的web.xml,当然也可以把内容复制过去。

这样java端就配置好了,感觉和struts等框架的配置过程差不多,新建一个HelloWorldBiz类,里面有两个方法给flex调用测试的,代码如下:

package org.story.xxxx.biz;

import java.util.ArrayList;
import java.util.List;

import org.story.xxxx.entity.User;

public class HelloWorldBiz {

	public String sayHelloWorld(String username) {
		System.out.println("HelloWorldBiz.sayHelloWorld()");
		return "欢迎你:" + username;
	}

	public List getList() {
		System.out.println("HelloWorldBiz.getList()");
		List list = new ArrayList();
		for (int i = 0; i < 10; i++) {

			list.add(new User(i, "chenjun" + i, "password" + i));
		}

		return list;
	}
}

 在建一个实体作为测试用的,代码如下:

package org.story.xxxx.entity;

public class User {

	private int id;
	private String username;
	private String password;

	public User() {
	}

	public User(int id, String username, String password) {
		super();
		this.id = id;
		this.username = username;
		this.password = password;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}

 

 现在配置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="helloWorldBiz">
  		<properties>
  			<source>org.story.xxxx.biz.HelloWorldBiz</source>
  		</properties>
  	</destination>
</service>

 自此需要测试的东西都准备好了。

 现在创建flex项目,第一步如图:




 
 

注意所选服务为J2EE,下一步如图:




 
 Root folder:定义为server端程序的发布路径,就是HelloWorld项目部署到tomcat下面的webapps路径

Root URL:定位为server端程序的URL访问路径,虚拟路径,最好前面要指明是属于哪个项目下的

Context root:上下文根目录,就是HelloWorld项目名字

Output folder:输出文件夹,该文件夹类似于开发jspWebRoot下面的一个文件夹而已。

组后点击Validate configuration,测试哈时候通过。finish,如图:



  

 

FlexHelloWorld.mxml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.rpc.events.ResultEvent;
			import mx.rpc.remoting.mxml.RemoteObject;
			
			//声明一个远程对象
			private var remote:RemoteObject = new RemoteObject();
			
			//初始化远程对象信息 
			public function init():void{
				//指定要调用的java类,就是remoting-config.xml里面配置的那个东西
				remote.destination="helloWorldBiz";
				//以下是对两个方法注册结果事件的回调
				remote.sayHelloWorld.addEventListener(ResultEvent.RESULT,doHelloWorld);
				remote.getList.addEventListener(ResultEvent.RESULT,doGetList);
			}
			
			public function doHelloWorld(event:ResultEvent):void{
				//将结果显示在文本框中
				txtSay.text = event.result.toString();
				
			}
			
			public function doGetList(event:ResultEvent):void{
				//将后台返回的list直接绑定到dataGrid上面去
				dataGrid.dataProvider = event.result;
			}
		]]>
	</mx:Script>
	<mx:Button x="10" y="10" label="sayHelloWorld" click="remote.sayHelloWorld('chenjun');"/>
	<mx:Button x="10" y="40" label="getList" click="remote.getList();" width="108"/>
	<mx:DataGrid x="126" y="39" width="309" height="202" id="dataGrid">
		<mx:columns>
			<mx:DataGridColumn headerText="id" dataField="id"/>
			<mx:DataGridColumn headerText="username" dataField="username"/>
			<mx:DataGridColumn headerText="password" dataField="password"/>
		</mx:columns>
	</mx:DataGrid>
	<mx:TextInput x="126" y="10" width="266" id="txtSay"/>
</mx:Application>

 至此就完成flex项目,启动tomcat,在运行FlexHelloWorld,点击页面上的两个方法,返回结果,说明成功交互。

没什么技术含量,为了让大家少走弯路,和大家一起分享。源代码BlazeDS的初步使用源码.rar (4.7 MB)

  • 大小: 6.2 KB
  • 大小: 37.2 KB
  • 大小: 53.5 KB
  • 大小: 50.5 KB
分享到:
评论
1 楼 djb_daydayup 2010-09-14  
学习了,谢谢。。。
je需要这样的新手指导文章

相关推荐

    flex blazeDS开发使用手册,对于集成blaze开发很有用处。

    Flex BlazeDS开发使用手册是Adobe官方提供的一份详尽指南,旨在帮助开发者高效地集成BlazeDS框架到Flex应用程序中。BlazeDS是一款开源的服务器端技术,它为富互联网应用(RIA)提供了数据推送、消息传递和Remoting...

    blazeds使用步骤和包

    在本文中,我们将深入探讨Blazeds的使用步骤以及如何通过提供的文件进行框架搭建。 1. **Blazeds的安装与部署** 首先,你需要下载Blazeds的发行版,其中包括了`blazeds.war`文件。这个文件是一个WAR(Web ARchive...

    Flex4与JavaWeb工程基于Blazeds初步整合

    NULL 博文链接:https://zz8.iteye.com/blog/976401

    blazeds4.7官方下载

    2. **Web消息传递(Messaging)**:BlazeDS还支持发布/订阅模型的消息传递机制,通过使用Topic概念,客户端可以订阅特定的主题,当服务器端有新消息发布到该主题时,所有订阅者都会收到通知。这种实时通信模式对于...

    BlazeDS,PureMVC

    BlazeDS通信到Java的PureMVC——Flex框架,BlazeDS的服务器配置比较麻烦,这里使用的是直接下载blazeds_turnkey_3-0-0-544.zip中的tomcat BlazeDS模板路径为: blazeds_turnkey_3-0-0-544.zip解压后路径\tomcat\...

    Spring BlazeDS Integration Spring集成BlazeDS

    **Spring BlazeDS Integration** 是一个强大的技术组合,它允许开发者使用Spring框架在后端服务器上进行业务逻辑处理,同时利用Adobe Flex在前端构建富互联网应用程序(RIA)。BlazeDS是Adobe提供的一种开源服务器端...

    使用BlazeDS实现Java和Flex通信

    在本文中,我们将探讨如何使用BlazeDS实现Java和Flex之间的通信。 首先,我们需要安装开发环境。选用Eclipse作为基础IDE,并通过Flex Builder 3插件来支持Flex开发。确保先安装Eclipse,然后安装插件,避免安装顺序...

    Blazeds入门教程.doc

    - 对于大多数应用场景而言,Blazeds已足够使用,且无需支付费用。 - Blazeds更注重社区支持和技术的持续发展。 - **部署与运行** - 创建完项目后,可以使用MyEclipse部署到本地的Tomcat服务器。 - 运行项目前,...

    使用BlazeDS实现flex与java 整合

    在本文中,我们将深入探讨如何使用BlazeDS来整合Flex和Java,以及在这个过程中可能遇到的关键技术和挑战。 一、BlazeDS架构与组件 BlazeDS包含多个关键组件: 1. **Remoting Service**:通过AMF协议提供远程方法...

    blazeds-turnkey-4.0

    BlazeDS通过使用轻量级消息协议(AMF)来提高数据传输效率,大大降低了网络延迟,使得实时交互成为可能。4.0版本的BlazeDS包含了多项改进和新特性,例如更优化的性能、更好的安全性和更多的API支持。 在提供的`...

    关于blazeds应用的一个例子

    在本例中,我们将探讨如何使用Blazeds进行实际的应用开发。 首先,我们需要了解Flex,它是Blazeds的一部分,是一种基于MXML和ActionScript的开源框架,用于创建RIA。MXML是用于构建用户界面的标记语言,而...

    blazeds 服务器war包

    本文将详细介绍Blazeds的核心概念、功能以及如何使用它。 Blazeds,全称BlazeDS,是Adobe Flex和后端服务器之间进行数据交换的一种解决方案。它的主要目标是提供灵活的数据集成,使Flex前端可以与Java后端服务进行...

    FLex与Java交互必备blazeds

    使用Blazeds,开发者可以在Flex界面中直接操作Java对象,比如EJB、Spring Bean或Hibernate实体,无需手动编写复杂的网络通信代码。此外,Blazeds还集成了Spring框架,使得Java服务的集成更加方便。 在实际开发中,...

    BlazeDS结合pdf导出的例子

    BlazeDS是一款由Adobe开发的开源服务器端技术,主要用于提供实时数据推送服务,它与Flex客户端(基于ActionScript的富互联网应用)配合使用,能够实现高效的数据交换和远程调用。在本例中,我们将讨论如何利用...

    flex与Myeclipse、blazeds整合开发

    这些配置完成后,就能够在MyEclipse环境中开发使用Flex作为前端、Java作为后端,利用Blazeds进行通信的Web应用程序了。这一过程不仅涉及到了后端Java开发的技术,还包括了前端的Flex开发技术,以及后端与前端通信的...

    blazeds4.0.1

    这个版本包含了两个主要的战争(war)文件:blazeds.war 和 blazeds-spring.war,以及它们对应的解压后的文件夹。这些资源都是为了帮助开发者在Java EE环境中集成Flex和ActionScript客户端应用。 1. **BlazeDS**: ...

    blazeDS war包及Flex结合blazeDS的入门程序

    ### BlazeDS War包及Flex结合BlazeDS的...通过以上步骤,我们完成了使用BlazeDS实现Java应用服务器与Flex客户端之间的远程调用的基础设置。此教程不仅适用于初学者,也对有一定基础的开发者提供了有价值的参考信息。

    Blazeds与java通信

    提供的"BlazedsDemo"可能是展示如何配置和使用Blazeds的示例代码。这个项目可能包含了创建Flex客户端、配置Blazeds服务、建立Java后台服务等步骤,帮助开发者理解Blazeds的工作原理。 9. **开发工具**: 开发...

    blazeds flash开源服务器

    3. **Live Data Services**:Blazeds提供了对Flex数据服务的良好支持,如使用LCDS(LiveCycle Data Services)提供的 Cairngorm 模式和 Value Objects,方便开发者构建复杂的Flex应用程序。 4. **Integration with ...

Global site tag (gtag.js) - Google Analytics