最近学习了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是一种将Java应用程序与使用Adobe Flex或...这个过程涉及到对AMF协议的理解、OpenAMF库的使用以及Java对象的序列化和反序列化技术。在实际项目中,可能还需要根据具体需求进行相应的定制和优化。
FLEX连接java的开源框架
【标题】"openamf-java" 是一个基于Java实现的远程方法调用(Remoting)框架,名为OpenAMF。这个框架允许开发者在不同的应用程序之间高效地交换数据和服务,特别适用于构建分布式系统。 【描述】"openamf,java版本的...
OpenAMF,全称为Open Action Message Format,是一款开源的AMF(Action Message Format)服务器,它为开发人员提供了一种高效、低级别的数据交换协议,常用于Flex、Flash Player和其他Adobe技术之间的通信。OpenAMF ...
总结来说,OpenAMF提供了一种简单的方法来整合Java服务与Flash客户端,使得跨平台的数据交互变得更加容易。通过配置Tomcat,设置正确的目录结构,编写Java服务和Flash客户端代码,我们可以实现Flash应用与Java后端的...
AMF是Flash Player与服务器之间进行数据交互的核心技术。它能够将复杂的对象结构高效地编码为二进制流,从而显著减少网络传输的数据量,提高通信速度。AMF有两种主要的版本:AMF0和AMF3,AMF3提供更好的压缩率和更高...
OpenAMF,全称为Open Action Message Format,是一个开源的Java框架,主要用于在Java服务器和Adobe Flash客户端之间建立灵活的数据通信。这个框架允许开发者利用ActionScript(Flash编程语言)与Java进行交互,实现...
已经在早前就听说了,Adobe公司的开源项目bazeds,可是当时做flash,用到了openamf,所以没有在意,但是现在觉得flex开发应用软件更具有杀伤力,所以准备研究flex。折腾了一周的时间想做个flex+java的helloworld例子...
NULL 博文链接:https://balan326.iteye.com/blog/1285663
标题“构建FLASH和JAVA FOR SPRING应用(一)”揭示了我们即将探讨的主题,即如何在Spring框架中集成Flash和Java技术,以便创建一个交互式的Web应用程序。这通常涉及到使用Adobe Flex作为前端开发工具,与后端Spring...
该框架融合了多种技术,如Flex前端展示层、OpenAMF作为数据传输中间件、Spring框架进行服务层管理以及Java后端业务逻辑处理,构建了一个高效且灵活的开发环境。 1. **Flex技术**:Flex是一种用于构建富互联网应用的...
此外,还有其他通信方式,如OpenAMF,它们实现ActionScript与Java数据格式之间的转换,使用AMF协议进行序列化和反序列化操作。 ActionScript(AS3)是Flex的基础脚本语言,与Java和JavaScript有诸多相似之处。AS3中...
在Flex中开发XMPP应用,通常会结合Adobe BlazeDS或OpenAMF等中间件,它们可以处理与Java后端的通信。BlazeDS提供了与Java Remoting和Web Services的集成,使得Flex客户端可以方便地调用服务器端的方法,实现XMPP功能...
1. **HTTPService**:这种方式简单通用,但在处理大量数据时效率较低。 2. **WebService**:使用DataTable返回数据,虽然具有较好的通用性,但由于缺乏内置的分页功能,在大型数据交互时速度较慢。 3. **Remoting**...
- openamf.jar:可能是一个Flex或AMF(Action Message Format)相关的库,用于客户端与服务器间的数据传输。 - junit.jar:JUnit是Java单元测试的标准框架,用于编写和执行测试代码。 - jsp-api-2.0.jar:JavaServer...