flex是通过amf协议来进行了通信的,是Flash Remoting的核心技术,该协议可以处理复杂的数据类型,也是Adobe独家开发出来的通信协议。
在flex实现中,由flex.messaging.MessageBrokerServlet来处理amf协议请求,同时分别需要提供services-config.xml的配置文件及flex目录来读取诸如remoting-config.xml等配置文件.
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<servlet-class>
flex.messaging.MessageBrokerServlet
</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<init-param>
<param-name>flex.write.path</param-name>
<param-value>/WEB-INF/flex</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
在services-config.xml中添加对romoting-config.xml等的应用。
在flex与java整合的时候还需要在remoting-config.xml中添加对应的destination,用来访问java类对象,
在与java类通信的时候要通过配置<s:RemoteObject>来进行通信,还要配置endpoint="messagebroker/amf"表示在编译过程中,快速指定RemoteObject,进行通信。