目的:Flex 与 Java 通过 RemoteObject 进行交互
开发环境:
MyEclipse 6.0 集成 Flex Builder 3.0
BlazeDS:
下载BlazeDS,将blazeds.war文件放在tomcat的webapps目录下。
Flex+Java 配置:
1、切换到Flex视图,新建Flex project,如下图
说明:Java source folder就是你自己java业务源码存放的根目录,当然如果你不选择 combined 两个在一起,那么就麻烦些:要么你再单独新建一个Flex项目,而这个项目只写java代码。要么再建一个J2ee工程写java代码,而这因为我们是要java和flex结合,所以在服务器选择上我们选择J2EE存放java类的源文件,我们的目的就是Flex和java在一个工程里,所以我们这里选择上个项目只写Flex代码,但最后要把Java编译后的class文件放到这个项目下的webroot\web-inf\classes目录中。即不管怎样,最后发布时,java编译后的class文件必须和BlazeDS部署的项目在一起。
2、点击Next,配置J2EE服务器,如下图
说明:Target runtime实际上没什么用(后来我删除了配置文件里的对应信息,也没问题),但是不指定就不能继续,如果这里显示的是<none>那么就新建一个Tomcat的runtime,简单的只需要指定tomcat的安装目录即可。
Content folder实际上就是最终编译后的容器目录,因此,BlazeDS的blazeds.war文件将会发布到 该目录 下的web-inf下的flex目录中。同时因为教程采用的MyEclipse,他默认的就是发布WebRoot里的内容,为了自动化,因此这里改为了WebRoot(这也是java开发的习惯)
Flex WAR file 指的是安装了lcds后的flex.war文件的路径,但是在这里我们采用的是BlazeDS来取代lcds,所以这里设置的是blazeds.war的路径。
Compilation options指定了flex文件的编译方式,选择推荐的在FlexBuilder里编译吧,虽然开发时多耗点时间,但是在发布后不会占用服务器的编译处理时间,对用户来说是有好处的。
Output folder 指的是Flex编译后的swf和html等文件存放的路径,这里改为WebRoot,意思是发布到根目录就可以了。当然你可以根据你的需要和习惯自行设置其他的路径
3、点击下一步,采用默认的配置就可以,点击完成,该工程就建立完成。
下图为该工程的目录结构图
4、 让它变成web工程由MyEclipse发布吧
点击Finish,现在我们的工程的图标变成了J2EE Web 工程了,这意味着,你可以
用MyEclipse来发布它或者添加更多容器,比如hibernate、spring等
5、 工程建好以后,你可以通过右键—>属性来进行更多的设置。
注意:一定要把Context root 路径/WebRoot ,改成/firstFlex (也就是你发布的工程名)
6、 这样一个Flex+Java的工程就建立完成,下面就编写例子测试。
代码:
1)新建一个java类:Hello.java
package com.company.blazeds;
public class Hello {
public String sayHello(String name){
System.out.println("Flex 调用我了 , Very Good!");
return "Hello " + name + " !";
}
}
2)为flex配置这个要调用的对象,修改WEB-INF/flex下remoting-config.xml,
添加下面代码:
<destination id="sayhello">
<properties>
<source> com.company.blazeds.Hello</source>
</properties>
</destination>
3)编写一个Flex程序
<?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 resultHandler(evnet:ResultEvent):void
{
var result:String=evnet.result as String;
Alert.show(result);
}
private function remotingSayHello():void
{
var name:String=nameInput.text;
rid.sayHello(name);
}
]]>
</mx:Script>
<mx:RemoteObject destination="sayhello"
id="rid"
result="resultHandler(event)">
</mx:RemoteObject>
<mx:Button label="say hello"
click="remotingSayHello();"
x="241"
y="73"/>
<mx:TextInput id="nameInput"
x="109"
y="73" width="95"/>
<mx:Label text="name"
x="47"
y="75"/>
</mx:Application>
4)发布到tomcat中,启动tomcat,运行firstFlex.mxml,OK!
附件:blazeds.rar
firstFlex.rar(工程源码)
- 大小: 69 KB
- 大小: 82.6 KB
- 大小: 72.2 KB
- 大小: 56.2 KB
- 大小: 97.5 KB
- 大小: 53.2 KB
- 大小: 71.1 KB
分享到:
相关推荐
matplotlib-3.6.3-cp39-cp39-linux_armv7l.whl
numpy-2.0.1-cp39-cp39-linux_armv7l.whl
基于springboot个人公务员考试管理系统源码数据库文档.zip
onnxruntime-1.13.1-cp310-cp310-win_amd64.whl
基于springboot的西山区家政服务网站源码数据库文档.zip
Linux环境下,关于C++静态库的封装和调用代码。 TestLib是库目录。 TestLibCall是调用库的目录。
基于springboot软件技术交流平台源码数据库文档.zip
numpy-1.20.1-cp39-cp39-linux_armv7l.whl
ASP.NET酒店管理系统源码(WPF) 一、源码特点 采用WPF进行开发的酒店管理系统源码,界面相当美观,功能齐全 二、菜单功能 1、预订登记:可选择入住时间、离店时间、所在城市、证件类型,保存、删除、查询、返回 2、住宿结算:新增入住、保存、删除、查询、返回 3、今日盘点:查询、返回 4、查询统计: 5、房间管理:增加房间类型、删除类型、增加房间、删除房间、保存、返回 6、用户管理:增加用户、删除用户、保存、返回 7、系统配置:基本功能 8、显示当前系统时间等功能的实现
坠落的天空小游戏图片和代码
论文描述:该论文研究了某一特定领域的问题,并提出了新的解决方案。论文首先对问题进行了详细的分析和理解,并对已有的研究成果进行了综述。然后,论文提出了一种全新的解决方案,包括算法、模型或方法。在整个研究过程中,论文使用了合适的实验设计和数据集,并进行了充分的实验验证。最后,论文对解决方案的性能进行了全面的评估和分析,并提出了进一步的研究方向。 源码内容描述:该源码实现了论文中提出的新的解决方案。源码中包含了算法、模型或方法的具体实现代码,以及相关的数据预处理、实验设计和性能评估代码。源码中还包括了合适的注释和文档,以方便其他研究者理解和使用。源码的实现应该具有可读性、可维护性和高效性,并能够复现论文中的实验结果。此外,源码还应该尽可能具有通用性,以便在其他类似问题上进行进一步的应用和扩展。
环境说明: 开发语言:python Python版本:3.6.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:pycharm
基于springboot高校学术交流平台源码数据库文档.zip
onnxruntime-1.16.2-cp310-cp310-win_amd64.whl
基于springboot+vue的实践性教学系统源码数据库文档.zip
基于springboot的校园二手物品交易系统源码数据库文档.zip
numpy-1.23.5-cp39-cp39-linux_armv7l.whl
bimdata_api_client-4.0.2-py3-none-any.whl
环境说明: 开发语言:PHP 框架:原生php/thinkphp5 服务器:Apache 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat 11 运行软件:小皮phpStudy
基于SpringBoot的中老年人文化活动平台源码数据库文档.zip