flex项目开发步骤

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在MyEclipse6.0中部署FLEX的WEB工程的过程
1)建立Flex项目,首先在MyEclipse下打开Flex视图,右键建立Flex工程。

在其中输入项目名称,点击“Next”按钮。

1)File->New->Flex Project如下图
2)输入Project name,按下图设置各项,设置完单击Next按钮
3)设置Tomcat
在上面的界面点击“Next”按钮(为了建立Tomcat服务器)PS:此处的output folder应该是context folder一样,都是WebRoot建立TomCat服务器,如下图所示
(1)单击Target runtime的New按钮
(2)选择Apache的Tomcat v6.0 Server如下图单击Next
(3)单击Tomcat installation directory的Browse按钮
(4)单击JRE的Installed JREs按钮
(5)选择Standerd VM,单击Next
(6)单击JRE home的Directory按钮,选择JRE的安装目录如下图
(8)单击下图的Finish按钮
(9)勾选jre1.6.0,将myeclipse钩去掉然后单击OK按钮
(10)在JRE 的下拉列表中选择jre1.6.0如下图
单击Finish 按钮
(11)单击Target runtime 的下拉按钮选择Apacher Tomcat v6.0如下图
(12)将Content folder 和Output folder 都改为WebRoot
(13)单击Flex WAR file的Browse按钮选择blazeds.war这个文件(此文件需要安装lcds软件,我们只是要此软件下的这个war文件即可,对于此软件的安装,没有特殊的地方,正常安装即可完成),最后点击“Next”即可进入以下界面,点击完成即可。

(blazeds.war已在你电脑中有这个包)单击Next
(14)单击Finish 4) 此时Flex 项目已经建立好,再切换到MyEclipse 视图下, 各个包的讲解:src:放的是Java 的项目包flex_src:放的是Flex 项目用的文件(实际上这个项目是有两个项目框架组成的)
在下面的界面中可以添加自己的代码
4)在项目上右键,向Flex项目中加入Web支持(作用:为了让TomCat可以加载此项目,因为Tomcat只可以加载Web项目),如下图所示:
6)弹出的对话框后,将下面的Create web.xml这一项的对勾去除(因为项目下面已经存在了web.xml文件,所以去除掉。

),点击“Finish”按钮即可。

项目已经全部搭建完成。

(可以发现项目的图标变为两个地球的样子)
5)将项目部署到Tomcat上,一下为部署步骤
(1)为项目添加Tomcat和JDk
(2)将项目部署到Tomcat上
可以看到其中有一个helloLuLuGe.mxml 文件,它就是Flex 项目的应用程序的入口位置, 项目的开始都是从这里开始的,一个项目中只有一个这样的文件,其他均是组件文件。

内容如下
∙关于Adobe Flex
∙关于Spring
∙为什么使用Flex和Spring
∙Flex和Spring的整合
关于Flex
Adobe Flex是一套创建富客户端应用(RIAs)的框架.Flex生成的swf文件可以直接运行在Flash Player之中。

相比较基于时间轴的Flash开发,Flex框架更适合那些用传统方式开发应用程序的开发人员。

Flex应用可以使用Flex builder 来开发。

这套IDE是基于Eclipse平台开发的。

Action Script3语言是用来访问数据和创建用户接口组件的。

Flex框架也用到了一种XML语言叫做MXML,它是用来简化Flex开发和布局的。

关于Spring
Spring是目前最受欢迎的创建企业级应用的Java框架。

不像传统的J2EE开发,Spring提供了轻量级的容器。

使用Spring会使应用的测试和开发更为简单。

虽然Spring依赖注入的功能最出名,但是它也提供了其他服务端企业程序所需要的功能。

如安全和事务处理。

为什么使用Flex和Spring
Flex技术本身和Java就有很强的关联性,它提供了一个基于Eclipse的IDE和BlazeDS.BlazeDS是个基于服务端的Java远程调用和Web消息的一个开源的技术。

有许多应用都是以Java为后端处理的。

Flex用于前端。

由于Java和Flex 一起频繁的使用。

人们很容易就想到Flex和Spring的整合。

有许多企业和组织已经着手开始使用Flex作为用户接口了。

在2008年末,Spring社区已经着手Spring BlazeDS整合的项目。

为Java和Spring添加更好的Flex支持。

默认的情况下BlazeDS创建了一个服务端Java对象的实例,用它们来完成远程对象的请求。

但是这种方法并不适用于Spring.因为整个框架使用的服务的对象都是用Spring容器所创建的。

Spring和BlazeDS的整合,Flex就可以使用Spring 中的对象了。

整合Flex和Spring
为了使用BlazeDS,服务端的Java应用应打包为WAR文件。

这部分的代码实例是使用Eclipse来创建和编辑的。

步骤如下
设置服务端的BlazeDS Java工程以及Spring框架。

∙在BlazeDS中配置Spring的bean
∙写一个Flex应用去使用Spring/BlazeDS的服务。

所需要的开发环境如下
∙Eclipse3.4(J2EE版本):/downloads/
∙Flex Builder3:
/cfusion/entitlement/index.cfm?e=flex3email&sdid=EOZPI ∙Tomcat 6:/
∙BlazeDS:/wiki/display/blazeds/BlazeDS/
∙Spring框架:/download
∙Spring BlazeDS整合:/spring-flex
∙ANTLR3.0:/download.html
首先设置服务端的JA V A工程,用blazeds.war(在blazeds的压缩包中)创建一个WEB工程。

步骤如下
∙Choose File>import
∙选择W AR选项。

指定blazedsWAR文件的位置。

输入工程名test-server
∙点击完成
现在就可以创建一个服务器来运行这个WEB应用。

∙File>New>Other
∙选择Server>Server
∙点击Next
∙选择Apache>Tomcat6 Server
∙点击Next
∙指定Tomcat的安装位置以及JRE(5以上版本)
∙点击Next
∙在Availble Projects list中选择test-server
∙点击Add添加到Configured Project list
∙点击Finish
接下来就可以创建Java类了。

这个类在Java和Flex之间传输
Java代码
1.public class MyEntity {
2. private String frstName;
3. private String lastName;
4. private String emailAddress;
5.
6. public String getFirstName() {
7. return frstName;
8. }
9. public void setFirstName(String frstName) {
10. this.frstName = frstName;
11. }
12. public String getLastName() {
13. return lastName;
14. }
15. public void setLastName(String lastName) {
16. stName = lastName;
17. }
18. public String getEmailAddress() {
19. return emailAddress;
20. }
21. public void setEmailAddress(String emailAddress) {
22. this.emailAddress = emailAddress;
23. }
24.}
Java服务接口
Java代码
1.import java.util.List;
2.public interface MyService {
3. public List<MyEntity> getMyEntities();
4.}
Java服务的实现
Java代码
1.import java.util.ArrayList;
2.import java.util.List;
3.public class MyServiceImpl implements MyService {
4. public List<MyEntity> getMyEntities() {
5. List<MyEntity> list = new ArrayList<MyEntity>();
6. MyEntity entity = new MyEntity();
7. entity.setFirstName("Hello");
8. entity.setLastName("World");
9. entity.setEmailAddress("hello@");
10. list.add(entity);
11. MyEntity entity2 = new MyEntity();
12. entity2.setFirstName("Hello");
13. entity2.setLastName("Space");
14. entity2.setEmailAddress("hello@");
15. list.add(entity2);
16. MyEntity entity3 = new MyEntity();
17. entity3.setFirstName("Hello");
18. entity3.setLastName("Neighbor");
19. entity3.setEmailAddress("hello@");
20. list.add(entity3);
21. return list;
22. }
23.}
这三个类对于例子足够了。

在实战中,这个服务类可能要连接到数据库。

为了方便我们学习,这个例子中就返回的是个list的硬编码了。

基本的java工程算是完工了。

接下来我们要做Spring的配置了。

∙把Spring的库以及Spring BlazeDS整合的库,还有ANTLR库文件放到项目/WEB-INF/lib下。

∙创建一个Spring配置文件。

鼠标右键点击WebContent/WEB-INF以及选择New>File,文件名输入application-config.xml.点击完成。

配置文件内容如下。

Xml代码
1.<?xml version="1.0"encoding="UTF-8"?>
2.<beans xmlns="/schema/beans"
3.xmlns:xsi="/2001/XMLSchema-instance"
4.xsi:schemaLocation="
5. /schema/beans
6. /schema/beans/spring-beans-2.5.xsd">
7. <!-- Spring Beans’s -->
8.<bean id="myService"class="MyServiceImpl"/>
9.</beans>
懂Spring的人看这配置最熟悉不过了。

通过这一步,已经有了一个BlazeDS默认配置的Java web工程。

下面我们就更改BlazeDS 默认配置,去使用新创建的Spring中的bean.
为了配置Spring BlazeDS的整合,更新web.xml。

Xml代码
1.<?xml version="1.0"encoding="UTF-8"?>
2.<web-app xmlns:xsi="http://www.w
/2001/XMLSchema-instance"
3.xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/jav
aee/web-app_2_5.xsd"
4.xsi:schemaLocation="/xml/ns/javaee /xml/ns/jav
aee/web-app_2_5.xsd"
5.id="WebApp_ID"version="2.5">
6.<display-name>test-server</display-name>
7.<servlet>
8.<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
9.<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
10.<init-param>
11.<param-name>contextConfigLocation</param-name>
12.<param-value>/WEB-INF/application-config.xml</param-value>
13.</init-param>
14.<load-on-startup>1</load-on-startup>
15.</servlet>
16. <!-- Map /spring/* requests to the DispatcherServlet -->
17.<servlet-mapping>
18.<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
19.<url-pattern>/spring/*</url-pattern>
20.</servlet-mapping>
21.</web-app>
创建的Servlet可以处理这个请求,http://localhost:8080/test-server/spring
这是访问BlazeDS的基本的URL。

当然这也是Spring标准的DispatcherServlet.
现在已经把Spring整合到Java web工程中了。

要整合BlazeDS,就要修改下Spring的配置文件。

application-config.xml文件如下
Xml代码
1.<?xml version="1.0"encoding="UTF-8"?>
2.<beans xmlns="/schema/beans"
3.xmlns:xsi="/2001/XMLSchema-instance"
4.xmlns:flex="/schema/flex"
5.xsi:schemaLocation="
6. /schema/beans
7. /schema/beans/spring-beans-2.5.xsd
8. /schema/flex
9. /schema/flex/spring-flex-1.0.xsd">
10. <!-- Spring Beans’s -->
11.<bean id="myService"class="MyServiceImpl"/>
12. <!-- Simplest possible message broker -->
13.<flex:message-broker/>
14. <!-- exposes myService as BlazeDS destination -->
15.<flex:remoting-destination ref="myService"/>
16.</beans>
通过配置,使BlazeDS接口开放。

首先要添加Flex的namespace。

添加之后,使用message-broker标签创建MessageBrokerFactoryBean。

看下配置只是个简单标签。

配置是默认的。

要确保WEB-INF/flex 下有service-config.xml这个配置文件。

remoting-destination标签使Spring bean变为远程目标。

接下来修改默认的BlazeDS service-config.xml文件。

代码如下
Xml代码
1.<?xml version="1.0"encoding="UTF-8"?>
2.<services-config>
3.<services>
4.<default-channels>
5.<channel ref="my-amf"/>
6.</default-channels>
7.</services>
8.<channels>
9.<channel-definition id="my-amf"
10.class="mx.messaging.channels.AMFChannel">
11.<endpoint
12.url="http://{}:{server.port}/{context.root}/spring/messagebroker/a
mf"
13.class="flex.messaging.endpoints.AMFEndpoint"/>
14.</channel-definition>
15.<channel-definition id="my-polling-amf"
16.class="mx.messaging.channels.AMFChannel">
17.<endpoint
18.url="http://{}:{server.port}/{context.root}/spring/messagebroker/a
mfpolling"
19.class="flex.messaging.endpoints.AMFEndpoint"/>
20.<properties>
21.<polling-enabled>true</polling-enabled>
22.<polling-interval-seconds>4</polling-interval-seconds>
23.</properties>
24.</channel-definition>
25.</channels>
26.</services-config>
看一下endpoint标签的的url.唯一可以修改的就是content.root之后的spring.所有远程目标配置都应该配置在application-config.xml文件中。

现在我们完成了Spring/BlazeDS Java应用。

可以启动Tomcat来查看配置是否出错。

接下来我们就可以新建一个Flex来远程调用Spring服务。

步骤如下
∙File>New>Other
∙选择Flex Project
∙填写工程名称test-flex
∙用默认的地址
∙选择Web application(运行在Flash player)
∙Application Type 选择None
∙点击Next
∙指定Output的文件夹。

如C:\workspace\test-server\WebContent\
∙点击Finish
工程创建完毕,我们会看到一个main.mxml的文件。

修改代码如下
Xml代码
1.<?xml version="1.0"encoding="utf-8"?>
2.<mx:Application xmlns:mx="/2006/mxml"
yout="absolute"
4.creationComplete="srv.getMyEntities()">
5.<mx:AMFChannel id="myamf"uri="/test-server/spring/messagebroker/amf"/>
6.<mx:ChannelSet id="channelSet"channels="{[myamf]}"/>
7.<mx:RemoteObject id="srv"
8.destination="myService"channelSet="{channelSet}"/>
9.<mx:DataGrid dataProvider="{stResult}"/>
10.</mx:Application>
以上代码的AMFChannel访问了Spring的服务。

要注意的是RemoteObject标签中的destination的destination要和spring的application-config.xml中remote-service标签的ref所设置的值保持一致。

通过代码可以看出Flex并没有包含关于Spring的东西。

编写Flex的
开发人员不必知道关于Spring的知识。

要更新test-server的程序。

可以Refresh这个工程。

下面测试一下。

启动Tomcat.http://localhost:8080/test-server/main.html
为了在Flex builder中调试运行。

可以做如下设置
∙右键点击test-flex工程。

∙选择Properties,之后是Flex build path
∙Output Folder URL 填写 http://localhost:8080/test-server/ ∙点击OK
之后直接运行就可以了。

整合完成。

相关文档
最新文档