本文和大家重点学习一下Flex和Java的整合,带着Java程序员的思维,一开始学习Flex并没有按部就班的学习Flex的基础知识,而是想搞清楚Flex到底怎样和Java交互的。
整合Flex和Java—配置篇
切入正题,作为一个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视图,新建Flexproject
因为我们是要java和flex结合,所以在服务器选择上我们选择J2EE
存放java类的源文件,我们的目的就是Flex和java在一个工程里,所以我们这里选择上
说明:Javasourcefolder就是你自己java业务源码存放的根目录,在FB3里,LCDS项目旨在将JavaJ2ee项目和FlexLcds项目混合。
当然如果你不选择combined两个在一起,那么就麻烦些:要么你再单独新建一个Flex项目,而这个项目只写java代码。要么再建一个J2ee工程写java代码,而这个项目只写Flex代码,但最后要把Java编译后的class文件放到这个项目下的webroot\web-inf\classes目录中。即不管怎样,最后发布时,java编译后的class文件必须和lcds部署的项目在一起。
2、点击Next,配置J2EE服务器
这里我们可以自定义输出路径,一般情况下设置成根目录WebRoot就可以了。
因为我们采用的BlazeDS,所以这里要设置BlazeDS的路径
说明:Targetruntime实际上没什么用(后来我删除了配置文件里的对应信息,也没问题),但是不指定就不能继续,如果这里显示的是<none>那么就新建一个Tomcat的runtime,简单的只需要指定tomcat的安装目录即可。
Contentfolder实际上就是最终编译后的容器目录,因此,BlazeDS的blazeds.war文件将会发布到该目录下的web-inf下的flex目录中。同时因为教程采用的是MyEclipse,他默认的就是发布WebRoot里的内容,为了自动化,因此这里改为了WebRoot(这也是java开发的习惯)
FlexWARfile指的是安装了lcds后的flex.war文件的路径,但是在这里我们采用的是BlazeDS来取代lcds,所以这里设置的是blazeds.war的路径。
Compilationoptions指定了flex文件的编译方式,选择推荐的在FlexBuilder里编译吧,虽然开发时多耗点时间,但是在发布后不会占用服务器的编译处理时间,对用户来说是有好处的。
Outputfolder指的是Flex编译后的swf和html等文件存放的路径,这里改为了WebRoot,意思是发布到根目录就可以了。当然你可以根据你的需要和习惯自行设置其他的路径
3、点击下一步,采用默认的配置就可以,点击完成,该工程就建立完成。
Flex编译后发布的文件。我们发布在根目录下
自动生成的flex的配置文件
Java源文件夹
Flex文件的源文件夹
4、让它变成web工程由MyEclipse发布吧
注意,不要点的太快了,要把这里的对号勾掉,这样就不会覆盖BlazeDS创建的web.xml
点击Finish,现在我们的工程的图标变成了J2EEWeb工程了,这意味着,你可以用MyEclipse来发布它或者添加更多容器,比如hibernate、spring等
5、工程建好以后,你可以通过右键—>属性来进行更多的设置。
6、这样一个Flex+Java的工程就建立完成。
7、编写例子,测试在介绍完第三种方式以后统一介绍。
第三种:由Webproject反向加入Flex,也就是Java+Flex
1、先建立一个web工程:flexweb。(略)
2、向flexweb工程手工添加Flex需要的元素。
1)首先将BlazeDS需要的jar文件拷到工程的lib目录下。可以将上面建的那个flex工程的lib下的jar文件拷到该工程下的lib目录下。
2)然后要加入FlexBlazeDS需要的配置文件。在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>
- <!--HttpFlexSessionattributeandbindinglistenersupport-->
- <listener>
- <listener-class>flex.messaging.HttpFlexSession</listener-class>
- </listener>
- <!--MessageBrokerServlet-->
- <servlet>
- <servlet-name>MessageBrokerServlet</servlet-name>
- <display-name>MessageBrokerServlet</display-name>
- <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
【编辑推荐】
- 解析Flex4的十大变化
- Flex3到Flex4的转变新特性值得关注
- Flex4Beta引入新元素功能更强大
- FlexBuilder3.0与Eclipse3.4的完美结合
- 技术分享 Flex4兼容模式如何移植到发布版本