基于flex4技术从零开发flex博客系统 : 3 使用Remoting服务
2009-05-05 12:04:23 来源:WEB开发网本文源代码下载地址:
http://flashview.ddvip.com/2009_04/flex4-lesson3.zip
在flex中有多种对象可用于与server交互,有URLLoader、HttpService、WebService、RemotingObject、Socket,NetConnection等:
1,URLLoader与HttpService多种于加载静态文本文件。
2,WebService基于soap协议,效率虽不及Remoting,但可移植性好,与平台、语言完全解藕。
3,Remoting采用amf通讯协议,通讯效率被认为是WebServive的10倍。目前已有多种成熟的服务端框架可供选用,.Net有fluorineFx,php有amfphp,java有blazeDS。WebORB同时有支持多个语言的版本,如同pureMVC一般。python、ruby等也均实现了amf。
无论使用哪一种server端语言,Remoting均采用统一的配置。加上目前多种语言已实现amf通讯协议,移植已不成问题。因此,Remoting应该是flex目前最好的与server端交互的方式。
一,在Google App中使用WebORB
既如此,我想把我的hello world程序修改一下,用Remoting与server交互。我采用WebORB做为remoting server,配置步骤如下:
1,下载build of WebORB for Google App Engine解压缩至任何地方
2,把WEB-INF/classes目录的两个文件weborb-acl.xml, weborb-config.xml拷贝到gapp_flexblog/src目录下
3,把WEB-INF/lib目录下的三个jar文件拷贝到war/WEB-INF/lib目录下
4,把WEB-INF/flex目录直接拷贝到war/WEB-INF目录下
5,把WEB-INF/web.xml的内容与war/WEB-INF/web.xml进行merge,完成后内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<!– parameter used by the ActiveMQ broker initializer. The parameter
contains the path to start the broker on –>
<context-param>
<param-name>ActiveMQBrokerPath</param-name>
<param-value>tcp://localhost:61616?trace=true</param-value>
</context-param>
<filter>
<filter-name>fileuploadfilter</filter-name>
<filter-class>weborb.util.upload.MultiPartFilter</filter-class>
<init-param>
<param-name>deleteFiles</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>fileuploadfilter</filter-name>
<url-pattern>*.wo</url-pattern>
</filter-mapping>
<listener>
<listener-class>weborb.thirdparty.ActiveMQStarter</listener-class>
</listener>
<listener>
<listener-class>weborb.ORBServletContextListener</listener-class>
</listener>
<!– Servlets –>
<servlet>
<servlet-name>greetServlet</servlet-name>
<servlet-class>sban.flexblog.server.GreetingServiceImpl</servlet-class>
</servlet>
<servlet>
<servlet-name>helloWorld</servlet-name>
<servlet-class>sban.flexblog.server.HelloWorldServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>weborb</servlet-name>
<servlet-class>weborb.ORBServlet</servlet-class>
<load-on-startup> 1 </load-on-startup>
</servlet>
<servlet>
<servlet-name>download</servlet-name>
<servlet-class>weborb.DownloadServlet</servlet-class>
<load-on-startup> 1 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>download</servlet-name>
<url-pattern>/codegen.wo</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>weborb</servlet-name>
<url-pattern>*.wo</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/gapp_flexblog/greet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>helloWorld</servlet-name>
<url-pattern>/gapp_flexblog/hello</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
更多精彩
赞助商链接