加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex 和java 一起开发.实验远程调用.

发布时间:2020-12-15 03:34:31 所属栏目:百科 来源:网络整理
导读:? ? 首先下载最新的 BlazeDS ? http://opensource.adobe.com/blazeds/ ? 最新BlazeDS下载地址. ? http://opensource.adobe.com/wiki/display/blazeds/Release+Builds ? 下面就开始使用flex 创建一个 带java 的web 工程了. ? 创建工程 ? 下载的是一个 war 文

?

?

首先下载最新的 BlazeDS

?

http://opensource.adobe.com/blazeds/

?

最新BlazeDS下载地址.

?

http://opensource.adobe.com/wiki/display/blazeds/Release+Builds

?

下面就开始使用flex 创建一个 带java 的web 工程了.

?

创建工程

?

下载的是一个 war 文件..不用解压缩. 这个在创建工程的时候用到.

?


创建一个 flex的工程.
?


?选择 J2EE.

设置 flex 生成文件目录.我是直接修改成WebContent/flex_web文件夹下面

方便flex 编译后 直接放到这个地方.而不用再拷贝一下了.
?

设置flex 源文件 目录.
?


?

?

这样编译后的flex 就放到 WebContent下面的flex_web文件夹了.

而编译后的java 还放到 WEB-INF/classes文件夹下面.

并且在war里面的lib也一起拷贝过来了.


?然后启动tomcat.6.0

?

就可以访问.

运行远程调用.

然后引用 flex 开发宝典的例子.


下载地址.:

?

http://as.wiley.com/WileyCDA/WileyTitle/productCd-0470287640,descCd-DOWNLOAD.html?filter=DOWNLOAD

?

第 chapter24 的源文件夹.

?

修改配置编译文件.选择工程属性.

?

添加源文件.

?


然后 修改

?

remoting-config.xml

?

添加

<destination id="helloClass">
		<properties>
			<source>flex3Bible.ROService</source>
			<scope>application</scope>
		</properties>
	</destination>

?

添加一个远程访问的类.

?

类就是一个普通的pojo类.

?

public class ROService {

	public ROService() {
		System.out.println("初始化类.");
	}

	public String helloWorld() {
		System.out.println("函数被调用.");
		return "Hello from the world of Java";
	}
...

flex调用代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  backgroundColor="#EEEEEE">
  
  <mx:Script>
    <![CDATA[
      import mx.rpc.remoting.mxml.Operation;
      private function callIt():void
      {
        var op:Operation = roHello.getOperation("helloWorld") as Operation;
        op.send();
      }
    ]]>
  </mx:Script>
  
  <mx:RemoteObject id="roHello" destination="helloClass"/>
    
  <mx:Label text="Hello from BlazeDS!" fontSize="14" fontWeight="bold"/>
  
  <mx:Button label="Click to say hello" click="callIt()"/>
  
  <mx:Label text="{roHello.helloWorld.lastResult}"
    fontSize="14" fontWeight="bold"/>
  
</mx:Application>
?

?

?然后访问 tomcat 地址:

?

http://127.0.0.1:8080/chapter24_test/flex_web/CallOperation.html

?

发现调用不成功.弹出 debug 错误信息. (ie 下面安装了 flashplayer_10_ax_debug)

?


从错误信息可以很明显的发现是 访问不到服务.

?

'http://127.0.0.1:8080/WebContent/messagebroker/amf'"

?

我的tomcat 路径不是这个 .WebContent是文件夹的名字.

?

最后找到问题.

?

修改 工程属性 的 serve 配置.

?


修改了配置文件后. 重新编译 flex 文件.

不知道这个配置文件是否和flex生成的文件有关系.就重新编译了下.

?

访问页面可以调用.

?


显示 是从 java的服务端调用.


总结:

?

工具配置生成.做了好多事情.剩下的就是在.remoting-config.xml里面添加自己的java类.然后在flex里面调用.

?

<mx:RemoteObject id="roHello" destination="helloClass"/> 进行调用下.

这样就可以通信了.工程里面还有几个例子.大同小异.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读