通过MyEclpise整合JAVA与FLEX进行通讯(通过将Flex工程加到Java web工程中)

1.新建一个JAVA的WEB工程,命名为JavaAddFlex

2.导入我们所下载的blazed的所有LIB包

3.在web-inf目录了下新建一个FLEX文件夹,将blazed包下的flex文件夹考到该目录下

4.修改web工程下的web.xml文件,新增如下配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <context-param>
  <param-name>flex.class.path</param-name>
  <param-value>/WEB-INF/flex/hotfixes,/WEB-INF/flex/jars</param-value>
 </context-param>
  <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>


</web-app>

然后将你的WEB工程部署到tomcat中
5.然后点击JAVA的WEB工程,点右键,选择“Flex project nature”然后选择“Add Flex project nature”

 在出现的

Root folder中选择你部署在tomcat中的web工程

例如:E:\Tomcat6\webapps\JavaAddFlex

Root URL中选择你web服务的路径

例如:http://localhost:8080/JavaAddFlex

Cotext root中填写应用的名称 、JavaAddFlex

Output folder中的路径不用更改

6.配置FLEX的SDK

在WEB项目点击右键,在“properties”选项中选择“Flex Compiler”中将“Use the server's SDK”更改为"Use default SDK"

7.编写JAVA类

package com.flex;

public class HelloJava {

 public String sayHello(String username)
 {
  return "hello!"+username;
 }
}
8.编写JavaAddFlex.mxml

<?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.FaultEvent;
   import mx.controls.Alert;
   import mx.rpc.events.ResultEvent;
   private function resultHandle(event:ResultEvent):void{
   // var result:String = event.result as String;
    mx.controls. Alert.show(event.result.toString(), "提示");
   }
   private function faultHandle(event:FaultEvent):void{
    mx.controls.Alert.show(event.fault.toString());
   }
  ]]>
 </mx:Script>
 <mx:RemoteObject id="remoteService" destination="firstJavaFlex" source="com.flex.HelloJava" result="resultHandle(event)" fault="faultHandle(event)" endpoint="http://localhost:8080/FirstJavaFlex/messagebroker/amf"/>
 <mx:Button id="jbt" label="发送" click="remoteService.sayHello('涂平')"/>
</mx:Application>
9.重新将该工程部署到服务器中,重启服务器,

然后运行JavaAddFlex.mxml我们会发现一个html文件找不到,但是我们可以直接运行他所产生的JavaAddFlex.swf文件

 

你可能感兴趣的:(java,Web,javaee,servlet,Flex)