整合Flex+struts+BlazeDS+tomcat+mysql

来源:互联网 发布:虚拟币源码 编辑:程序博客网 时间:2024/04/27 15:27

    

Flex技术是一种完善的RIA技术,因此与web系统之间必然存在着千丝万缕的联系。随着RIA技术的不断成熟,现在越来越多的java开发者喜欢将其整合到企业级应用之中。本文是在项目:快速开发平台基础之上的一点学习心得与体会。主要从一下几个方面介绍:

1. Flex开发模型的介绍

Flex作为开发网络程序的一种技术,支持框架技术,完全支持MVC构建,我们可以使用其构建单一的表示层,也可以使用其面向对象的AS语言和Flex数据服务,构建程序的业务层和数据持久层。

Flex的编译原理就是通过把MXML文件转换成面向对象的AS类,然后结合程序中指定的图片和声音等一些信息,统一编译成SWF文件。       

系统运行后,当用户打开此网页的时候将下载SWF文件到PC机的内存中,这样在以后的交互中系统将只是传输关键的信息,不用刷新整个页面,提高了网络交互的速率。


2LCDS的介绍

 

LCDS(LiveCycle Data Service)之前叫做FDS(Flex Data Service),他是基于java(也有ColdFusion版的)后端的数据服务工程,功能包括映射Java对象到Flex对象(包括调用Java类 的方法)、RTMP(Real Time Message Protocol)、代理、服务端生成PDF等等功能,详细请参考 LCDS里的说明。官方有下载,需要注册会员(免费)。

LCDS实际是付费的,但是免费也能使用,似乎是少了多CPU的支持。当然还有一些其他的数据服务,比如AMFPHP之类的。当然,LCDS提供的功能我们都能自己实现,并非Flex脱离了LCDS就不能和后台打交道了,除了RemoteObject还有WebSerivce、HTTPService等等。只是说,LCDS提供了更多的方便和特性。

       3、系统平台的构建

          我采用的平台是JDK1.5+XP+Tomcat6.0,开发工具是flex插件+myeclipse6.0+struts+BlazeDS.

        各个工具的安装比较简单,但是注意flex插件在myeclipse中的安装需要简单的配置。BlazeDS.我下载的是blazeds_turnkey_3-0-0-544。

        3.1. 新建FlexLCDS工程

                   File -> new -> Flex Project ...

                   注:以下设置绝大多数都可以在项目属性中可以修改。

1). 向导界面1

           


2)向导界面2


 

 

其中Targetruntime需要自己配置。

3、按next最后生成的结构图如下:

最后就是发布到服务器中,如图所示:


这样你的mxml页面就可以通过服务器访问,如图所示:
 


但是你的jsp页面此事有可能不能访问,会出现异常,查了下是因为jdk版本的问题,必须是1.5。下面是struts页面图:

 

4、flex与java的交互,主要是配置文件remoting-config.xml。本文的主要配置如下代码所示:

<?xml version="1.0" encoding="UTF-8"?>

<service id="remoting-service"

    class="flex.messaging.services.RemotingService">

    <adapters>

        <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>

    </adapters>

    <default-channels>

        <channel ref="my-amf"/>

    </default-channels>    

    <destination id="FirstJavaClassRemoteObject" >

      <properties>

       <source> com.test.FirstJavaClass</source>

       <scope>application</scope>

       </properties>

    </destination>

    <destination id="UserServiceOblect">

      <properties>

         <source>com.test.UserService</source>

      </properties>

    </destination>

</service>

                 

原创粉丝点击