`

整合Flex和Java—配置篇

阅读更多

 废话就不说了,要想了解Flex的相关内容就请问一下Google,百度吧。切入正题,作为一个Java程序员学习Flex,关心的就是怎样将FlexJava进行结合交互。带着Java程序员的思维,一开始学习Flex并没有按部就班的学习Flex的基础知识,而是想搞清楚Flex到底怎样和Java交互的。经过了一个周末的研究,终于初见成果,下面就重要的讲解三种配置的两个。

         在分享这几种配置之前,先简单的介绍一下需要用到的一些资源。

1、  MyEclipse+Flex插件(官网下载)

2、  Tomcat6.0作为服务器(官网下载)

3、  BlazeDS(免费)代替LCDS(收费):没钱啊,只能先使用免费的了。从Adobe官方网站上下载下来,将blazeds.wards-console.warsamples.war三个文件放在tomcatwebapps目录下。

Flex+Java配置:

         第一种:Java工程和Flex工程独立,这种方式也是很多人使用的方式,Flex程序员和Java程序员相互独立的工作,这种方式网上有很多的资料,在这里就不再 赘述了。

         第二种:Flex工程加入Java元素

1、  切换到Flex视图,新建Flex project,如下图

因为我们是要javaflex结合,所以在服务器选择上我们选择J2EE

 

存放java类的源文件,我们的目的就是Flexjava在一个工程里,所以我们这里选择上

 

说明:Java source folder就是你自己java业务源码存放的根目录,在FB3里,LCDS项目旨在将Java J2ee项目和FlexLcds项目混合。

 

当然如果你不选择 combined 两个在一起,那么就麻烦些:要么你再单独新建一个Flex项目,而这个项目只写java代码。要么再建一个J2ee工程写java代码,而这个项目只写Flex代码,但最后要把Java编译后的class文件放到这个项目下的webroot\web-inf\classes目录中。即不管怎样,最后发布时,java编译后的class文件必须和lcds部署的项目在一起。

2、  点击Next,配置J2EE服务器,如下图

这里我们可以自定义输出路径,一般情况下设置成根目录WebRoot就可以了

因为我们采用的BlazeDS,所以这里要设置BlazeDS的路径

说明:Target runtime实际上没什么用(后来我删除了配置文件里的对应信息,也没问题),但是不指定就不能继续,如果这里显示的是<none>那么就新建一个Tomcatruntime,简单的只需要指定tomcat的安装目录即可。

 

Content folder实际上就是最终编译后的容器目录,因此,BlazeDSblazeds.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编译后的swfhtml等文件存放的路径,这里改为了WebRoot,意思是发布到根目录就可以了。当然你可以根据你的需要和习惯自行设置其他的路径

 

3、  点击下一步,采用默认的配置就可以,点击完成,该工程就建立完成。下图为该工程的目录结构

Flex编译后发布的文件。我们发布在根目录下

自动生成的flex的配置文件

Java源文件夹

Flex文件的源文件夹

4、  让它变成web工程由MyEclipse发布吧

注意,不要点的太快了,要把这里的对号勾掉,这样就不会覆盖BlazeDS创建的web.xml

 

              点击Finish,现在我们的工程的图标变成了J2EE Web 工程了,这意味着,你可以用MyEclipse来发布它或者添加更多容器,比如hibernatespring

 

5、  工程建好以后,你可以通过右键—>属性来进行更多的设置。

6、  这样一个Flex+Java的工程就建立完成。

7、  编写例子,测试在介绍完第三种方式以后统一介绍。

 

第三种:由Web project反向加入Flex,也就是Java+Flex

1、  先建立一个web工程:flexweb。(略)

2、  flexweb工程手工添加Flex需要的元素。

1)首先将BlazeDS需要的jar文件拷到工程的lib目录下。可以将上面建的那个flex工程的lib下的jar文件拷到该工程下的lib目录下。

2)然后要加入Flex BlazeDS需要的配置文件。在WEB-INF下新建一个名为flex的文件夹,然后将我们上面建立的那个firstFlex该文件夹下的四个xml文件拷到该文件夹下。

3)最后,修改web.xml文件,加入Flex的配置。做法一个简单的把上面我们新建的那个flex工程的web.xml的部分代码拷过来。

<context-param>

       <param-name>flex.class.path</param-name>

       <param-value>/WEB-INF/flex/hotfixes,/WEB-INF/flex/jars</param-value>

    </context-param>

 

    <!-- Http Flex Session attribute and binding listener support -->

    <listener>

        <listener-class>flex.messaging.HttpFlexSession</listener-class>

    </listener>

 

    <!-- MessageBroker Servlet -->

    <servlet>

        <servlet-name>MessageBrokerServlet</servlet-name>

        <display-name>MessageBrokerServlet</display-name>

        <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>

        span

分享到:
评论
4 楼 yongtree 2009-07-14  
大哥,转载我的文章作为自己的原创,职业道德问题。
请注明转载出处,OK?

http://yongtree.iteye.com/blog/216580
3 楼 dingsheng2009 2009-04-01  
我就想知道第一种啊!!,有人会么
2 楼 SoloTerran 2008-11-25  
第二种方法,在配置flex build path的时候把output URL设置一下就能生成html文件了
1 楼 chenfx2008 2008-09-10  
WebRoot
根据第二种方法,建立工程,在发布上很方便。但是有两个问题,大家注意点:
1、要记得修改Flex Server的项目容器属性(非常重要,多数连接路径错误就是这里配置错误)

将WebRoot修改为项目的名称。
说明:
Root url 当然就是你的web服务器的根路径了,Tomcat默认是8080端口,如果改了就自己修改
Context root 就是LCDS工程的名称(注意:如果你分开为两个工程,则这里指的是你J2ee项目的名称,而不是你Flex项目的名称,因为你在请求Java的数据服务),在Flex请求LCDS时,会采用这个作为参数

http://{server.name}:{server.port}/{context.root}/messagebroker/amf

如果Context root错了,那么永远不可能正确的请求LCDS的服务了。
2、在发布时,经常将servlet-api.jar发布到项目的lib中去,由于tomcat的lib中带了servlet-api.jar,因此,经常出错,将项目目录下的servlet-api.jar删除就可以了。

相关推荐

    整合Flex和Java--配置篇

    这份"整合Flex和Java--配置篇"的PDF文档很可能是详细讲解了这些配置步骤和技术要点,对于正在从事或学习Flex和Java整合的开发者来说,是一份宝贵的参考资料。建议下载阅读,深入了解这个领域的技术细节。

    整合Flex和Java--配置篇.pdf

    ### 整合Flex与Java——配置篇 #### 引言 随着互联网技术的发展,富互联网应用(RIA)逐渐成为一种趋势。Flex作为一种优秀的RIA开发工具,以其强大的界面设计能力和良好的用户体验受到开发者的青睐。而Java作为...

    整合Flex和Java - 手把手教你配置

    本文将详细介绍如何实现Flex与Java的有效整合,特别是针对Flex和Java配置的不同方案。 #### 关键知识点 - **基础知识概述**:在深入探讨配置方法前,我们需要了解一些基础知识。Flex是一种用于构建和维护富互联网...

    整合flex 和java

    综上所述,整合Flex和Java可以创建出既美观又功能强大的Web应用。开发者需要理解两者的特性,选择合适的集成方案,并处理好数据传输、状态管理和安全性等问题。通过这种方式,我们可以构建出高性能、用户体验优良的...

    Flex与Java整合demo

    本篇文章主要探讨如何在实际操作中配置Flex与Java的整合。 首先,你需要准备以下资源: 1. **MyEclipse**:一个集成开发环境,支持Flex插件。 2. **Tomcat 6.0**:作为服务器平台,用于部署应用。 3. **BlazeDS**:...

    flex整合java开发的资料

    Flex整合Java开发是一种常见的技术组合,用于构建富互联网应用程序(RIA)。这种技术融合了Adobe Flex的用户界面设计优势和Java的后端处理能力,提供了一种高效、灵活且功能丰富的应用开发解决方案。以下是对给定...

    flex flex和 java交互

    标题"flex 和 java交互"指出了一个关键的技术融合,即Flex与Java的整合,允许Flex前端与Java后端进行数据和功能的通信。这种交互通常是通过AMF(Action Message Format)协议实现的,它提供了一种高效的数据序列化...

    java整合flex开发应用

    【描述】虽然描述信息为空,但我们可以通过常规理解推测,作者可能分享了在实际项目中Java和Flex的整合经验,可能包括如何配置环境,设置数据通信机制,以及解决两者之间可能出现的问题。博文链接指向了ITEYE的一个...

    新建Flex+Java的WEB项目

    8. **Flex与Java通信**:使用BlazeDS/LCDS,我们可以创建Flex Remoting配置,定义在客户端和服务器之间的远程方法调用。这允许Flex应用直接调用Java服务,获取和更新数据。 9. **数据模型和服务接口**:在Java端...

    Myeclipse整合flex4搭建java的Web项目

    在本教程中,我们将学习如何使用MyEclipse整合Flex 4来搭建一个Java Web项目。Flex作为前端展示层,主要负责接收并显示由Java服务端返回的数据。为了实现Flex与Java之间的通信,我们将使用Adobe公司开发的开源项目...

    flex和java整合完整版

    通常,整合Flex和Java涉及到设置Flex编译器,配置服务代理,定义数据通道,以及处理ActionScript和Java之间的类型映射等步骤。有了这个完整的整合版,开发者可以直接专注于编写业务逻辑,而不必过于关注底层集成的...

    Flex与Java整合

    整合Flex和Java有以下三种常见方式: **第一种:Java工程和Flex工程独立** 在这种模式下,Flex程序员和Java程序员各自独立工作,两者之间的通信通常通过HTTP或AMF(Action Message Format)协议实现。网上有许多...

    Myeclipse整合flex4搭建java Web项目

    文件中的内容描述了一个使用Myeclipse整合Flex4和Java来创建Web项目的步骤,主要涉及到的技术点包括Myeclipse、Flex、Blazeds以及Java Web工程的构建。以下是这些知识点的详细说明: 1. **Myeclipse**:Myeclipse是...

    Flex+Java完美整合框架

    总之,Flex+Java的整合利用了BlazeDS作为桥梁,实现了前端Flex和后端Java的无缝对接。开发者可以通过这种方式创建出功能强大、用户体验优秀的Web应用,同时享受到Java平台的稳定性和Flex的可视化优势。对于开发者而...

    flex与Java及tomcat整合开发

    ### Flex与Java及Tomcat整合开发详解 #### 一、前言 随着互联网技术的发展,Flex作为一种基于...以上步骤和说明均基于原文的内容进行了详细的解释和补充,希望能帮助开发者们更好地理解和实践Flex与Java的整合过程。

    java 整合 flex项目

    1. **设置服务器端**:配置Java环境,包括安装和配置Hibernate,创建数据访问对象(DAOs),并设置服务器端服务接口。 2. **建立AMF通道**:在Java服务器上部署BlazeDS或LCDS,配置AMF通道以允许Flex客户端与Java...

Global site tag (gtag.js) - Google Analytics