flex和myeclipse+ssh组合

来源:互联网 发布:韩国ins社交软件 编辑:程序博客网 时间:2024/06/13 04:09

1先建立个web工程

2下载1个 blazeds.war 这个是用来flex和eclipse整合的包

3解压这个包把这个包的东西复制到webroot下

4右击项目 添加项目类型 flex项目类型

5右键flex 服务器 根目录等等设置好

示例:

根目录文件夹E:\Workspaces\mxAsset\flexAndJava\WebRoot

根url http://localhost:8080/flexAndJava/

上下文根目录 /flexAndJava

输出文件夹

WebRoot\flexAndJava-debug 默认

6 flex 构建路径

在主源文件夹中把src 修改为 flex_src src我们要放java文件

然后把src的文件移到flex_src 中 通常是1个xxx.mxml

这个时候有1个错,是什么html-template什么 右键点击这个错,重新构建

好了 然后在webxml中选择 项目名字.html的文件为默认文件

这个文件中的flash指向项目名.swf就行了

ps:由于相对路径的关系 我换了一下项目路径,不然每次都添加到debug中很难过

发现无法在工程中修改 于是我直接修改了文件

.actionScriptProperties

outputFolderPath="WebRoot" 

然后整合ssh和flex

收下把ssh的jar放进去,配置文件调好这个我就不说了

在services-config.xml中添加

<services-config><factories>  <factory id="spring" class="flex.factories.SpringFactory"/></factories>...remoting-config.xml中添加<destination id="serviceImpl"><properties><factory>spring</factory><span style="font-family: Arial, Helvetica, sans-serif;"><!--factory 是上面的id--></span><source>serviceImpl</source><span style="font-family: Arial, Helvetica, sans-serif;"><!--spring的bean的id--></span><pre name="code" class="html"><scope>application</scope><pre name="code" class="html"></properties><pre name="code" class="html"></destination>
</pre><pre>
就行啦flex.factories.SpringFactory是让spring管理flex
package flex.factories;//这个就是<span style="font-family: Arial, Helvetica, sans-serif;">SpringFactory</span>import org.springframework.context.ApplicationContext;import org.springframework.web.context.support.WebApplicationContextUtils;import org.springframework.beans.BeansException;import org.springframework.beans.factory.NoSuchBeanDefinitionException;import flex.messaging.FactoryInstance;import flex.messaging.FlexFactory;import flex.messaging.config.ConfigMap;import flex.messaging.services.ServiceException;/** * This interface is implemented by factory components which provide * instances to the flex messaging framework.  To configure flex data services * to use this factory, add the following lines to your services-config.xml * file (located in the WEB-INF/flex directory of your web application). * *<factories> *     <factory id="spring" class="flex.samples.factories.SpringFactory" /> *  </factories> * * You also must configure the web application to use spring and must copy the spring.jar * file into your WEB-INF/lib directory.  To configure your app server to use spring, * you add the following lines to your WEB-INF/web.xml file: * *   <context-param> *        <param-name>contextConfigLocation</param-name> *        <param-value>/WEB-INF/applicationContext.xml</param-value> *   </context-param> * *   <listener> *       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> *   </listener> *  * Then you put your spring bean configuration in WEB-INF/applicationContext.xml (as per the * line above).  For example: *  *  <?xml version="1.0" encoding="UTF-8"?> *  <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> *    *  <beans> *    <bean name="weatherBean" class="dev.weather.WeatherService" singleton="true"/> *  </beans> *   * Now you are ready to define a destination in flex that maps to this existing service.  * To do this you'd add this to your WEB-INF/flex/remoting-config.xml: * *  <destination id="WeatherService"> *      <properties> *          <factory>spring</factory> *          <source>weatherBean</source> *      </properties> *  </destination> * * @author Jeff Vroom */public class SpringFactory implements FlexFactory{    private static final String SOURCE = "source";    /**     * This method can be used to initialize the factory itself.  It is called with configuration     * parameters from the factory tag which defines the id of the factory.       */    public void initialize(String id, ConfigMap configMap) {}    /**     * This method is called when we initialize the definition of an instance      * which will be looked up by this factory.  It should validate that     * the properties supplied are valid to define an instance.     * Any valid properties used for this configuration must be accessed to      * avoid warnings about unused configuration elements.  If your factory      * is only used for application scoped components, this method can simply     * return a factory instance which delegates the creation of the component     * to the FactoryInstance's lookup method.     */    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()    /**     * Returns the instance specified by the source     * and properties arguments.  For the factory, this may mean     * constructing a new instance, optionally registering it in some other     * name space such as the session or JNDI, and then returning it     * or it may mean creating a new instance and returning it.     * This method is called for each request to operate on the     * given item by the system so it should be relatively efficient.     * <p>     * If your factory does not support the scope property, it     * report an error if scope is supplied in the properties     * for this instance.     */    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;            }         }            } } 


                                             
0 0