分享

FLEX+JAVA实现前后台交互时,配置文件应该如何设置?

 青云中原第一馆 2016-12-08

要实现flex与Java的交互,主要的配置对象是针对后台JAVA工程进行配置,后台需要的配置文件和JAR包在我的资源中已经上传,名为“blazeds.rar”,各位也可以在网上直接下载。

由于本人也是初学者,对该交互理解也不是特别深,所以重点会讲解如何配置,至于为什么这样配置只能凭我的个人理解去作些简单说明,也希望各位高手们能多多指点。

废话不多说了,直接上图:

一)将blazed工程中的FLEX和lib文件夹中xml文件和jar包覆盖到你的目标后台中,两文件夹中文件列表如图:

flex文件夹:,lib文件夹:

 

务必核对清楚,千万别少了什么jar包。

二)对java工程的web.xml文件进行配置,配置信息如下:

如图,标红的地方为千万要注意的,这几行配置一定不要弄丢了,因为这个地方是给flex通过amf向后台请求时,java识别的URL标识,

加上这两段后,基本上后台的配置就配好了,当flex前端需要向后台发出请求时,只需对remot-config配置文件中添加对应的action指向就可以,代码如下:

注:配置中的“ID”是flex前端引用的名称,"source"则是指向后台的目标类文件。

 

后台配置完成了,再说说前台如何进行请求,以及如何对flex前端的reomoteObject类进行封装重定义:

创建一个MyRemotObject类文件,继承RemoteObject,然后再该类中,添加如下方法(failure:Function方法省略了,可以自己随便定义并作相应的处理):

public static function process(token:AsyncToken, successFunction:Function,failure:Function=null,isShowProcessBar:Boolean=true):void{

   if(failure == null){
    failure = Failure;
   }
   token.addResponder(new mx.rpc.Responder(
    function(event:ResultEvent):void{
     FlexGlobals.topLevelApplication.processBarVisible = false;
     successFunction(event);
    },
    function(event:FaultEvent):void{
     FlexGlobals.topLevelApplication.processBarVisible = false;
     failure(event);
    }
   ));
  }

截图如下:

,写好上面的类方法后,我们在项目中,当需要向后台发出请求时,就不用每个文件中都添加 mx:RemoteObject  这个玩意了,太麻烦,也不方便。

引用上述方法访问后台的格式是:

MyRemoteObject.process(instance.sayHelloWorld(name), function(event:ResultEvent):void{
    handler(event.result.toString());
   });

截图如下:

 

1)标红框的地方是一个简单的实现singleton的方法体,主要是希望每次请求时,只创建一次remoteObject,其中,“红框”中,new MyRemoteObject("")引号中的“testService",就是JAVA后台中”Remote-config“中,配置的ID的值,

2)下面用”蓝框”标识的是,访问后台JAVA中的方法名,括号中的参数则是传给JAVA后台的参数,通过AMF方式与后台交互,参数可以是String也可以是Object,如果是Object,后台接收时,可以当成Hashmap类型来接收参数。

添加完上面几个配置文件和类文件后,基本上可以进行测试了,只要严格按我上面的方法来做,不要少了或漏配什么文件,相信一定是可以运行成功的,如果配置完后运行不起来的话,请留言给我,大家再一起探讨一起学习下!

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多