??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美不卡激情三级在线观看,97在线超碰,亚洲视频自拍偷拍http://www.aygfsteel.com/wangbbs2007/category/43511.htmlwww.kuangtao.netzh-cnMon, 11 Jan 2010 03:51:57 GMTMon, 11 Jan 2010 03:51:57 GMT60整合Flex和Java—配|篇http://www.aygfsteel.com/wangbbs2007/articles/308943.html狂淘|?/dc:creator>狂淘|?/author>Sun, 10 Jan 2010 12:28:00 GMThttp://www.aygfsteel.com/wangbbs2007/articles/308943.htmlhttp://www.aygfsteel.com/wangbbs2007/comments/308943.htmlhttp://www.aygfsteel.com/wangbbs2007/articles/308943.html#Feedback0http://www.aygfsteel.com/wangbbs2007/comments/commentRss/308943.htmlhttp://www.aygfsteel.com/wangbbs2007/services/trackbacks/308943.html整合Flex和Java—配|篇

Author:yongtree

废话׃说了Q要想了解Flex的相兛_容就请问一下GoogleQ百度吧。切入正题,作ؓ一个JavaE序员学习FlexQ关心的是怎样Flex和Javaq行l合交互。带着JavaE序员的思维Q一开始学习Flexq没有按部就班的学习Flex的基知识Q而是x清楚Flex到底怎样和Java交互的。经q了一个周末的研究Q终于初见成果,下面重要的讲解三种配置的两个?/p>

         在分享这几种配置之前Q先单的介绍一下需要用到的一些资源?/p>

1?nbsp; MyEclipse+Flex插gQ官|下载)

2?nbsp; Tomcat6.0作ؓ服务器(官网下蝲Q?/p>

3?nbsp; 用BlazeDSQ免费)代替LCDSQ收费)Q没钱啊Q只能先使用免费的了。从Adobe官方|站上下载下来,blazeds.war、ds-console.war、samples.war三个文g攑֜tomcat的webapps目录下?/p>

Flex+Java配置Q?/p>

         W一U:Java工程和Flex工程独立Q这U方式也是很多h使用的方式,FlexE序员和JavaE序员相互独立的工作Q这U方式网上有很多的资料,在这里就不再 赘述了?/p>

         W二U:Flex工程加入Java元素

1?nbsp; 切换到Flex视图Q新建Flex projectQ如下图

因ؓ我们是要java和flexl合Q所以在服务器选择上我们选择J2EE

 
 
存放javacȝ源文Ӟ我们的目的就是Flex和java在一个工E里Q所以我们这里选择?/p>

 
 


说明QJava source folder是你自己java业务源码存放的根目录Q在FB3里,LCDS目旨在Java J2ee目和FlexLcds目混合?/p>

当然如果你不选择 combined 两个在一P那么麻烦些Q要么你再单独新Z个Flex目Q而这个项目只写java代码。要么再Z个J2ee工程写java代码Q而这个项目只写Flex代码Q但最后要把Java~译后的class文g攑ֈq个目下的webroot\web-inf\classes目录中。即不管怎样Q最后发布时Qjava~译后的class文g必须和lcds部v的项目在一赗?/p>

2?nbsp; 点击NextQ配|J2EE服务器,如下?/p>

 
 
 
 


说明QTarget runtime实际上没什么用Q后来我删除了配|文仉的对应信息,也没问题Q,但是不指定就不能l箋Q如果这里显C的?lt;none>那么新Z个Tomcat的runtimeQ简单的只需要指定tomcat的安装目录即可?/p>

Content folder实际上就是最l编译后的容器目录,因此QBlazeDS的blazeds.war文g会发布?该目?下的web-inf下的flex目录中。同时因为教E采用的是MyEclipseQ他默认的就是发布WebRoot里的内容Qؓ了自动化Q因此这里改ZWebRootQ这也是java开发的习惯Q?

Flex WAR file 指的是安装了lcds后的flex.war文g的\径,但是在这里我们采用的是BlazeDS来取代lcdsQ所以这里设|的是blazeds.war的\径?/p>

Compilation options指定了flex文g的编译方式,选择推荐的在FlexBuilder里编译吧Q虽然开发时多耗点旉Q但是在发布后不会占用服务器的编译处理时_对用h说是有好处的?/p>

Output folder 指的是Flex~译后的swf和html{文件存攄路径Q这里改ZWebRootQ意思是发布到根目录可以了。当然你可以Ҏ你的需要和习惯自行讄其他的\?/p>

3?nbsp; 点击下一步,采用默认的配|就可以Q点d成,该工E就建立完成。下图ؓ该工E的目录l构

 
 
 
 
 
 
 
 


4?nbsp; 让它变成web工程由MyEclipse发布?/p>


 


 
 


 

              点击FinishQ现在我们的工程的图标变成了J2EE Web 工程了,q意味着Q你可以用MyEclipse来发布它或者添加更多容器,比如hibernate、spring{?/p>

5?nbsp; 工程建好以后Q你可以通过右键?gt;属性来q行更多的设|?/p>


 


6?nbsp; q样一个Flex+Java的工E就建立完成?/p>

7?nbsp; ~写例子Q测试在介绍完第三种方式以后l一介绍?/p>

W三U:由Web project反向加入FlexQ也是Java+Flex

1?nbsp; 先徏立一个web工程Qflexweb。(略)

2?nbsp; 向flexweb工程手工dFlex需要的元素?/p>

1Q首先将BlazeDS需要的jar文g拷到工程的lib目录下。可以将上面建的那个flex工程的lib下的jar文g拷到该工E下的lib目录下?/p>

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

3Q最后,修改web.xml文gQ加入Flex的配|。做法一个简单的把上面我们新建的那个flex工程的web.xml的部分代码拷q来?/p>

<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?nbsp; 该工程发布到tomcat下,q启动tomcat。(注:一定要启动tomcatQ因为在后面的设|中Q它要验证工E的路径Q?/p>

4?nbsp; 然后在该工程上右?#224;Flex Project NatureàAdd Flex Project Nature


 


 
 
 
 
 


5?nbsp; 讄完成后,会发现web工程的目录结构已l发生了改变Q如下图?/p>

我们发现以这UŞ式徏立的工程的目录结构和W二U方法有许的不同,flex的mxml文g默认的放在src文g夹中Q和java文gq一个目录。ƈ且没有像上一个工E那栯动的~译出可q行的文件?/p>


 


 

6?nbsp; 如果你对q个目录l构不太满意Q还惌flex的文件放在flex_src目录下,别急,我们可以通过右键à属性来讄。如下图


 


在这里你可以重新讄你的flex源文件夹和输出目?/p>

7?nbsp; 配置flex默认的sdk。这样配|完Q还不行Q程序可能还不能正常地运行,q需要配|他使用的sdk。如下图

 


8?nbsp; 马上大功告成了Q让我们来写个程序测试一下吧?/p>

1)新徏一个javac:Hello.java

package com;

public class Hello {

  public String hello(String name){

     System.out.println("flex调用我了Q真好~~~~");

     return "hello "+name;

  }

}

        2)为flex配置q个要调用的对象Q修改WEB-INF/flex下remoting-config.xml

加入Q?/p>

<destination id="hello">

        <properties>

            <source>

                com.Hello

            </source>

        </properties>

</destination>

    3)~写一个FlexE序

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

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

 

  <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)重启tomcatQ运行flexweb.mxml.

W三U方法,在编译完后,讉K|页会出?04异常。具体原因不详。但是它仍会~译Z个swf文gQ访问这个swf卛_。而第二种方式可以~译Z个html文g。访问一下会出现一下界面:

输入dfdffQ则输出hello dfdff。说明调用javacL功。不信我们可以看看javacd控制C的打印?/p>


控制C的打?/p>


配置成功Q高兴吧Qo(∩_∩)o…哈哈?/p>

如果用lcdsQ则不需要预~译Q可以直接访问mxml文gQlcds会动态编译返回结果。哎Q免费的q是不行啊,谁叫咱没钱啊Q只能用免费的了Q痛苦点q苦点吧?/p> 分nQ狂淘购物网 www.kuangtao.net

]]>
վ֩ģ壺 ˶| | ²| ̩| Դ| | | ӽ| ԭ| Դ| | | ϼ| | ƽ| | | ˳| | | | Զ| ʯׯ| | ɽ| | Ϻ| | ԫ| | | | ˹| | °| ʯ̨| ޻| | | | |