由于Flex只是一种客户端技术其本身并不能直接同数据库交互,在实际的应用开发过程中Flex提供了如URLRequest、HTTPService、RemoteObject、WebService等类以实现同服务器的通讯和数据交互,下面做一些介绍和实例解析:
本示例用到的开发工具和组件:jdk1.6、eclipse3.0、 FlexBuilder3.0、 blazeds-turnkey-3.3.0.9885(已包含Tomcat)
1、安装JDK至指定目录下如:C:/Program Files/Java/jdk1.6.0_16
2、解压blazeds-turnkey-3.3.0.9885.zip 将tomcat目录拷贝至:D:/Program Files/tomcat
3、配置或加入我的电脑环境变量:
- JAVA_HOME C:/Program Files/Java/jdk1.6.0_16
- CATALINA_BASE D:/Program Files/tomcat
- CATALINE_HOME D:/Program Files/tomcat
- CLASSPATH %JAVA_HOME%/lib;%CATALINA_HOME%/lib/servlet-api.jar
- Path %JAVA_HOME%/bin;%JAVA_HOME%/lib;
4、查看Tomcat服务器配置信息:
查看D:/Program Files/tomcat/conf/server.xml文件
找到 <Connector port="8400" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="9400" />
配置的端口信息为“8400”
5、手动方式启动TomCat检查是否配置成功(当然你也可以在Eclipse中安装TomCat插件控制Tomcat):
启动命令行“cd D:/Program Files/tomcat/bin”定位至Tomcat Bin目录
运行“startup.bat”启动TomCat看到如下(启动成功):
浏览器中输入:“http://localhost:8400/”如下(恭喜JAVA环境+BlazeDS+Tomcat配置成功):
6、建立开发文件夹,拷贝BlazeDS配置文件和用到的配置文件及类库“WEB-INF”至站点目录:
找到blazeds.war个改后缀为RAR解压找到“WEB-INF”文件夹拷贝至"WebSite"下目录结构如:
这样做的目的是将JAVA项目同Flex项目Web站点目录分开互不干扰(使用eclipse的Flex开发插件有时会报莫名的错误,Flex开发还是建议用FlexBuilder)
7、在Eclipse中新建java项目并将编译路径链接至“../WebSite/WEB-INF/classes”目录下如图:
8、发布WebSite至TomCat:
在“D:/Program Files/tomcat/conf/server.xml”文件<Host>节点中新增如下<Context>节点重启TomCat(执行第5步骤运行“shutdown.bat”再运行“startup.bat”)
- <Host name="localhost" appBase="webapps"
-
unpackWARs="true" autoDeploy="true"
-
xmlValidation="false" xmlNamespaceAware="false">
-
<Context path="/WebSite" docBase="E:/学习/BlazeDs/WebSite" debug="0" reloadable="true" crossContext="true" />
-
</Host>
9、新建FLEX 服务器为J2EE的“myBlazeDSFlex”项目至"E:/学习/BlazeDs/Flex"目录
10、配置服务器及Flex输出目录至“webSite/flex"下,并“Validate Configuration”通过(如图):
11、你也可以手动设置Felx项目属性(如图)来配置J2EE服务器:
12、在eclipse中编写完成Java类及方法 并编译:
UserBean类:
- package myBlazeDS;
-
public class UserBean {
-
private String _name;
-
private int _age;
-
private String _address;
-
public UserBean(String name,int age,String address)
- {
-
this._name = name;
-
this._age = age;
-
this._address = address;
- }
-
-
public void setName(String name)
- {
-
this._name = name;
- }
-
public String getName()
- {
-
return this._name;
- }
-
-
public void setAge(int age)
- {
-
this._age = age;
- }
-
public int getAge()
- {
-
return this._age;
- }
-
-
public void setAddress(String address)
- {
-
this._address = address;
- }
-
public String getAddress()
- {
-
return this._address;
- }
- }
外部接口类BlazeDSService:
- package myBlazeDS;
-
-
public class BlazeDSService {
-
public String GetBlazeService(String user)
- {
-
return user +":欢迎使用Java BlazeDS同Flex交互";
- }
-
public UserBean GetUserInfo(String name,int age,String address)
- {
-
return new UserBean("User:" + name, age,address + " China");
- }
- }
13、配置“E:/学习/BlazeDs/WebSite/WEB-INF/flex/remoting-config.xml”增加(如图):
- <destination id="FirstBlazeService">
-
<properties>
-
<source>
- myBlazeDS.BlazeDSService
-
</source>
-
<scope>application</scope>
-
</properties>
-
</destination>
14、在Flex引入RemoteObject 指定destination属性加入调用方法<mx:method>节点如:
- <mx:RemoteObject id="myJavaService" destination="FirstBlazeService" showBusyCursor="true">
-
<mx:method name="GetBlazeService" fault="onBlazeDSFalut(event)" />
-
<mx:method name="GetUserInfo" result="getUserBean(event)" fault="onBlazeDSFalut(event)" />
-
</mx:RemoteObject>
15、完整体Flex页面代码:
- <?xml version="1.0" encoding="utf-8"?>
-
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
-
<mx:RemoteObject id="myJavaService" destination="FirstBlazeService" showBusyCursor="true">
-
<mx:method name="GetBlazeService" fault="onBlazeDSFalut(event)" />
-
<mx:method name="GetUserInfo" result="getUserBean(event)" fault="onBlazeDSFalut(event)" />
-
</mx:RemoteObject>
-
<mx:Canvas width="653" height="190" x="10" backgroundColor="#297E8D" fontSize="15">
-
<mx:Script>
- <!--[CDATA[
- import mx.rpc.events.FaultEvent;
- import mx.rpc.events.ResultEvent;
- import mx.controls.Alert;
- import mx.core.UIComponent;
- import mx.core.BitmapAsset;
- import mx.core.ByteArrayAsset;
- private function onCallJava():void
- {
- myJavaService.GetBlazeService(nameInput.text);
- }
- private function onCallBean():void
- {
- myJavaService.GetUserInfo(txtName.text,int(txtAge.text),txtAddress.text);
-
- }
- private function getUserBean(e:ResultEvent):void
- {
- var o:*=e.result as Object;
-
vtxtName.text = o.name;
-
vtxtAge.text = o.age;
-
vtxtAddress.text = o.address;
- }
- private function onBlazeDSFalut(e:FaultEvent):void
- {
- Alert.show(e.message.toString());
- }
-
]]-->
-
</mx:Script>
-
<mx:TextInput id="nameInput" x="108" y="18" width="145"/>
-
<mx:Button label="Call Java" click="onCallJava();" x="274" y="18" fillAlphas="[1.0, 1.0]"/>
-
<mx:TextArea text="{myJavaService.GetBlazeService.lastResult}" x="397" height="34" width="246" y="19"/>
-
<mx:Label x="10" y="61" width="632" height="2"/>
-
<mx:Label x="10" y="80" text="UserName:"/>
-
<mx:Label x="10" y="117" text="UserAge:"/>
-
<mx:Label x="10" y="150" text="Address:"/>
-
<mx:TextInput x="108" y="78" id="txtName" width="146"/>
-
<mx:TextInput x="107" y="115" id="txtAge" width="147"/>
-
<mx:TextInput x="107" y="148" id="txtAddress" width="147"/>
-
<mx:Button x="272" y="112" label="Call Bean" id="btnCallBean" click="onCallBean();"/>
-
<mx:Text x="397" y="80" width="246" id="vtxtName"/>
-
<mx:Text x="397" y="117" width="246" id="vtxtAge"/>
-
<mx:Text x="397" y="150" width="246" id="vtxtAddress"/>
-
</mx:Canvas>
-
</mx:Application>
-
16、DEMO完成后目录结构如图:
17、DEMO功能完成最终效果如图:源码下载:
flex还可以通过如XMLSocket FMS 二进制套接字等同服务器交互,就不再赘述了本系列课程到此告一段落!
分享到:
相关推荐
6. **在Flex客户端调用Java服务**:在Flex项目中,使用RemoteObject或HTTPService组件,通过Blazeds与Java后端建立连接。设置相应的端点URL和方法映射,以便调用Java服务。 7. **测试与部署**:运行Flex应用程序,...
【Flex+JavaEE+BlazeDS 开发环境配置】是一个重要的技术组合,它允许开发者构建富互联网应用程序(RIA)并将后端Java服务与前端Flex界面紧密集成。在Flex工程和Java工程独立配置的情况下,BlazeDS作为一个中间件,...
Flex + J2EE + BlazeDS 配置是一个用于构建富互联网应用程序(RIA)的技术组合,它将客户端的Flex界面与服务器端的Java EE服务紧密结合。本文将详细介绍如何配置这一技术栈,帮助开发者快速上手。 首先,我们需要...
### Flex与Java交互技术详解:BlazeDS应用实践 #### 技术背景及介绍 随着互联网技术的发展,前后端分离架构越来越受到开发者的青睐。在这样的背景下,如何实现富客户端与后端服务的有效通信变得尤为重要。Adobe ...
在配置Flex+BlazeDS与Java Web Project的集成开发环境时,首先要下载BlazeDS。BlazeDS可以从Adobe的开源仓库中获取,它包含了与Java应用程序交互所需的各种组件和库。下载完成后,将其解压到Tomcat服务器的webapps...
BlazeDS提供了消息服务、Remoting服务、LiveCycle Data Services等功能,使得Flex客户端能与Java服务器进行无缝交互。 3. **环境搭建** 首先,我们需要安装Adobe Flex SDK和Flash Builder。然后,下载并配置...
在配置Flex与Java通过BlazeDS进行交互的环境中,首先我们需要准备的是MyEclipse 8.5集成开发环境,这是开发Flex和Java项目的常用工具。为了在MyEclipse中支持Flex开发,我们需要安装Adobe Flash Builder插件。这个...
在本文中,我们将深入探讨如何配置一个基于J2EE、Flex和Blazeds的应用实例。首先,我们需要了解这些技术的基本概念。J2EE(Java 2 Platform, Enterprise Edition)是用于构建企业级分布式应用程序的平台,它包含了...
1. 安装环境:确保已安装Java JDK、J2EE应用服务器、Flex SDK和BlazeDS。 2. 创建J2EE项目:在IDE中创建一个新的Maven或Eclipse项目,添加必要的J2EE库。 3. 集成BlazeDS:下载并解压BlazeDS,将lib目录下的jar文件...
【MyEclipse_8_5_flex4+Blazeds配置例子和blazeds下载】是一个关于集成开发环境MyEclipse 8.5与Adobe的BlazeDS集成使用的教程资源包,包含了配置文档和示例代码,以及BlazeDS的下载链接。这个资源对于开发者来说是...
这个过程涉及到了多个技术领域的整合,包括前端的Flex开发、后端的Java开发以及数据库交互等多个方面。 ### 一、安装软件与配置 #### 1. MyEclipse 6.0.1 的安装与注册 - **完整文件名**:`MyEclipse_6.0.1GA_E...
下面我们将详细探讨如何实现Flex与Java的交互,以及在设置开发环境时的一些关键步骤。 首先,Flex与Java的交互主要通过BlazeDS这个中间件来实现。BlazeDS是一个开源的服务器端组件,它提供了AMF(Action Message ...
Flex 是一款用于构建高度交互式Web应用的软件开发工具,而BlazeDS则是一个允许Flex和AIR客户端应用程序与Java服务器进行通信的开放源码服务器端Java库。通过这种整合,开发者可以在客户端使用Flex创建丰富的用户界面...
开发环境通常包括MyEclipse或IntelliJ IDEA等集成开发环境,配合Flex Builder插件进行Flex项目开发,JDK1.6或更高版本,Flex SDK 3.2及以上,以及Tomcat 6.0或更高版本的服务器。 2. **创建JAVA Web工程**: 在...
Flex 提供了强大的用户界面组件和图形库,Cairngorm 是一个轻量级的MVC框架,而BlazeDS则是用于Flex与Java后端服务之间数据交互的中间件。这篇文档将详细介绍如何将这三个技术整合到一起,以实现高效、可扩展的RIA...
**集成Remote Object到Spring**:在Flex客户端,使用RemoteObject组件与BlazeDS建立连接,然后在Spring配置文件中定义相应的服务代理,以便于Spring管理这些远程服务。 D. **引入Hibernate框架**:在Java后端,...
BlazeDS、Flex和Tomcat是Java开发领域中用于构建富互联网应用程序(Rich Internet Applications,RIA)的关键技术。本文将详细解析如何将这三个组件整合在一起,以开发一个J2EE模块,并通过实际案例来阐述这一过程。...
Flex是基于ActionScript和MXML的开发框架,用于创建具有动态用户界面的Web应用,而BlazeDS是Adobe提供的一个开源服务器端组件,它作为一个数据推送中间件,允许Flex客户端与Java后端进行实时双向通信。 在这个示例...