您好,欢迎访问三七文档
基于blazeDS的flex4与spring的程序实例步骤和Flex中的Session管理AdobeFlashBuilder4简体中文正式版Windows版点击下载:简体中文正式版Mac版点击下载:在线课堂:平台技术峰会课程视频:环境:jdk1.6j2ee1.5spring2.5.6blazeDS3.3tomcat6.0flex4myeclipse8.5flashBuilder4步骤:一、启动好blazeDS(即启动tomcat,在[tomcat]/webapps目录下产生一个blazeds文件夹(三个war包产生一个blazeds文件夹));在myeclipse8.5新建一个webProject工程,工程名为webSpring;把此工程加入blazeDS支持(即用blazeds下的WEB-INF文件夹替换掉web工程下的WEB-INF文件夹);加入spring支持(把spring相关的jar包拷贝到webSpring/WebRoot/WEB-INF/lib目录下即可)。二、1.在javaWeb工程webSpring的str目录下分别新建一下两个包:cn.xuediit.myFactory、cn.xuediit.myService;2.在cn.xuediit.myFctory包下新建两个类:FlexFactoryImpl.java和SpringFactoryInstance.java(1).FlexFactoryImpl.java:packagecn.xuediit.myFactory;importorg.apache.commons.logging.Log;importorg.apache.commons.logging.LogFactory;importflex.messaging.FactoryInstance;importflex.messaging.FlexFactory;importflex.messaging.config.ConfigMap;publicclassFlexFactoryImplimplementsFlexFactory{privateLoglog=LogFactory.getLog(getClass());/*overrideinterfacemethod*/publicvoidinitialize(Stringid,ConfigMapconfigMap){System.out.println(1---flex工厂实现类重写的方法initialize);}/*overrideinterfacemethod*/publicFactoryInstancecreateFactoryInstance(Stringid,ConfigMapproperties){System.out.println(2---flex工厂实现类重写的方法createFactoryInstance);log.info(CreateFactoryInstance.);SpringFactoryInstanceinstance=newSpringFactoryInstance(this,id,properties);instance.setSource(properties.getPropertyAsString(SOURCE,instance.getId()));returninstance;}/*overrideinterfacemethod*/publicObjectlookup(FactoryInstanceinstanceInfo){System.out.println(4---flex工厂实现类重写的方法lookup);log.info(Lookupserviceobject.);returninstanceInfo.lookup();}}(2).SpringFactoryInstance.javapackagecn.xuediit.myFactory;importorg.apache.commons.logging.Log;importorg.apache.commons.logging.LogFactory;importorg.springframework.beans.BeansException;importorg.springframework.beans.factory.NoSuchBeanDefinitionException;importorg.springframework.context.ApplicationContext;importorg.springframework.web.context.support.WebApplicationContextUtils;importflex.messaging.FactoryInstance;importflex.messaging.FlexContext;importflex.messaging.FlexFactory;importflex.messaging.config.ConfigMap;importflex.messaging.services.ServiceException;publicclassSpringFactoryInstanceextendsFactoryInstance{privateLoglog=LogFactory.getLog(getClass());SpringFactoryInstance(FlexFactoryfactory,Stringid,ConfigMapproperties){super(factory,id,properties);}publicObjectlookup(){System.out.println(3---spring工厂类的方法lookup);ApplicationContextappContext=WebApplicationContextUtils.getRequiredWebApplicationContext(FlexContext.getServletConfig().getServletContext());StringbeanName=getSource();try{log.info(LookupbeanfromSpringApplicationContext:+beanName);returnappContext.getBean(beanName);}catch(NoSuchBeanDefinitionExceptionnex){ServiceExceptione=newServiceException();Stringmsg=Springservicenamed'+beanName+'doesnotexist.;e.setMessage(msg);e.setRootCause(nex);e.setDetails(msg);e.setCode(Server.Processing);throwe;}catch(BeansExceptionbex){ServiceExceptione=newServiceException();Stringmsg=UnabletocreateSpringservicenamed'+beanName+'.;e.setMessage(msg);e.setRootCause(bex);e.setDetails(msg);e.setCode(Server.Processing);throwe;}catch(Exceptionex){ServiceExceptione=newServiceException();Stringmsg=UnexpectedexceptionwhentryingtocreateSpringservicenamed'+beanName+'.;e.setMessage(msg);e.setRootCause(ex);e.setDetails(msg);e.setCode(Server.Processing);throwe;}}}3.在cn.xuediit.myService包下新建两个类:FService.java和FServicesImpl.java(1).FService.javapackagecn.xuediit.myService;publicinterfaceFService{publicStringsayHello(Stringname);}(2).FServicesImpl.javapackagecn.xuediit.myService;publicclassFServicesImplimplementsFService{publicStringsayHello(Stringname){System.out.println(5---服务层实现类(本质上的与flex交互的类));return我是服务层的服务实现类==+name;}}三、1、在javaWeb工程webSpring下,在文件webSpring/WebRoot/WEB-INF/web.xml的web-app标签下添加子节点:listenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listener2、在javaWeb工程webSpring下,在webSpring/WebRoot/WEB-INF目录下新建一个文件:applicationContext.xml?xmlversion=1.0encoding=UTF-8?beansxmlns=:xsi=:tx=:schemaLocation=://://://=fServiceImplBeanIDclass=cn.xuediit.myService.FServicesImpl/bean/beans四、1、在javaWeb工程webSpring下,在WebRoot/WEB-INF/flex/remoting-config.xml文件中的service标签下添加:destinationid=destinationIDpropertiesfactoryflexFactoryImplID/factorysourcefServiceImplBeanID/sourcescopeapplication/scope/properties/destination2、在javaWeb工程webSpring下,在WebRoot/WEB-INF/flex/services-config.xml文件中的services-config标签下添加:factoriesfactor
本文标题:基于blazeDS的flex4与spring的程序实例步骤和Flex中的Session管理
链接地址:https://www.777doc.com/doc-2568672 .html