随着 Adobe Flex 技术的成熟,越来越多的企业开始采用 Adobe Flex 技术开发 RIA (Rich Internet Application)。在常见的 RIA 应用程序架构中,客户端用 Adobe Flex 渲染出漂亮的界面,而渲染界面所需要的数据则从服务器端的应用程序获取。在 Java EE 领域,服务器端的应用程序通常是运行在 Java EE 应用服务器中,以获取安全,事务,高可靠性等企业级特性,这直接催生了整合 Abode Flex 和 Java EE 应用服务器的需求。而Spring 又是当前应用最广泛的 Java EE 应用服务器之一,本文将主要介绍如何整合这两种技术,使你能够轻松构建既健壮又漂亮的 Web 应用程序。整合 Adobe Flex 和 Spring 的关键就在于提供一种方法使得 Adobe Flex 客户端程序可以很容易访问到 Spring 管理的Bean,并避免过多的配置。利用开源框架 BlazeDS 和 Spring BlazeDS Integration 来集成 Adobe Flex 和 Spring 可以帮助你做到这一点。
BlazeDS 和 Spring BlazeDS Integration
BlazeDS, BlazeDS 是 Adobe 公司的一个开源项目,用于实现基于 Flex 的前端与基于 Java 的后端应用程序之间的远程调用和消息传送。而 Spring BlazeDS Integration 是 Adobe 和 Spri
ng 联合开发的一个开源集成项目,目标是使得开发人员可以轻松创建前端采用 Flex 而后台采用 Spring 的RIA 应用程序,同时避免过多的配置。图1展示了 Spring BlazeDS Integration 的工作原理。首 先,在 l 中注册 Spring Web MVC 框架的 DispatcherServlet,用于处理 Spring 请求,通常 DispatcherServlet 只是将接收到的 Spring 请 求转给相应的处理器(handler), 处理器会处理接收到的请求并返回一个响应。而这些处理器需要在 Spring Web MVC 框架的配置文件中进行装配,BlazeDS 就是在这里被装配为 Spring Web MVC 框架的一个处理器,用于 处理 Flex 的 远程调用请求,装配后的 BlazeDS 可以把 Spring 管理的 Bean 封装成 Flex 客户端可以远程调用的服务对象。整个过程会涉及到3个配置文件,如图1中的白折角框所示。下面会一步一步介绍如何使用 Spring BlazeDS Integration 整 合 Flex 和 Spring。
图1 – Spring BlazeDS Integration 示意图
软件环境要求
Java 1.5或更高版本
Tomcat 6或更高版本
Spring 2.5或更高版本
BlazeDS 3.2或更高版本
Spring BlazeDS Integration 1.0 或更高 版本
Internet Explorer 6/7/8 或Firefox 3.0/3.5
Flash player 9.0或更高版本
Flex Builder 3.0或更高版本
下面我们要用 Flex Builder 创建一个基于 Spring 的 服务器端应用程序和一个基于 Flex 的客户端应用程序,我们可以用 Flex Builder 的 Java/Flex 组合工程将二种应用程序合并到一个工程中。
创建一个 Java/Flex 组合工程
首先,启动 Flex Builder,新建一个 Flex 工程,选择Application server type 为J2EE ,并选
中 Create combined Java/Flex project using WTP 复选框,该复选框的意思就是把基于 Java 的服务器端应用程序和基于 Flex 的客户端应用程序放在同一个工程中。如图2所示。
图2 – 新建 Flex 工 程
点击按钮 Next,这里我们选择 Target runtime 为 Apache Tomcat v6.0, 设置好 Context root 和myspring是什么意思 Content folder,如果 Target runtime 下拉框没有想要的 J2EE server ,可以点击按钮 New… 创建一个。
点击按钮 Finish ,一个新的 Flex 工程就创建好了。接下来我们要把所依赖的 Spring, BlazeDS 和 Spring Blaze Integration 的 jar 文件加入到 WEB-INF/lib 目录下面。下面清单列出了这些 jar 文件。
backport-util-concurrent.jar
cfgatewayadapter.jar
commons-codec-1.3.jar
commons-httpclient-3.0.1.jar
commons-logging.jar
concurrent.jar
flex-messaging-common.jar
flex-messaging-core.jar
flex-messaging-opt.jar
flex-messaging-proxy.jar
flex-messaging-remoting.jar
org.springframework.flex-1.0.0.M1.jar
spring-beans.jar
spring-core.jar
spring-web.jar
spring-webmvc.jar
spring.jar
xalan.jar
配置 Spring DispatcherServlet
Spring 本身自带了一个 Web MVC 框架,这个 Web MVC 框架的入口点是 DispatcherServlet,它用来分发 Spring 请求到相应的处理器。为了在 Web 应用程序中使用 Spring Web MVC 框架,我们需要在 l 里 面注册这个 DispatcherServlet。在上面新创建的 Flex 工程中,打开 WebContent/l , 加入如清单1所示的代码。按照清单1的配置,当请求是发送给以 /spring 开头的 URL 时,Tomcat 会派发给 Spring Web MVC 框架来处理。另外,在清单1中把 Spring Web MVC 框架的配置文件设置为 WEB-INF/l, 我们需要手动创建这个文件,接下来我们还要在这里配置 BlazeDS。
清单1 – 配置 Spring DispatcherServlet
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论