JAVA(spring/hibernate/blaseds)+Flex整合方案

阅读更多

 

实现flex与java通信的方式通常有三种:http请求、web服务(web service)和RemoteObject(使用中间件

交互)。其中通过RemoteObject组件与java交互是最快速方便的,但是不同语言交互需要使用插件实现

AMF(Action Message Format)协议,关于java的flex插件我们通常使用开源免费的BlazeDS。

 

  • 项目准备

 

开发环境:eclipse和flash builder,如果eclipse安装了fb插件则更好了。

依赖框架:spring2.6、Hibernate3.3、blasds(下载地址:http://opensource.adobe.com/wiki/display/blazeds/Downloads)

关键jar包:spring-webmvc.jar、spring.jar、org.springframework.flex-1.0.3.RELEASE.jar、hibernate3.jar

 

 

 

  • 创建项目

 

eclipse新建一个dynamic web project

加入Hibernate、spring必备jar包至WEB-INF/lib目录下

解压blazeds.war文件,将blazeds\WEB-INF\lib目录下所有jar文件加入到项目WEB-INF/lib目录下

找到org.springframework.flex-1.0.3.RELEASE.jar(我在spring3中找到的)并加入到项目WEB-INF/lib目录下

将blazeds\WEB-INF下的flex文件夹拷贝到项目WEB-INF目录下

编写诸多dao、service代码,在此不再赘述。

 

我编写了一个名叫LoginServiceImpl的类,供flex调用:

 

public class LoginServiceImpl implements LoginService{
	
	private LoginInfoDao loginDao;
	
	public void setLoginDao(LoginInfoDao loginDao) {
		this.loginDao = loginDao;
	}
        
        @Override
	public long getLoginInfoTotalCounts() {
		return loginDao.getLoginInfoTotalCounts();
	}
}

 

 

编写spring配置文件,数据库连接池、事务管理、诸多IOC配置在此不再赘述。关键看如何让LoginServiceImpl允许flex调用,这里需要定义标签:

 


         
    
	
	
		
		
		
	

 

 

Flex调用java方法的大概原理是:flex向服务器发送调用请求,该请求路径是*/messagebroker/*的形式,所以spring需要截获请求路径,再根据请求信息调用指定方法,为了截获路径,所以需要使用spring mvc。

随后编写web.xml文件:

 

 




	ssh2model
	ssh2model Application

	
	
		Spring MVC Dispatcher Servlet
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			
		
		1
	
	
		Spring MVC Dispatcher Servlet
		/messagebroker/*
	

	
	
		encodingFilter
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			UTF-8
		
	

	
	
		contextConfigLocation
		
			classpath:com/bless/base/config/spring/springApplicationContext.xml,
			classpath:com/bless/*/config/spring/spring-*-*.xml
        
	

	
	
		flex.messaging.HttpFlexSession
	

	
	
		org.springframework.web.context.ContextLoaderListener
	

	
	
		org.springframework.web.util.IntrospectorCleanupListener
	

	
	
		20
	
	
	
	
		RDSDispatchServlet
		RDSDispatchServlet
		flex.rds.server.servlet.FrontEndServlet
		
			useAppserverSecurity
			false
		
		
			messageBrokerId
			_messageBroker
		
		10
	
	
		RDSDispatchServlet
		/CFIDE/main/ide.cfm
	

 

 

最后找到WEB-INF/flex/services-config.xml文件,更改services标签内的配置,如下图所示:


JAVA(spring/hibernate/blaseds)+Flex整合方案_第1张图片

以上spring+Hibernate+blaseds基本整合完成,将项目放在服务器中启动,第一次整合肯定会有问题,要么缺jar包要么配置有问题,耐心点一个个解决掉就行了,没事多问百度谷歌。

 

 

 

  • 创建Flex项目
java项目部署成功以后,即可开始创建flex项目:

①新建一个flex项目,指定“应用服务器类型”为J2EE的Blaseds

JAVA(spring/hibernate/blaseds)+Flex整合方案_第2张图片
 
②第二步是关键,这里要指定你当前部署的java项目的部署路径,输入正确的信息,点击验证配置按钮,验证通过以后可以点击确定完成。

JAVA(spring/hibernate/blaseds)+Flex整合方案_第3张图片
 

  • Flex调用Java测试
此时一个flex的j2ee项目已经创建好了,在默认包下找到一个*.mxml文件,在文件中写入测试代码:


	
	
		
	
	
	
		
	
	

 
最后鼠标右键选择启动web应用程序查看运行结果。

JAVA(spring/hibernate/blaseds)+Flex整合方案_第4张图片
 

 

你可能感兴趣的:(JAVA(spring/hibernate/blaseds)+Flex整合方案)