`
wangchao_17915566
  • 浏览: 169554 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

openamf技术简单例子

阅读更多

最近学习了openamf技术,总结下:

首先需要openamf.war,网上搜索可以得到,此技术主要是用于flash与java交互。

建立java的web项目,建立完成,建立类中的方法,看代码:

package com.cn.flash;

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

public class Hello {

	public String getHello(){
		return "Hello world!"; 
	}
	
	public List getlist(){
		List list = new ArrayList();
		Person person = new Person();
		person.setId("1");
		person.setName("1.name");
		person.setSex("1.sex");
		
		Person person1 = new Person();
		person1.setId("2");
		person1.setName("2.name");
		person1.setSex("2.sex");
		list.add(person);
		list.add(person1);
		return list;
	}
	public Person getPerson(){
		Person person = new Person();
		person.setId("1");
		person.setName("1.name");
		person.setSex("1.sex");
		return person;
	}
	public static void main(String arg[]){
		Hello h = new Hello();
		Person person = new Person();
		person = h.getPerson();
//		List list=h.getlist();
//		person = (Person)list.get(1);
//		System.out.println(list.get(0));
		System.out.println(person.getName());
	}
}

 

此代码定义了几个方法,其中还有javabean

package com.cn.flash;

public class Person {

	private String id;
	private String name;
	private String sex;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
}

 

很简单,这个也完全适用与spring+hibernate表现层就不用java开发人员关心了。

下面就是通过flash进行远程调用java方法。首先保证刚才的程序,发布,并启动tomcat。

下面看看如何配置,将openamf.war,在tomcat中展开,并将webinf中的内容,copy在您自己的项目中。

最后配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
   <display-name>flash</display-name>
   <description>java for flash application</description>    
    <!-- openamf gateways -->
    <servlet>
        <servlet-name>DefaultGateway</servlet-name>
        <display-name>DefaultGateway</display-name>
        <description>DefaultGateway</description>
        <servlet-class>org.openamf.DefaultGateway</servlet-class>
        <init-param>
            <param-name>OPENAMF_CONFIG</param-name>
            <param-value>/WEB-INF/openamf-config.xml</param-value>
            <description> </description>
        </init-param>
    </servlet>    
    <servlet-mapping>
        <servlet-name>DefaultGateway</servlet-name>
        <url-pattern>/gateway</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

 

最后就是flash中的as3代码

package 
{
	import flash.display.Sprite;
	import flash.display.Sprite;
    import flash.net.NetConnection;
    import flash.net.Responder;
	public class Main extends Sprite
	{	
	    private var gateWayUrl:String = "http://localhost:8080/Flash/gateway";
        private var remotingNc:NetConnection;

		public function Main():void
		{
			trace("Main..........");
			init();
		}
		
		private function init():void{
            remotingNc = new NetConnection();
            remotingNc.connect(gateWayUrl);
            //remotingNc.call("com.cn.flash.Hello.getHello", new Responder(getMsgResult, getMsgFault));
			//remotingNc.call("com.cn.flash.Hello.getlist", new Responder(getMsgResult, getMsgFault));
			remotingNc.call("com.cn.flash.Hello.getPerson",new Responder(getMsgResult,getMsgFault));
        }
        
        private function getMsgResult(re:*){
            trace("从remoting返回信息成功:", re);
			//得到对象
			var a:Object = new Object();
			a = re;
			trace(a.id);
			//person.setId();
        } 
        
        private function getMsgFault(fe:*){
            trace("从remoting返回信息失败:",fe.code);
        }

	}
}

  此代码,对于as3的学习这应该不难理解,这里就不对说了。

完!

分享到:
评论

相关推荐

    java调用openamf实例,把取回的结果转换成list或bean.

    Java调用OpenAMF是一种将Java应用程序与使用Adobe Flex或...这个过程涉及到对AMF协议的理解、OpenAMF库的使用以及Java对象的序列化和反序列化技术。在实际项目中,可能还需要根据具体需求进行相应的定制和优化。

    openamf-1.0RC12.zip

    FLEX连接java的开源框架

    openamf-java

    【标题】"openamf-java" 是一个基于Java实现的远程方法调用(Remoting)框架,名为OpenAMF。这个框架允许开发者在不同的应用程序之间高效地交换数据和服务,特别适用于构建分布式系统。 【描述】"openamf,java版本的...

    openamf-1.0RC12-exampless.rar

    OpenAMF,全称为Open Action Message Format,是一款开源的AMF(Action Message Format)服务器,它为开发人员提供了一种高效、低级别的数据交换协议,常用于Flex、Flash Player和其他Adobe技术之间的通信。OpenAMF ...

    第十五节 OPENAMF.docx

    总结来说,OpenAMF提供了一种简单的方法来整合Java服务与Flash客户端,使得跨平台的数据交互变得更加容易。通过配置Tomcat,设置正确的目录结构,编写Java服务和Flash客户端代码,我们可以实现Flash应用与Java后端的...

    openamf-1.0.2

    AMF是Flash Player与服务器之间进行数据交互的核心技术。它能够将复杂的对象结构高效地编码为二进制流,从而显著减少网络传输的数据量,提高通信速度。AMF有两种主要的版本:AMF0和AMF3,AMF3提供更好的压缩率和更高...

    openamf最完整实例java + flash+eclipse工程源码

    OpenAMF,全称为Open Action Message Format,是一个开源的Java框架,主要用于在Java服务器和Adobe Flash客户端之间建立灵活的数据通信。这个框架允许开发者利用ActionScript(Flash编程语言)与Java进行交互,实现...

    flex and blazed blazeds简单例子

    已经在早前就听说了,Adobe公司的开源项目bazeds,可是当时做flash,用到了openamf,所以没有在意,但是现在觉得flex开发应用软件更具有杀伤力,所以准备研究flex。折腾了一周的时间想做个flex+java的helloworld例子...

    openamf自行小改动获取客户端请求IP

    NULL 博文链接:https://balan326.iteye.com/blog/1285663

    构建FLASH和JAVA FOR SPRING应用(一)

    标题“构建FLASH和JAVA FOR SPRING应用(一)”揭示了我们即将探讨的主题,即如何在Spring框架中集成Flash和Java技术,以便创建一个交互式的Web应用程序。这通常涉及到使用Adobe Flex作为前端开发工具,与后端Spring...

    Moonfree-开源

    该框架融合了多种技术,如Flex前端展示层、OpenAMF作为数据传输中间件、Spring框架进行服务层管理以及Java后端业务逻辑处理,构建了一个高效且灵活的开发环境。 1. **Flex技术**:Flex是一种用于构建富互联网应用的...

    FLEX培训总结

    此外,还有其他通信方式,如OpenAMF,它们实现ActionScript与Java数据格式之间的转换,使用AMF协议进行序列化和反序列化操作。 ActionScript(AS3)是Flex的基础脚本语言,与Java和JavaScript有诸多相似之处。AS3中...

    IM 即时通讯 开发实例

    在Flex中开发XMPP应用,通常会结合Adobe BlazeDS或OpenAMF等中间件,它们可以处理与Java后端的通信。BlazeDS提供了与Java Remoting和Web Services的集成,使得Flex客户端可以方便地调用服务器端的方法,实现XMPP功能...

    Flex4 SQL2005

    1. **HTTPService**:这种方式简单通用,但在处理大量数据时效率较低。 2. **WebService**:使用DataTable返回数据,虽然具有较好的通用性,但由于缺乏内置的分页功能,在大型数据交互时速度较慢。 3. **Remoting**...

    struts,spring,hibernate.jar 包大全(五)

    - openamf.jar:可能是一个Flex或AMF(Action Message Format)相关的库,用于客户端与服务器间的数据传输。 - junit.jar:JUnit是Java单元测试的标准框架,用于编写和执行测试代码。 - jsp-api-2.0.jar:JavaServer...

Global site tag (gtag.js) - Google Analytics