`

整合Flex和Java—http://wangyu.javaeye.com/blog/235296

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

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

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

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

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

Flex+Java配置:

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

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

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

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



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



说明: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>那么就新建一个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、  点击下一步,采用默认的配置就可以,点击完成,该工程就建立完成。下图为该工程的目录结构

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

自动生成的flex的配置文件

Java源文件夹

Flex文件的源文件夹

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

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



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



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

    * 整合Flex和Java--配置篇.rar (773.6 KB)
分享到:
评论
2 楼 selvenfx2009 2010-09-13  
1 楼 yindezhijay 2008-11-08  

相关推荐

    com.apple.amp.itmstransporter-20200303.zip

    Transporter上传appstore上传慢、上传失败的原因是 ~/Library/Caches/com.apple.amp.itmstransporter 目录需要下载大量缓存文件。 1、下载该资源直接代替 ~/Library/Caches/com.apple.amp.itmstransporter ...

    CMAKE_OPENCL_VS2010

    从NVIDIA官网下载最新的SDK,以及驱动,一路Next安装即可。目前CUDA版本应该是5.0,比较难受的是,CUDA的SDK中没有包含CL的...具体步骤可以看到我的博客http://blog.csdn.net/wangyu21505115/article/details/8459951

    SSO CAS 单点登录实例SSOAuth+SSOWebDemo1+SSOWebDemo2.zip

    单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 较大的企业内部,一般都有很多的...

    WinXP-浏览器-你的时钟快了-问题修复.zip

    GoogleChrome的WindowsXP最后一个版本...&lt;a href="https://download.csdn.net/download/wangyu233/10793917"&gt;https://download.csdn.net/download/wangyu233/10793917&lt;/a&gt;

    CMAKE JAVA C++

    这里讲述的Java和C混合编程的方法主要是通过将C的代码生成DLL文件,然后在Java中调用。 详细步骤可以参考我的博客 http://blog.csdn.net/wangyu21505115/article/details/8460583

    OpenGL VS2010 CMake

    前言:在使用OpenGL时,经常需要配置OpenGL的环境,感觉比较麻烦,采用CMake进行配置比较比较方便的解决配置过程中遇到的问题。...详细可以参考我的博客:http://blog.csdn.net/wangyu21505115/article/details/8466004

    kubernetes-wangyu:kubernetes-网鱼

    修改hosts文件,根据规划修改对应IP和名称。 # vi hosts ... 修改group_vars/all.yml文件,修改软件包目录和证书可信任IP。 # vim group_vars/all.yml software_dir: '/root/binary_pkg' ... cert_hosts: k8s: ...

    多选列表值的移动和获取值

    在提供的博文链接(https://wangyu.iteye.com/blog/400302)中,作者可能详细解释了如何使用特定编程语言(如Java、Python或JavaScript)处理多选列表值的移动和获取。通常,源码会涵盖如何创建DOM元素,如何处理...

    wangyu_cc-mfmall-2021-master_java_

    【标题】"wangyu_cc-mfmall-2021-master_java_" 指的是一款基于Java开发的电商项目,其核心是MFMall,在2021年的某个版本(master分支)。该项目专注于用户管理系统(UMS)的优化,集成了一款名为justAuth的第三方...

    KinectSDKDemo

    通过博客链接(http://blog.csdn.net/wangyu21505115/article/details/7647912)中的详细教程,我们可以了解到如何设置开发环境、安装必要的库,以及如何编写代码来处理从Kinect获取的数据。这个项目不仅提供了源码...

    单点登陆(SSO)案例(三)

    - 整合性:将新的应用系统接入SSO,需要兼容不同技术栈和平台。 - 会话管理:管理用户的会话状态,包括会话超时、会话注销等。 - 异常处理:处理用户未登录、登录失败、权限不足等各种异常情况。 - 监控与审计:记录...

    java api 网页版

    Java API,全称为Java应用程序接口,是Java编程语言的核心组成部分,为开发者提供了丰富的类库,使得程序员能够方便快捷地开发各种应用。Java API包含了各种工具类、数据结构、网络通信、I/O流、多线程、图形用户...

    单点登陆(SSO)案例(二)

    - **wangyu.css**:这可能是CSS样式表文件,用于定义SSO系统或示例应用的界面样式。在SSO的实现中,良好的用户体验设计是关键,因此CSS文件可能会包含登录界面、错误提示等元素的样式。 - **test.jsp**:这是一个...

    浅谈js闭包理解

    这种特性使得闭包成为实现数据隐藏、封装和持久化状态的有效工具。 首先,让我们深入理解闭包的三个关键特征: 1. **函数嵌套函数**:一个闭包通常由一个内部函数(嵌套函数)和包含它的外部函数组成。内部函数...

    wangyu-1999.github.io:我的博客

    少即是多收藏夹

    Java入门到门口

    本压缩包为个人学习过程中精挑细选的Java学习资料。学习路线真心重要。本人在某公司(网页开发)研发部实习期间了解到的最接近就业接近市场 的技术路线。Java基础、HTML+css、数据库MySQL,javascript‘severlet,我...

    Ajax学习之dwr入门详细实例

    DWR是一种开源Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行实时、双向通信,无需刷新页面即可实现数据交换。 首先,我们看到一个名为`Person`的简单Java类。这个类代表了一个具有`name`属性...

    pinyin4j.zip

    《Pinyin4j:Java库中的中文拼音转换神器》 在现代软件开发中,尤其是在处理中文数据时,中文字符与拼音之间的转换是一个常见的需求。Pinyin4j作为一个强大的Java库,正好解决了这个问题。这个小巧而功能丰富的库...

    SDHCAL FEB V1.0_WangYu-180131焊接说明1

    《SDHCAL FEB V1.0_WangYu-180131焊接说明》是为中国科学技术大学快电子学实验室的王宇所编写的详细焊接指南,旨在为操作者提供有关SDHCAL FEB V1.0板的正确组装和焊接方法。这份文档包含了重要的注意事项、器件清单...

Global site tag (gtag.js) - Google Analytics