主頁 > 知識庫 > 手把手教你使用flex eclipse整合spring

手把手教你使用flex eclipse整合spring

熱門標(biāo)簽:天津企業(yè)外呼系統(tǒng)代理商 車載電話機(jī)器人 外呼系統(tǒng)號碼顯示 無錫電銷外呼系統(tǒng)代理 南昌crm外呼系統(tǒng)如何 什么行業(yè)需要電話機(jī)器人 地圖標(biāo)注多家店 中山外呼系統(tǒng)中間件 廣州ai外呼系統(tǒng)業(yè)務(wù)

最先下載FlashBuilder_4_7_LS10_win64.exe試了幾個(gè)eclipse安裝插件都沒成功,包括myeclipse8.5、spring sts2.9.2、eclipse3.5、j2eeeclipse版本4.2.0,后來搞了一個(gè)FlashBuilder_4_LS10.exe安裝完找不到插件安裝文件原來這個(gè)是單獨(dú)版,必須插件版才行,最后下載FlashBuilder_4_Plugin_LS10.exe終于配置成功了,myeclipse8.5不行,spring sts可以了。

spring sts部署應(yīng)用跟myeclipse不一樣,比較類似eclipse。

用sts整合flex和java有幾個(gè)步驟:

1:新建動態(tài)web工程flexweb,創(chuàng)建web.xml

2: blazeds-turnkey-4.0.0.14931.zip解壓, 復(fù)制blazed兩個(gè)文件夾flex和lib到WEB-INF下,里面是blaze的jar包和flex配置文件,然后修改web.xml加入blaze支持

listener>
  listener-class>flex.messaging.HttpFlexSession/listener-class>
 /listener>

 
 !-- MessageBroker Servlet -->
 servlet>
  servlet-name>MessageBrokerServlet/servlet-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:項(xiàng)目右鍵,添加/更改項(xiàng)目類型>添加flex類型項(xiàng)目,第一步,應(yīng)用程序類型選擇J2EE,下方選擇BlazeDS,第二部根文件夾填入項(xiàng)目在workspase的路徑加一個(gè)WebContent,如E:\workspaces\sts\flexweb\WebContent,根URL填http://localhost:8080/flexweb,上下文根目錄/flexweb,輸出文件夾使用默認(rèn)E:\workspaces\sts\flexweb\WebContent\flexweb-debug,點(diǎn)擊finish
4:轉(zhuǎn)換完成后,目錄有些變化,右鍵項(xiàng)目>properties>flex構(gòu)建路徑,主源文件夾改為flex_src,然后把自動生成的src目錄下的flexweb.mxml移動到flex_src下,環(huán)境搭建就算完成了

HelloWorld

flexweb.mxml:

?xml version="1.0" encoding="utf-8"?>
s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   
     xmlns:s="library://ns.adobe.com/flex/spark"   
     xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">  
 
 fx:Script>  
  ![CDATA[  
   import mx.controls.Alert;  
   import mx.rpc.events.ResultEvent;  
   
   protected function myFlex_resultHandler(event:ResultEvent):void{  
    var name:String=event.result as String;  
    Alert.show(name);  
   }  
   protected function button1_clickHandler(event:MouseEvent):void  
   {   
    myFlex.sayHello(txtName.text);  
   }  
  ]]>  
 /fx:Script>  
 
 fx:Declarations>  
  !-- 將非可視元素(例如服務(wù)、值對象)放在此處 -->  
  s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)"/>  
 /fx:Declarations>  
 s:Button x="209" y="135" label="按鈕" click="button1_clickHandler(event)"/>  
 s:TextInput x="166" y="81" id="txtName"/>  
 s:Label x="10" y="81" text="請輸入內(nèi)容:" fontSize="15" fontWeight="bold" fontFamily="中易黑體"/>  
/s:Application>

其中

s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)"/>

指定了一個(gè)調(diào)用Java的類Hello,mytest對應(yīng)到remoting-config.xml

在WEB-INFO/flex目錄下remoting-config.xml加入

destination id="mytest">
    properties>
      source>com.hongbo.Hello/source>
    /properties>
  /destination>

result對應(yīng)的是java方法調(diào)用的回調(diào)函數(shù)
建一個(gè)普通java類

package com.hongbo;

public class Hello {

 public String sayHello(String name){
  System.out.println("------------------------------------");
  return "Hello First Demo " + name;
 }
}

這樣就OK了

訪問路徑是http://localhost:8080/flexweb/flexweb-debug/flexweb.html


第一次會報(bào)404,problems提示無法創(chuàng)建html包裝器,右鍵點(diǎn)擊重新創(chuàng)建模板

添加Spring支持

1:web.xml加入

context-param>
  param-name>contextConfigLocation/param-name>
  param-value>/WEB-INF/classes/applicationContext.xml /param-value>
 /context-param>
 listener>
  listener-class>org.springframework.web.context.ContextLoaderListener/listener-class>
 /listener>

2:src下創(chuàng)建applicationContext.xml

?xml version="1.0" encoding="UTF-8"?>
beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:tx="http://www.springframework.org/schema/tx"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

 bean id="hello" class="com.hongbo.Hello">
  property name="testSpring">
   ref bean="testSpring"/>
  /property>
 /bean>
 bean id="testSpring" class="com.hongbo.test.impl.TestSpringImpl"/>
/beans>

3:WEB-INF/flex/service-config.xml加入

factories>
   factory id="spring" class="com.hongbo.SpringFactory" /> 
 /factories>

添加java類

package com.hongbo;


import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import flex.messaging.FactoryInstance;
import flex.messaging.FlexFactory;
import flex.messaging.config.ConfigMap;
import flex.messaging.services.ServiceException;
public class SpringFactory implements FlexFactory {
 private static final String SOURCE = "source";

 public void initialize(String id, ConfigMap configMap) {
 }

 public FactoryInstance createFactoryInstance(String id, ConfigMap properties) {
  SpringFactoryInstance instance = new SpringFactoryInstance(this, id,
    properties);
  instance.setSource(properties.getPropertyAsString(SOURCE, instance
    .getId()));
  return instance;
 } // end method createFactoryInstance()  

 public Object lookup(FactoryInstance inst) {
  SpringFactoryInstance factoryInstance = (SpringFactoryInstance) inst;
  return factoryInstance.lookup();
 }

 static class SpringFactoryInstance extends FactoryInstance {
  SpringFactoryInstance(SpringFactory factory, String id,
    ConfigMap properties) {
   super(factory, id, properties);
  }

  public String toString() {
   return "SpringFactory instance for id=" + getId() + " source="
     + getSource() + " scope=" + getScope();
  }

  public Object lookup() {
   ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(flex.messaging.FlexContext.getServletConfig().getServletContext());
   String beanName = getSource();

   try {
    return appContext.getBean(beanName);
   } catch (NoSuchBeanDefinitionException nexc) {
    ServiceException e = new ServiceException();
    String msg = "Spring service named '" + beanName
      + "' does not exist.";
    e.setMessage(msg);
    e.setRootCause(nexc);
    e.setDetails(msg);
    e.setCode("Server.Processing");
    throw e;
   } catch (BeansException bexc) {
    ServiceException e = new ServiceException();
    String msg = "Unable to create Spring service named '"
      + beanName + "' ";
    e.setMessage(msg);
    e.setRootCause(bexc);
    e.setDetails(msg);
    e.setCode("Server.Processing");
    throw e;
   }
  }

 }

}

4:修改remoting-config.xml

destination id="mytest">
    properties>
     factory>spring/factory>
      source>hello/source>
    /properties>
  /destination>

5:修改相應(yīng)的Java類

package com.hongbo;

import com.hongbo.test.TestSpring;

public class Hello {

 private TestSpring testSpring;
 
 public void setTestSpring(TestSpring testSpring) {
  this.testSpring = testSpring;
 }
 
 public String sayHello(String name){
  return testSpring.testSpring(name);
 }
}
package com.hongbo.test;

public interface TestSpring {

 String testSpring(String name);
}
package com.hongbo.test.impl;

import com.hongbo.test.TestSpring;

public class TestSpringImpl implements TestSpring{

 public String testSpring(String name){
  System.out.println("test spring-------------------------------------"+name);
  return "test spring "+name;
 }
}

最后,flex打印語句trace不會打印到控制臺,要先卸載flashplayer再安裝一個(gè)debuger版的flashplayer,下載flashplayer_uninstall.zip,卸載,下載flashplayer10r12_36_winax_debug.exe,安裝,卸載安裝后好像谷歌瀏覽器沒影響,然后eclipse修改默認(rèn)瀏覽器為IE,window>preferences>General>Web browser,選擇Internet Explorer,最后還有,啟動tomcat后,必須在mxml上面右鍵debug運(yùn)行,打開的IE才會打印trace,直接訪問網(wǎng)址是不行的。
如有遺漏請指出

您可能感興趣的文章:
  • 詳解MyEclipse中搭建spring-boot+mybatis+freemarker框架
  • Eclipse配置springIDE插件的方法步驟
  • Eclipse搭建spring開發(fā)環(huán)境圖文教程(推薦)
  • 詳解eclipse下創(chuàng)建第一個(gè)spring boot項(xiàng)目
  • Eclipse 使用Maven構(gòu)建SpringMVC項(xiàng)目
  • Eclipse使用maven搭建spring mvc圖文教程
  • MyEclipse2017創(chuàng)建Spring項(xiàng)目的方法

標(biāo)簽:海西 泰州 攀枝花 呂梁 滄州 欽州 佛山 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《手把手教你使用flex eclipse整合spring》,本文關(guān)鍵詞  手把手,教你,使用,flex,eclipse,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《手把手教你使用flex eclipse整合spring》相關(guān)的同類信息!
  • 本頁收集關(guān)于手把手教你使用flex eclipse整合spring的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章