整合Flex+Java配置篇
废话就不说了,要想了解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 source folder就是你自己java业务源码存放的根目录,在FB3里,LCDS项目旨在将Java J2ee项目和FlexLcds项目混合。
当然如果你不选择 combined 两个在一起,那么就麻烦些:要么你再单独新建一个Flex项目,而这个项目只写java代码。要么再建一个J2ee工程写java代码,而这
因为我们是要java和flex结合,所以在服务器选择上我们选择J2EE
存放java类的源文件,我们的目的就是Flex和java在一个工程里,所以我们这里选择上
个项目只写Flex代码,但最后要把Java编译后的class文件放到这个项目下的webroot\web-inf\classes目录中。即不管怎样,最后发布时,java编译后的class文件必须和lcds部署的项目在一起。
2、 点击Next,配置J2EE服务器,如下图
说明: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,意思是发布到根目录就可以了。当然你可以根据你的需要和习惯自行设置其他的路径
因为我们采用的BlazeDS,所以这里要设置BlazeDS的路径
这里我们可以自定义输出路径,一般情况下设置成根目录WebRoot就可以了
3、 点击下一步,采用默认的配置就可以,点击完成,该工程就建立完成。下图为该工程的目录结构
4、 让它变成web工程由MyEclipse发布吧
Flex文件的源文件夹
Java源文件夹
自动生成的flex的配置文件
Flex编译后发布的文件。我们发布在根目录下
点击Finish,现在我们的工程的图标变成了J2EE Web 工程了,这意味着,你可以
注意,不要点的太快了,要把这里的对号勾掉,这样就不会覆盖BlazeDS创建的web.xml
用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>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
3、 将该工程发布到tomcat下,并启动tomcat。(注:一定要启动tomcat,因为在后面的设置中,它要验证工程的路径)
4、 然后在该工程上右键?Flex Project Nature?Add Flex Project Nature
5、 设置完成后,会发现web工程的目录结构已经发生了改变,如下图。
我们发现以这种形式建立的工程的目录结构和第二种方法有少许的不同,flex的mxml文件默认的放在src文件夹中,和java文件共用一个目录。并且没有像上一个工程那样自动的编译出可运行的文件。
配置服务器路径
配置正确的显示
建议不要修改这里的配置
6、 如果你对这个目录结构不太满意,还想让flex的文件放在flex_src目录下,别急,我们可以通过右键?属性来设置。如下图
在这里你可以重新设置你的flex源文件夹和输出目录
7、 配置flex默认的sdk。这样配置完,还不行,程序可能还不能正常地运行,还需要配置他使用的sdk。如下图
8、 马上就大功告成了,让我们来写个程序测试一下吧。
1)新建一个java类:Hello.java
package com;
public class Hello {
public String hello(String name){
System.out.println("flex调用我了,真好~~~~");
return "hello "+name;
}
}
2)为flex配置这个要调用的对象,修改WEB-INF/flex下remoting-config.xml
加入: <destination id="hello"> <properties> <source> com.Hello </source> </properties> </destination>
3)编写一个Flex程序
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
将默认的第三个选项改为第一个选项,使用系统默认的sdk
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
function gg(evnet:ResultEvent):void{
var ff:String = evnet.result as String;
ggg.text = ff;
}
function remotingSayHello():void{
var sname:String = nameInput.text;
h.hello(sname);
}
]]>
</mx:Script>
<mx:RemoteObject destination="hello" id="h"
result="gg(event)" endpoint="http://localhost:8080/flexweb/messagebroker/amf" >
</mx:RemoteObject>
<mx:TextArea id="ggg" x="109" y="122"/>
<mx:Button label="say hello" click="remotingSayHello();" x="144" y="193"/>
<mx:TextInput id="nameInput" x="109" y="73"/>
<mx:Label text="name" x="47" y="75"/>
</mx:Application>
4)重启tomcat,运行flexweb.mxml.
第三种方法,在编译完后,访问网页会出现404异常。具体原因不详。但是它仍会编译出一个swf文件,访问这个swf即可。而第二种方式可以编译出一个html文件。访问一下会出现一下界面:
输入dfdff,则输出hello dfdff。说明调用java类成功。不信我们可以看看java类在控制台上的打印。
Flex+Java环境配置成功,高兴吧,o(∩_∩)o…哈哈。
如果用lcds,则不需要预编译,可以直接访问mxml文件,lcds会动态编译返回结果。哎,免费的还是不行啊,谁叫咱没钱啊,只能用免费的了,痛苦点就痛苦点吧。
分享到:
相关推荐
而"hx"可能是项目中的某个文件或文件夹,可能包含Flex的MXML和ActionScript代码、BlazeDS配置文件、Java服务器端代码等。通过对这些源码的深入研究,我们可以了解到具体的设计模式、数据处理方式以及服务调用逻辑,...
Flex+Java完美整合框架是一种高效的应用开发解决方案,它结合了Adobe Flex的富互联网应用程序(RIA)开发能力与Java的强大后端服务支持。Flex是用于构建交互式、图形丰富的Web应用的开源框架,而Java则提供了稳定的...
8. **Flex与Java通信**:使用BlazeDS/LCDS,我们可以创建Flex Remoting配置,定义在客户端和服务器之间的远程方法调用。这允许Flex应用直接调用Java服务,获取和更新数据。 9. **数据模型和服务接口**:在Java端...
描述中提到的“NULL 博文链接:https://joey0535.iteye.com/blog/1759799”表明可能存在一篇博客文章详细介绍了如何整合Flex和Java Web。由于无法直接访问该链接,我将提供一个通用的整合过程: 1. **环境准备**: ...
本文将详细讲解如何整合Flex、Java、Spring、Hibernate以及BlazeDS,打造一套完整的前后端交互解决方案。 一、Flex概述 Flex是由Adobe公司推出的用于创建富互联网应用程序的开源框架,基于ActionScript编程语言和...
掌握Flex、LCDS和Java的整合,开发者可以构建出高性能、用户体验优秀的RIA,广泛应用于企业级应用、数据可视化、实时监控等多种场景。在学习过程中,除了文档,还可以参考官方文档、在线教程、社区论坛等资源,不断...
这篇教程将详细解释如何在Eclipse环境中使用Flex Builder插件来实现这种整合。 首先,新建Flex工程是整合的第一步。选择"File" -> "New" -> "Flex Project",在创建过程中选择J2EE服务器类型,勾选"Use remote ...
《构建FLEX+Java+BlazeDS整合OA系统详解》 在信息技术日新月异的今天,企业级应用系统的开发愈发复杂,而FLEX、Java、Hibernate、Spring和BlazeDS的整合则为企业级应用提供了高效、灵活的解决方案。本文将深入探讨...
### FLEX+JAVA+LCDS完全配置知识点梳理 ...此外,通过实际案例的学习,还可以进一步掌握如何高效地整合Flex与Java项目,以及如何利用LCDS进行数据服务配置。这对于提高开发效率和优化应用程序性能都具有重要意义。
这些设置对于项目的成功构建至关重要,尤其是当涉及到Java源码与Flex代码的整合时。例如,选择“Combined”选项可以简化流程,将Java和Flex代码放在同一工程中,避免了后期手动合并Java编译后的class文件至Flex项目...
Flex整合Java开发是一种常见的技术组合,用于构建富互联网应用程序(RIA)。这种技术融合了Adobe Flex的用户界面设计优势和Java的后端处理能力,提供了一种高效、灵活且功能丰富的应用开发解决方案。以下是对给定...
通过以上步骤,您已经成功创建了一个基本的Flex+LCDS+Java项目,并且了解了如何搭建和配置相关的开发环境。接下来,您可以进一步探索更高级的功能和技术,如自定义UI组件、优化数据绑定流程等,从而构建更复杂的应用...
### 整合Flex与Java——配置篇 #### 引言 随着互联网技术的发展,富互联网应用(RIA)逐渐成为一种趋势。Flex作为一种优秀的RIA开发工具,以其强大的界面设计能力和良好的用户体验受到开发者的青睐。而Java作为...
这篇文档"整合Flex和Java--配置篇"将深入探讨如何将这两者有效地结合起来,以便于开发人员构建高效、动态的Web应用。 首先,要理解Flex和Java的整合基础。Flex通常使用ActionScript编程语言,并基于Adobe Flash ...
同时,日志记录对于故障排查和系统监控至关重要,可以在Java和Flex两端分别进行日志记录,并整合查看。 9. **部署与运行环境**:Flex应用程序通常运行在Flash Player或Adobe AIR上,而Java应用可能部署在Tomcat、...
【整合Flex和Java—配置篇】是一篇针对初学者的入门教程,主要讲解如何将Adobe Flex前端应用与Java后端通过BlazeDS进行整合。BlazeDS是一个Java远程控制(Remoting)和Web消息传递(Messaging)技术,使得Java应用...
【描述】: "这份文档详细介绍了使用FLEX和Java进行开发的相关配置和步骤,非常适合初学者作为入门资料。" 【标签】: "FLEX,Java" 【内容】: 本文档主要探讨了Flex与Java的集成开发,特别是使用Flex、BlazeDS和...
【标签】"源码"意味着这个压缩包中可能包含完整的源代码,这对于学习和理解Flex与Java Servlet整合的文件上传机制非常有帮助。"工具"可能指的是该压缩包中可能包含的辅助工具,如构建脚本或者IDE配置文件,帮助...
本教程旨在帮助初学者了解如何创建Flex与LCDS相结合的工程项目,并通过整合和部署J2EE项目与LCDS项目来实现简单功能。教程通过图文并茂的方式,详细介绍了创建项目的步骤以及如何使用RemoteObject进行简单的请求和...
Flex 的安装与配置 - **Flex 3 及 Flex Builder 安装**: Flex 3 是该教程所使用的版本,而 Flex Builder 是 Adobe 推出的一款集成开发环境(IDE),专为 Flex 和 Flash 开发设计。 - 安装过程包括下载 Flex SDK、...