flex---->flex访问java远程对象
来源:互联网 发布:防辐射服有没有用 知乎 编辑:程序博客网 时间:2024/05/16 11:28
MyEclipse_8.6+flex_4+lcds(或者blazeds)
flex访问java的一个远程对象方法
需要软件:
apachetomcat.exe、
myeclipse-8.0.0-win32.exe、
jdk-6u12-windows-i586-p.exe、
FlashBuilder_4_Plugin_LS10.exe
lcds.war包 或者(blazeds.war)
一、环境配置
下载个lcds.war拷贝到Tomcat下的webapps文件夹中就好,运行下tomcat,访问http://localhost:8080/lcds看看有没有配置成功,
这样就可以得到lcds.war中的内容(两个文件夹和一个文件),下面web项目import用得到,也可以直接用winrar解压到一定路径,省的麻烦
blazeds类似,只不过blazeds没有欢迎界面
二、打开Myeclise8.0新建一个javaweb工程,选择javaEE 5.0如图2
三、右击WebRoot选择import—>GeneralàFile system,单击Browse选择tomoat服务器安装地址,然后选择webapps中的lcds文件夹,导入成功后发现在WEB-INF目录下面多了flex文件夹,这个很重要主要是通信的4个配置文件。
四,部署flexweb项目到tomcat里面。这部重要因为下面要整合flex必须得启动服务。部署成功,在Tomcat 服务器下面的webapps文件夹下就有flexweb这个文件夹了
发布时出现错误,2038端口已经被使用。并且是jvm进程在使用, 删掉tomcat中的lcds文件夹和lcds.war ,重新发布错误就没有了
五、转换为flex项目,首先选中你的jspweb项目右键选择添加/更改项目类型,在选择添加flex项目类型选服务器为j2ee,然后选择LCDS如图
选服务器为j2ee,然后选择Blazeds如图
六、 下一步配置你的服务器路径,
根文件夹就是服务物理路径,根URL就是你的访问路径我这里tomcat的端口是8080所以就这样填,看你的端口而定然后在加上你的项目名称,上下文根目录就填项目名称就行了。最后输出路径我把后面的目录改为flexhtml。记得点一下验证配置只有通过才有效哦,
七、解决创建的错误如图7
在这个路径新建zh_CN或者右键点击项目,properties ,flex编译器,将附带的编译器参数中的zh_CN改成en_US也行
找到Problems看到有一个错误然后我们右键选重新创建HTML模板。
这里错误已经解决,但是新的问题又来了,
将错误文件中第39行javascript注释删掉或者将<!-- -->改成//
八、src是java的源文件夹存java源代码地方,但是现在被flex给占用了,更改flex的项目源文件为flex_src,右键项目属性找到flex构键路径的主源文件夹把src改为flex_src
然后把src文件夹里面的flexweb.xml移动到flex_src文件夹里面,最终目录路径如图
九、下面实现flex与java通信
现在基本的弄好了,现在就是要配置相关文件了,首先我们打开之前做好flexweb项目,然后切换到Myeclipse视图。在src目录创建java文件
1. 什么是RemoteObject?
顾名思义,即远程对象。这里指的就是在Flex中获取Java里的对象。有什么用呢?这样Flex可以更加简单的获取服务端的数据,比如你在Java中有个方法进行了数据查询,取出的结果是Array类型,那么你可以很容易通过Flex里的RemoteObject访问到该类,并调用该方法,最后返回的数据是Flex也兼容的Array对象。
编写如下代码
package test; public class FirstJavaClass {public String sayHello(String str){return"你说的是:"+str;}}
3. 配置Flex LCDS的Remoting-config.xml
1). 他是remoteobject和相关远程访问的配置文件,
2). 改写其代码如下
<?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="FirstJavaClassRemoteObject"> <properties> <source>test.FirstJavaClass</source> <scope>application</scope> </properties> </destination> </service>
说明:一个destination指定的就是一个RO对象,他的id就是在Flex中RO请求的destination,source指的是这个Java类的路径
注意:在修改了配置文件后可能需要重启web服务器(Tomcat)
4. 编写mxml来请求RO
1). 打开flexweb.mxml编写代码如下
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"><mx:Script><![CDATA[import mx.rpc.events.ResultEvent;import mx.controls.Alert;private function callRO(str:String):void{firstRO.sayHello(str);firstRO.addEventListener(ResultEvent.RESULT,getROResult);}private function getROResult(e:ResultEvent) :void {Alert.show(e.result.toString());}]]></mx:Script><mx:RemoteObject id="firstRO" destination="FirstJavaClassRemoteObject"/><mx:Button click="callRO('hi~你好')" label="请求" /></mx:Application>
十、重新deploy项目
右键点击flexweb.mxmlrun as web 应用程序,
或者访问http://localhost:8080/flexweb/flex/flexweb.html
LCDS与Blazeds区别:
先简单说一下Blazeds,简单的讲Blazeds就是flex与java平台进行交互的工具,当然不仅限于java语言,也包括运行在java平台上的其他语言。 其实BlazeDS可以看成是LCDS的一个子集,而且是一个开源产品,在一般的项目中完全可以替代LCDS.
- flex---->flex访问java远程对象
- Flex通过RemoteObject访问远程Java对象
- flex访问java对象
- Flex RemoteObject 限制远程Java对象可访问方法
- flex调用远程java对象的属性
- Flex快速入门系列之二:FlashBuilder创建项目以及远程JAVA对象访问(包括spring)篇
- Flex快速入门系列之四:idea创建项目以及远程对象访问
- 【flex cookbook】如何使用远程对象
- flex传递对象给java
- flex传递对象给java
- Flex与java传递对象
- flex部署到tomcat,远程访问无法与java交互的问题
- Flex+Java+Oracle详细配置说明,Flex访问Oracle数据库
- Flex+Java+Oracle详细配置说明,Flex访问Oracle数据库
- Flex+Java+Oracle详细配置说明,Flex访问Oracle数据库
- Java对象和Flex对象映射关系
- Flex 对象转换为java对象
- Flex 获得远程数据
- (译)Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.2多彩的精灵
- 第七周任务一
- Storing floating point numbers
- Servlet简介
- (译)Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.3运动的精灵
- flex---->flex访问java远程对象
- 第五周实验报告(二)
- 在 EmEditor 中通过大纲视图列出 INI 文件中的 Section
- (译)Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.4绘制OpenGL图形
- (译)Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.5播放视频文件
- 第五周实验报告(三)
- 闪腰记
- (译)Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.6网格,粒子,追尾特效
- 第六周实验报告(一)